/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { InteractionSession } from "#action/Interactable.js";
import { NodeProtocol } from "#action/protocols.js";
import { Read } from "#action/request/Read.js";
import { ReadResult } from "#action/response/ReadResult.js";
import { DataResponse } from "#action/server/DataResponse.js";
/**
 * Implements read of event data for Matter "read" and "subscribe" interactions.
 *
 * We collect all allowed event paths at first and then iterate over all events and use the ones matching to the paths.
 *
 * TODO - profile; ensure nested functions are properly JITed and/or inlined
 */
export declare class EventReadResponse<SessionT extends InteractionSession = InteractionSession> extends DataResponse<SessionT> {
    #private;
    constructor(node: NodeProtocol, session: SessionT);
    process({ eventFilters, eventRequests, isFabricFiltered, }: Read.Events): AsyncGenerator<ReadResult.Chunk, void, void>;
    get counts(): {
        status: number;
        success: number;
        existent: number;
    };
}
//# sourceMappingURL=EventReadResponse.d.ts.map