import { ReadableStream, type Response } from "./_shims/index.js"; export type ServerSentEvent = { event: string | null; data: string; raw: string[]; }; export declare class Stream implements AsyncIterable { private iterator; controller: AbortController; constructor(iterator: () => AsyncIterator, controller: AbortController); static fromSSEResponse(response: Response, controller: AbortController): Stream; /** * Generates a Stream from a newline-separated ReadableStream * where each item is a JSON value. */ static fromReadableStream(readableStream: ReadableStream, controller: AbortController): Stream; [Symbol.asyncIterator](): AsyncIterator; /** * Splits the stream into two streams which can be * independently read from at different speeds. */ tee(): [Stream, Stream]; /** * Converts this stream to a newline-separated ReadableStream of * JSON stringified values in the stream * which can be turned back into a Stream with `Stream.fromReadableStream()`. */ toReadableStream(): ReadableStream; } export declare function _iterSSEMessages(response: Response, controller: AbortController): AsyncGenerator; /** This is an internal helper function that's just used for testing */ export declare function _decodeChunks(chunks: string[]): string[]; /** * Most browsers don't yet have async iterable support for ReadableStream, * and Node has a very different way of reading bytes from its "ReadableStream". * * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490 */ export declare function readableStreamAsyncIterable(stream: any): AsyncIterableIterator; //# sourceMappingURL=streaming.d.ts.map