import type { Dispatch, MutableRefObject, SetStateAction } from 'react';
import type { AssistantStreamState, MessageEventDetails, ReasoningEventDetails, ToolCallProgress } from './useChatAgent.types';
/**
 * Returns a setter that keeps reasoning events ordered while merging updates.
 */
export declare const createReasoningEventUpdater: (setStreamState: Dispatch<SetStateAction<AssistantStreamState>>) => (event: ReasoningEventDetails) => void;
/**
 * Returns a setter that updates message events in timestamp order.
 */
export declare const createMessageEventUpdater: (setStreamState: Dispatch<SetStateAction<AssistantStreamState>>) => (event: MessageEventDetails) => void;
export interface ToolCallUpdate {
    name: string;
    args?: string;
    status?: string;
    output?: string;
    error?: string;
    timestamp?: number;
    completedAt?: number;
}
interface ToolCallManagerOptions {
    initialLog?: ToolCallProgress[];
    setStreamState: Dispatch<SetStateAction<AssistantStreamState>>;
    snapshotRef: MutableRefObject<ToolCallProgress[]>;
}
/**
 * Manages streaming tool-call updates while keeping a snapshot in sync with React state.
 */
export declare const createToolCallManager: ({ initialLog, setStreamState, snapshotRef }: ToolCallManagerOptions) => {
    sync: (callId: string, update: ToolCallUpdate) => ToolCallProgress;
    reset: (next?: ToolCallProgress[]) => void;
    getSnapshot: () => {
        id: string;
        name: string;
        args: string;
        status: string;
        output?: string;
        error?: string;
        startedAt: number;
        updatedAt: number;
        completedAt?: number;
    }[];
};
export {};
//# sourceMappingURL=responseState.d.ts.map