///
export type StreamMode = "raw" | "tokens";
export interface OpenAIStreamOptions {
/**
* Whether to return tokens or raw events.
*/
mode?: StreamMode;
/**
* A function to run at the end of a stream. This is useful if you want
* to do something with the stream after it's done, like log token usage.
*/
onDone?: () => void | Promise;
/**
* A function that runs for each token. This is useful if you want
* to sum tokens used as they're returned.
*/
onParse?: (token: string) => void | Promise;
}
export type OpenAIStream = (stream: NodeJS.ReadableStream | ReadableStream, options: OpenAIStreamOptions) => ReadableStream;
/**
* A `ReadableStream` of server sent events from the given OpenAI API stream.
*
* @note This can't be done via a generator while using `createParser` because
* there is no way to yield from within the callback.
*/
export declare const EventStream: OpenAIStream;
/**
* A `ReadableStream` of parsed tokens from the given OpenAI API stream.
*/
export declare const TokenStream: OpenAIStream;
/**
* A `ReadableStream` of parsed deltas from the given ChatGPT stream.
*/
export declare const ChatStream: OpenAIStream;