import { StreamCallback, StreamInterface } from "./types"; interface constructorParams { broadcast: boolean; onListen?: StreamCallback; onPause?: StreamCallback; onResume?: StreamCallback; onCancel?: StreamCallback; } export default class StreamController { private _srcStream; private _dstStream; private _sink; private _streamProxy; private _done; onListen: StreamCallback | undefined; onPause: StreamCallback | undefined; onResume: StreamCallback | undefined; onCancel: StreamCallback | undefined; private _onListen; private _onPause; private _onResume; private _onCancel; /** * StreamController Constructor * * Controller that allows sending data, error and done events on its stream. * This class is used to control and expose a stream that other code can listen to. * * @param params listeners: onListen, onPause, onResume, onCancel * @template T the type of data to be passed on the stream */ constructor(params?: constructorParams); add(data: T): void; addError(error: string | Error): void; addStream(stream: StreamInterface, options?: { cancelOnError: boolean; }): Promise; close(): void; get stream(): StreamInterface; get sink(): _streamSink; get isPaused(): boolean; get isClosed(): boolean; get done(): Promise; static broadcast(): StreamController; } /** * Object that only contains add, addError and close methods * for a given stream. */ /** @ignore */ declare class _streamSink { private _streamController; constructor(_streamController: StreamController); add(data: T): void; addError(error: string | Error): void; addStream(stream: StreamInterface, options?: { cancelOnError: boolean; }): Promise; close(): void; get done(): Promise; } export {}; //# sourceMappingURL=stream_controller.d.ts.map