import { EventEmitter } from "node:events"; import { Readable } from "node:stream"; import { DTrace, IPluginLogging, IPluginMetrics } from "@bettercorp/service-base"; import { Plugin } from "../index"; export declare class emitStreamAndReceiveStream extends EventEmitter { private readonly staticCommsTimeout; private readonly MAX_CHUNK_SIZE; private readonly CHANNEL_SETUP_TIMEOUT; private log; private metrics; private plugin; private eventsChannel; private streamChannel; private readonly queueOpts; constructor(plugin: Plugin, log: IPluginLogging, metrics: IPluginMetrics); dispose(): void; private setupChannel; private ensureChannels; private sendToQueue; private streamToQueue; receiveStream(trace: DTrace, event: string, listener: { (etrace: DTrace, error: Error | null, stream: Readable): Promise; }, timeoutSeconds?: number): Promise; sendStream(trace: DTrace, event: string, streamId: string, stream: Readable): Promise; }