import { type SetStateAction } from "react";
import type { AgentSessionActions } from "./useAgentSession";
import type { AgentSessionActiveInlineDialog, AgentSessionState } from "./types";
export declare function useAgentInlineDialogState(input: {
    activeInlineDialog: AgentSessionState["activeInlineDialog"];
    setSessionActiveInlineDialog: AgentSessionActions["setActiveInlineDialog"];
    onQuestionnaireOpenChange?: (isOpen: boolean) => void;
    /**
     * Fires once when a dialog resolves, before the original onComplete/onCancel
     * runs (result is null on cancel). Single choke point for all resolution
     * routes: the agent:dialog:show wrapper, transcript recovery, and
     * cancelActiveInlineDialog.
     */
    onInlineDialogResolved?: (request: AgentSessionActiveInlineDialog["request"], result: unknown | null) => void;
}): {
    activeInlineDialog: AgentSessionActiveInlineDialog | null;
    activeInlineDialogRef: import("react").RefObject<AgentSessionActiveInlineDialog | null>;
    setActiveInlineDialog: (nextDialog: SetStateAction<AgentSessionState["activeInlineDialog"]>) => void;
    cancelActiveInlineDialog: () => void;
    dialogTerminalInstanceIdRef: import("react").RefObject<string>;
    isQuestionnaireDialogOpen: boolean;
};
