import type { Dispatch, SetStateAction } from 'react';
import type { ConversationMessage, ChatState, StreamEvent } from '../../types';
import type { StreamState, EventHandler } from './types';
export declare function handleContentEvent(event: Extract<StreamEvent, {
    type: "content";
}>, streamState: StreamState, onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleToolStartEvent(event: Extract<StreamEvent, {
    type: "tool_start";
}>, streamState: StreamState, onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleToolEndEvent(event: Extract<StreamEvent, {
    type: "tool_end";
}>, streamState: StreamState, _onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleToolErrorEvent(event: Extract<StreamEvent, {
    type: "tool_error";
}>, streamState: StreamState, _onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleDoneEvent(event: Extract<StreamEvent, {
    type: "done";
}>, streamState: StreamState, _onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleHaltEvent(event: Extract<StreamEvent, {
    type: "halt";
}>, _streamState: StreamState, onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare function handleErrorEvent(_event: Extract<StreamEvent, {
    type: "error";
}>, _streamState: StreamState, onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
export declare const eventHandlers: Record<StreamEvent['type'], EventHandler>;
export declare function handleStreamEvent(event: StreamEvent, streamState: StreamState, onMessageUpdate: (message: ConversationMessage) => void, setState: Dispatch<SetStateAction<ChatState>>): void;
//# sourceMappingURL=stream-handlers.d.ts.map