/** * @link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#fields */ export type SSEFields = 'data' | 'event' | 'id' | 'retry'; /** * @example * const sseObject = { * event: 'delta', * data: '{ key: "world!" }', * }; */ export type SSEOutput = Partial>; export interface StreamOptions { /** * @description 二进制数据的可读流 * @descriptionEn Readable stream of binary data * @link https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream */ readableStream: ReadableStream; /** * @description 支持自定义转换流来转换数据流 * @descriptionEn Support customizable transformStream to transform streams * @default sseTransformStream * @link https://developer.mozilla.org/en-US/docs/Web/API/TransformStream */ transformStream?: TransformStream; /** * @description 用于中断流读取的 AbortSignal * @descriptionEn AbortSignal to cancel stream reading */ signal?: AbortSignal; } type XReadableStream = ReadableStream & AsyncGenerator; /** * @description Transform Uint8Array binary stream to {@link SSEOutput} by default * @warning The `Stream` only support the `utf-8` encoding. More encoding support maybe in the future. */ declare function Stream(options: StreamOptions, config?: { openaiCompatible?: boolean; }): XReadableStream; export default Stream;