import { type MutableRefObject, type SetStateAction } from "react";
import type { AgentChatMessage, AgentDetails } from "../../services/agentService";
import type { AgentSessionActions } from "./useAgentSession";
type StateSetter<T> = (next: SetStateAction<T>) => void;
export declare function useAgentRunStartSocketHandler(input: {
    agent: AgentDetails | undefined;
    isStoppingRef: MutableRefObject<boolean>;
    currentRunIdRef: MutableRefObject<string | null>;
    lastSettledRunIdRef: MutableRefObject<string | null>;
    lastSeqRef: MutableRefObject<number>;
    seenMessageIdsRef: MutableRefObject<Set<string>>;
    lastResyncedMessageIdsRef: MutableRefObject<Set<string>>;
    messagesRef: MutableRefObject<AgentChatMessage[]>;
    shouldCreateNewMessageRef: MutableRefObject<boolean>;
    isWaitingRef: MutableRefObject<boolean>;
    actions: AgentSessionActions;
    normalizeRunId: (value: unknown) => string | null;
    noteMissingRunId: (source: string) => void;
    setAgent: StateSetter<AgentDetails | undefined>;
    setLastRunStatusReason: (reason: string | null) => void;
    setIsConnecting: (isConnecting: boolean) => void;
    setIsWaitingForResponse: (isWaitingForResponse: boolean) => void;
    setIsAgentThinking: (isAgentThinking: boolean) => void;
}): (messageType: string, payload: any) => boolean;
export {};
