import { type SetStateAction } from "react";
import type { Agent, AgentChatMessage, AgentDetails, AgentMetadata } from "../../services/agentService";
import type { useAgentSession } from "./useAgentSession";
type AgentSession = ReturnType<typeof useAgentSession>;
export declare function useAgentSessionFacade(input: {
    agentStub: Agent;
    agentSession: AgentSession;
}): {
    state: import("./types").AgentSessionState;
    actions: import("./useAgentSession").AgentSessionActions;
    commands: import("./types").AgentSessionCommands;
    bindCommands: (commands: Partial<import("./types").AgentSessionCommands>) => void;
    agent: AgentDetails | undefined;
    agentStateRef: import("react").RefObject<AgentDetails | undefined>;
    setAgent: (nextAgent: SetStateAction<AgentDetails | undefined>) => void;
    messages: AgentChatMessage[];
    messagesRef: import("react").RefObject<AgentChatMessage[]>;
    addOptimisticTranscriptMessage: (message: AgentChatMessage) => void;
    removeOptimisticTranscriptMessage: (messageId: string) => void;
    isLoading: boolean;
    isConnecting: boolean;
    isSubmitting: boolean;
    isWaitingForResponse: boolean;
    isStopGuardActive: boolean;
    isAgentThinking: boolean;
    lastRunStatusReason: string | null;
    isExecuting: boolean;
    readOnly: boolean;
    error: string | null;
    setError: (nextError: SetStateAction<string | null>) => void;
    allPendingApprovals: import("./components/ToolCallDisplay").PendingToolCallInfo[];
    hasPendingApprovals: () => boolean;
    setIsConnecting: (isConnecting: boolean) => void;
    setIsSubmitting: (isSubmitting: boolean) => void;
    setIsWaitingForResponse: (isWaitingForResponse: boolean) => void;
    setIsStopGuardActive: (stopGuardActive: boolean) => void;
    setIsAgentThinking: (isAgentThinking: boolean) => void;
    setLastRunStatusReason: (lastStatusReason: string | null) => void;
    agentMetadata: import("../../services/agentService").AgentContextData | null;
    agentMetadataRef: import("react").RefObject<import("../../services/agentService").AgentContextData | null>;
    setAgentMetadata: (nextMetadata: SetStateAction<AgentMetadata | null>) => void;
    operationHistory: import("../../..").EditOperation[];
    queuedPrompts: import("../../services/agentService").QueuedPrompt[];
    costLimitExceeded: import("./types").AgentSessionCostLimitState | null;
    contextWindowStatus: import("./types").AgentSessionContextWindowState | null;
    liveTotals: import("./types").AgentSessionLiveTotalsState | null;
    browserClaimMutationPending: boolean;
    setBrowserClaimMutationPending: (isPending: boolean) => void;
    replaceQueuedPrompts: (queuedPrompts: import("../../services/agentService").QueuedPrompt[]) => void;
};
export {};
