import { LangMessage, LangMessageItemTool, LangMessages } from "../messages.ts";
/**
 * Handles streaming deltas from OpenAI-compatible chat completions APIs
 * and keeps the LangMessages collection in sync with streamed content.
 */
export declare class OpenAIChatCompletionsStreamHandler {
    newMessage: LangMessage;
    messages: LangMessages;
    onResult?: (result: LangMessage) => void;
    toolCallItems: Map<string, LangMessageItemTool>;
    toolArgBuffers: Map<string, string>;
    reasoningSummaryIndex: Map<string, number>;
    toolCallIndexToId: Map<number, string>;
    constructor(messages: LangMessages, onResult?: (result: LangMessage) => void);
    setOnResult(onResult?: (result: LangMessage) => void): void;
    handleEvent(data: any): void;
    handleNewMessage(): void;
    private getOrCreateTextItem;
    private getOrCreateReasoningItem;
    applyContentDelta(contentDelta: any): void;
    applyTextDelta(delta: string): void;
    applyReasoningDelta(reasoningDelta?: string, reasoningDetails?: any[]): void;
    applyReasoningContentDelta(reasoningContentDelta: any): void;
    applyReasoningTextDelta(delta: string): void;
    applyImageFromUrl(url: string): void;
    applyImageFromBase64(base64: string, mimeType?: string): void;
    applyToolCallsDelta(toolCalls: any[]): void;
    applyToolArgsDelta(toolCallId: string, delta: string): void;
    private getOrCreateToolItem;
    private finalizeToolArguments;
}
