import { ReadableStreamController } from './ReadableStreamController'; import { ReadableStreamReader } from './ReadableStreamReader'; export interface ReadableStreamSource { start?(controller: ReadableStreamController): Promise; pull?(): Promise; cancel?(): any; } export interface ReadableStreamStrategy { highWaterMark?: number; size?: ReadableStreamSizeAlgorithm; } export declare type ReadableStreamSizeAlgorithm = (chunk: Data) => number; export declare enum ReadableStreamState { Closed = "Closed", Errored = "Errored", Readable = "Readable" } /** * Readable stream. */ export declare class ReadableStream { locked: boolean; private state; private controller; private reader?; private storedError?; constructor(source?: ReadableStreamSource, strategy?: ReadableStreamStrategy); getReader(): Promise>; cancel(reason?: string): Promise; pipeTo(): any; pipeThrough(): any; tee(): any; /** @see https://github.com/nodejs/node/blob/561f7fe941929d6c10b82b8250c04afb0693e4f3/lib/internal/webstreams/readablestream.js#L1559 */ close(): void; private triggerError; private getSizeAlgorithm; }