import { Readable } from 'stream'; export type StreamQueueOptions = { objectMode: boolean; pauseFlowingStream: boolean; resumeFlowingStream: boolean; }; export type StreamQueueFunction = () => Readable; /** Pipe queued streams sequentially */ declare class StreamQueue extends Readable { private _options; private _streams; private _running; private _ending; private _awaitDrain; private _internalStream; private _curStream; get length(): number; constructor(...streams: (Readable | StreamQueueFunction)[]); constructor(options: Partial, ...streams: (Readable | StreamQueueFunction)[]); /** * Queue each stream given in argument * @param streams {Readable|Function} The stream or stream returning function to pipe in * @returns StreamQueue */ queue(...streams: (Readable | StreamQueueFunction)[]): this; _read(): void; private _pipeNextStream; /** * Queue each stream given in argument and end * @param streams {Readable|Function} The stream or stream returning function to pipe in * @returns StreamQueue */ done(...streams: (Readable | StreamQueueFunction)[]): this; } export declare function queueObjectStreams(...streams: (Readable | StreamQueueFunction)[]): any; export declare function queueObjectStreams(options: Partial>, ...streams: (Readable | StreamQueueFunction)[]): any; export declare function queueStreams(...streams: (Readable | StreamQueueFunction)[]): any; export declare function queueStreams(options: Partial, ...streams: (Readable | StreamQueueFunction)[]): any; export { StreamQueue };