import type { MaybePromiseLike } from "@yume-chan/async"; import type { QueuingStrategy, ReadableStreamDefaultController } from "./stream.js"; import { ReadableStream } from "./stream.js"; export type WrapReadableStreamStart = (controller: ReadableStreamDefaultController) => MaybePromiseLike>; export interface ReadableStreamWrapper { start: WrapReadableStreamStart; cancel?: (reason?: unknown) => MaybePromiseLike; close?: () => MaybePromiseLike; error?: (reason?: unknown) => MaybePromiseLike; } /** * This class has multiple usages: * * 1. Get notified when the stream is cancelled or closed. * 2. Synchronously create a `ReadableStream` by asynchronously return another `ReadableStream`. * 3. Convert native `ReadableStream`s to polyfilled ones so they can `pipe` between. */ export declare class WrapReadableStream extends ReadableStream { #private; readable: ReadableStream; constructor(wrapper: ReadableStream | WrapReadableStreamStart | ReadableStreamWrapper, strategy?: QueuingStrategy); } //# sourceMappingURL=wrap-readable.d.ts.map