import type { PromptInputKey } from '../components/PromptInput.js';
import type { ControlPlaneSessionStoreSnapshot } from '../state/control-plane-session-store.js';
import type { ControlPlanePermissionMode } from '../../client-shared/api/types.js';
export declare function usePromptPickers({ draft, snapshot, clearDraft, onSelectModel, onSelectReasoning, onSelectPermissionMode, onSelectSession, }: {
    draft: string;
    snapshot: ControlPlaneSessionStoreSnapshot;
    clearDraft: () => void;
    onSelectModel: (model: string) => void;
    onSelectReasoning: (reasoningEffort: string) => void;
    onSelectPermissionMode: (mode: ControlPlanePermissionMode) => void;
    onSelectSession: (sessionId: string) => void;
}): {
    model: {
        query: string | undefined;
        items: import("../../core/llm/models/model-policy-service.js").CredentialAwareModelOption[];
        highlightedIndex: number;
        highlighted: import("../../core/llm/models/model-policy-service.js").CredentialAwareModelOption;
        resetIndex: () => void;
    };
    reasoning: {
        query: string | undefined;
        items: import("../../core/llm/models/model-policy-service.js").ReasoningEffortOption[];
        highlightedIndex: number;
        highlighted: import("../../core/llm/models/model-policy-service.js").ReasoningEffortOption;
        resetIndex: () => void;
    };
    permissionMode: {
        query: string | undefined;
        items: import("../../core/approvals/index.js").AutonomyPermissionModeOption[];
        highlightedIndex: number;
        highlighted: import("../../core/approvals/index.js").AutonomyPermissionModeOption;
        resetIndex: () => void;
    };
    session: {
        query: string | undefined;
        items: import("../services/pickers/picker-service.js").CliV2SessionPickerItem[];
        highlightedIndex: number;
        highlighted: import("../services/pickers/picker-service.js").CliV2SessionPickerItem;
        resetIndex: () => void;
    };
    visible: boolean;
    handleSpecialKey: (_input: string, key: PromptInputKey) => boolean;
    submitSelection: () => boolean;
};
//# sourceMappingURL=usePromptPickers.d.ts.map