// flow-typed signature: e6e6768618776352dd676f63502aea4d // flow-typed version: 40e7dfcbd5/streams/flow_>=v0.261.x type TextEncodeOptions = {options?: boolean, ...}; declare class ReadableStreamController { constructor( stream: ReadableStream, underlyingSource: UnderlyingSource, size: number, highWaterMark: number ): void; desiredSize: number; close(): void; enqueue(chunk: any): void; error(error: Error): void; } declare class ReadableStreamBYOBRequest { constructor(controller: ReadableStreamController, view: $TypedArray): void; view: $TypedArray; respond(bytesWritten: number): ?any; respondWithNewView(view: $TypedArray): ?any; } declare class ReadableByteStreamController extends ReadableStreamController { constructor( stream: ReadableStream, underlyingSource: UnderlyingSource, highWaterMark: number ): void; byobRequest: ReadableStreamBYOBRequest; } declare class ReadableStreamReader { constructor(stream: ReadableStream): void; closed: boolean; cancel(reason: string): void; read(): Promise<{ value: ?any, done: boolean, ... }>; releaseLock(): void; } declare interface UnderlyingSource { autoAllocateChunkSize?: number; type?: string; start?: (controller: ReadableStreamController) => ?Promise; pull?: (controller: ReadableStreamController) => ?Promise; cancel?: (reason: string) => ?Promise; } declare class TransformStream { readable: ReadableStream; writable: WritableStream; } interface PipeThroughTransformStream { readable: ReadableStream; writable: WritableStream; } type PipeToOptions = { preventClose?: boolean, preventAbort?: boolean, preventCancel?: boolean, ... }; type QueuingStrategy = { highWaterMark: number, size(chunk: ?any): number, ... }; declare class ReadableStream { constructor( underlyingSource: ?UnderlyingSource, queuingStrategy: ?QueuingStrategy ): void; locked: boolean; cancel(reason: string): void; getReader(): ReadableStreamReader; pipeThrough(transform: PipeThroughTransformStream, options: ?any): void; pipeTo(dest: WritableStream, options: ?PipeToOptions): Promise; tee(): [ReadableStream, ReadableStream]; } declare interface WritableStreamController { error(error: Error): void; } declare interface UnderlyingSink { autoAllocateChunkSize?: number; type?: string; abort?: (reason: string) => ?Promise; close?: (controller: WritableStreamController) => ?Promise; start?: (controller: WritableStreamController) => ?Promise; write?: (chunk: any, controller: WritableStreamController) => ?Promise; } declare interface WritableStreamWriter { closed: Promise; desiredSize?: number; ready: Promise; abort(reason: string): ?Promise; close(): Promise; releaseLock(): void; write(chunk: any): Promise; } declare class WritableStream { constructor( underlyingSink: ?UnderlyingSink, queuingStrategy: QueuingStrategy ): void; locked: boolean; abort(reason: string): void; getWriter(): WritableStreamWriter; }