///
export type Bytes = string | ArrayBuffer | Uint8Array | Buffer | null | undefined;
export type ServerSentEvent = {
event: string | null;
data: string;
raw: string[];
};
export declare function iterMessages(response: Response, decoder: SSEDecoder, controller: AbortController): AsyncGenerator;
export declare class SSEDecoder {
private data;
private event;
private chunks;
constructor();
decode(line: string): ServerSentEvent | null;
}
/**
* A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
* reading lines from text.
*
* https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
*/
export declare class LineDecoder {
static NEWLINE_CHARS: Set;
static NEWLINE_REGEXP: RegExp;
buffer: string[];
trailingCR: boolean;
textDecoder: any;
constructor();
decode(chunk: Bytes): string[];
decodeText(bytes: Bytes): string;
flush(): 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;