import { Transform } from "stream"; import { ChatCompletionChunk } from "openai/resources"; import { ChatToolCall } from "../types"; export declare class ChatCompletionStream extends Transform { constructor(); _transform(chunk: any, encoding: string, callback: Function): void; } export declare class VisionResultStream extends ChatCompletionStream { constructor(); } export declare const streamingResponseHandle: (response: Response, callback: (data: string | null) => void, options?: { spliteStr?: string; prefixStr?: string; endStr?: string; }) => Promise; export declare const streamingResponseCut: (stream: ChatCompletionStream, callback: (data: string | null) => Promise, options?: {}) => Promise; export declare const streamResponseToolCallsFormat: (stream: ChatCompletionStream) => Promise; export declare const streamResponseFormat: (stream: ChatCompletionStream, callbacks?: { onData?: (data: any) => void; onContent?: (data: string) => void; onCut?: (data: string) => void; onToolCall?: (data: { id: string; function: { name: string; arguments?: Record; }; }) => void; }) => Promise; export declare const StreamUtils: { /** * 处理流式响应的函数。 * * 此函数的目的是从流式响应中提取所需的数据或信息。 * 它通过分析流式响应的特定字段或行为,来实现对数据的处理和解析。 * */ handle: (response: Response, callback: (data: string | null) => void, options?: { spliteStr?: string; prefixStr?: string; endStr?: string; }) => Promise; /** * 分割流式响应数据。 * * 该函数用于处理流式响应数据的切割操作。通过指定切割逻辑,可以从一个持续的流式响应中提取出感兴趣的片段。 * 这对于处理大量的实时数据,比如网络传输的音频或视频流,非常有用。 */ cut: (stream: ChatCompletionStream, callback: (data: string | null) => Promise, options?: {}) => Promise; /** * 处理工具调用的格式化函数。 * * 此函数的目的是将工具的调用结果根据特定的格式进行处理和转换, * 以便于后续的使用或展示。它接收一个特定格式的工具调用响应, * 并返回经过格式化处理的新响应。 */ toolCallsFormat: (stream: ChatCompletionStream) => Promise; /** * 处理响应的格式化函数。 * * 此函数的目的是将响应结果根据特定的格式进行处理和转换, * 以便于后续的使用或展示。它接收一个特定格式的响应,并返回经过格式化处理的新响应。 */ format: (stream: ChatCompletionStream, callbacks?: { onData?: (data: any) => void; onContent?: (data: string) => void; onCut?: (data: string) => void; onToolCall?: (data: { id: string; function: { name: string; arguments?: Record; }; }) => void; }) => Promise; };