export type ToolCallEvent = {
    toolCallId: string;
    toolName: string;
    toolInfo?: string;
    phase: "start";
    input: string;
} | {
    toolCallId: string;
    toolName: string;
    phase: "end";
    durationMs: number;
    output: string | null;
    error: string | null;
};
export type ToolCallEventSink = (event: ToolCallEvent) => void;
export declare function createToolCallTracker(params: {
    emit: ToolCallEventSink;
    toolCallId?: string;
    toolName: string;
    toolInfo?: string;
    input?: Record<string, unknown>;
    startedAt?: number;
}): {
    start(): void;
    finishSuccess(output: unknown): void;
    finishError(error: unknown): void;
};
