//#region src/utils/streaming.d.ts interface StreamingAccumulatorState { content: string; inputTokens: number | null; outputTokens: number | null; totalTokens: number | null; reasoningTokens: number | null; cacheReadTokens: number | null; cacheCreationTokens: number | null; finishReason: string | null; toolCalls: Array>; model: string | null; ttfbMs: number | null; isError: boolean; errorMessage: string | null; } /** * Upper bound on tool calls tracked per streamed response. Indices come from * the provider stream, which may be an untrusted OpenAI-compatible endpoint. */ declare const MAX_STREAM_TOOL_CALLS = 128; declare function isValidToolCallIndex(index: unknown): index is number; declare class StreamingAccumulator { content: string; inputTokens: number | null; outputTokens: number | null; totalTokens: number | null; reasoningTokens: number | null; cacheReadTokens: number | null; cacheCreationTokens: number | null; finishReason: string | null; toolCalls: Array>; model: string | null; ttfbMs: number | null; isError: boolean; errorMessage: string | null; private _startTime; private _firstChunkReceived; constructor(); addContent(chunk: string): void; /** * Set (overwrite) token usage fields. Only non-null values are written, * allowing incremental updates where different streaming events provide * different fields (e.g. Anthropic message_start vs message_delta). */ setUsage(usage: { inputTokens?: number; outputTokens?: number; totalTokens?: number; reasoningTokens?: number; cacheReadTokens?: number; cacheCreationTokens?: number; }): void; addToolCall(toolCall: Record): void; setToolCallAt(index: unknown, toolCall: Record): void; appendToolCallArgs(index: unknown, args: string): void; setError(message: string): void; getState(): StreamingAccumulatorState; get elapsedMs(): number; } //#endregion export { MAX_STREAM_TOOL_CALLS, StreamingAccumulator, StreamingAccumulatorState, isValidToolCallIndex }; //# sourceMappingURL=streaming.d.ts.map