import { useAgentCostLimitWatcher } from "./useAgentCostLimitWatcher";
import { useAgentDraftInitializer } from "./useAgentDraftInitializer";
import { useAgentLoadedRunStateSync } from "./useAgentLoadedRunStateSync";
import { useAgentLoader } from "./useAgentLoader";
import type { AgentSessionActions } from "./useAgentSession";
type DraftInput = Parameters<typeof useAgentDraftInitializer>[0];
type LoadedRunInput = Parameters<typeof useAgentLoadedRunStateSync>[0];
type LoaderInput = Parameters<typeof useAgentLoader>[0];
type CostWatcherInput = Parameters<typeof useAgentCostLimitWatcher>[0];
export declare function useAgentLoadPipeline(input: {
    agent: CostWatcherInput["agent"];
    agentStub: DraftInput["agentStub"];
    initialMetadata: DraftInput["initialMetadata"];
    profiles: DraftInput["profiles"];
    currentItemDescriptor: DraftInput["currentItemDescriptor"];
    buildEditorContextPayload: DraftInput["buildEditorContextPayload"];
    messagesRef: DraftInput["messagesRef"];
    sessionActions: AgentSessionActions;
    setAgent: DraftInput["setAgent"];
    setAgentMetadata: DraftInput["setAgentMetadata"];
    setError: DraftInput["setError"];
    setPrompt: DraftInput["setPrompt"];
    isStoppingRef: LoadedRunInput["isStoppingRef"];
    isWaitingRef: LoadedRunInput["isWaitingRef"];
    setIsWaitingForResponse: LoadedRunInput["setIsWaitingForResponse"];
    setIsConnecting: LoadedRunInput["setIsConnecting"];
    setIsAgentThinking: LoadedRunInput["setIsAgentThinking"];
    seenMessageIdsRef: LoaderInput["seenMessageIdsRef"];
    sanitizeAgentMetadata: LoaderInput["sanitizeAgentMetadata"];
    effectiveIsVisible: boolean;
    sessionCostLimitExceeded: CostWatcherInput["sessionCostLimitExceeded"];
    sessionLiveTotalCost: CostWatcherInput["sessionLiveTotalCost"];
}): {
    loadAgent: ({ silent }?: {
        silent?: boolean;
    }) => Promise<void>;
    reconcileServerStateRef: import("react").RefObject<(() => Promise<void>) | null>;
};
export {};
