export declare const CLAUDE_NATIVE_QUESTIONNAIRE_PROFILES: Readonly>; export declare const CODEX_NATIVE_QUESTIONNAIRE_PROFILES: Readonly>; export declare const NATIVE_QUESTIONNAIRE_PROFILES: Readonly<{ readonly claude: string; readonly codex: string; }>; export declare function claudeNativeQuestionnaireProfile(version: string): string | undefined; export declare function codexNativeQuestionnaireProfile(version: string): string | undefined; export type NativeQuestionnaireAgent = "claude" | "codex"; export type NativeQuestionnaireResponseKind = "single_select" | "multi_select" | "free_text" | "confirm"; export type NativeQuestionnaireManualReason = "unsupported_version" | "changed_shape" | "ambiguous_surface" | "secret_input" | "unsupported_multi_select" | "unproven_custom_text_edit" | "unproven_final_confirmation"; export interface NativeQuestionnaireOption { readonly option_id: string; readonly label: string; readonly description?: string; } /** Internal-only normalized current question. It deliberately contains no keys. */ export interface NativeQuestionnaireQuestion { readonly question_id: string; readonly prompt: string; readonly response_kind: NativeQuestionnaireResponseKind; readonly required: boolean; readonly options?: readonly NativeQuestionnaireOption[]; } export interface NativeQuestionnairePromptEvidence { readonly profile: string; readonly exact_region: string; readonly sha256: string; readonly footer?: string; } export type NativeQuestionnaireActionStage = { readonly kind: "key"; readonly key: string; } | { readonly kind: "answer_text"; readonly single_line: true; readonly max_characters: number; }; export interface NativeQuestionnaireChoiceAction { readonly option_id: string; readonly outcome: "submit_or_advance" | "open_custom_text"; readonly stages: readonly NativeQuestionnaireActionStage[]; } /** * Owner-private transport plan. Callers choose semantic ids or booleans; this * object never crosses into a public TerminalInteractionProjection. */ export type NativeQuestionnaireActionPlan = { readonly kind: "single_select"; readonly choices: readonly NativeQuestionnaireChoiceAction[]; } | { readonly kind: "free_text"; readonly stages: readonly NativeQuestionnaireActionStage[]; } | { readonly kind: "confirm"; readonly confirm_stages: readonly NativeQuestionnaireActionStage[]; readonly cancel_stages: readonly NativeQuestionnaireActionStage[]; } | { readonly kind: "manual_only"; }; interface NativeQuestionnaireInspectionBase { readonly agent: NativeQuestionnaireAgent; readonly profile: string; readonly current_step: number; readonly total_steps: number; readonly question: NativeQuestionnaireQuestion; readonly prompt_evidence: NativeQuestionnairePromptEvidence; readonly action_plan: NativeQuestionnaireActionPlan; } export type NativeQuestionnaireInspection = { readonly status: "none"; readonly agent: NativeQuestionnaireAgent; readonly reason: "no_questionnaire_surface"; } | (NativeQuestionnaireInspectionBase & { readonly status: "actionable"; }) | (NativeQuestionnaireInspectionBase & { readonly status: "manual_required"; readonly reason: NativeQuestionnaireManualReason; }); export interface InspectNativeQuestionnaireOptions { readonly agent: NativeQuestionnaireAgent; readonly version: string; readonly screen: string; /** Durable provider metadata must set this for password/secret questions. */ readonly secret?: boolean; } export declare function inspectNativeQuestionnaire(options: InspectNativeQuestionnaireOptions): NativeQuestionnaireInspection; export declare function isSecretQuestion(explicitSecret: boolean | undefined, question: NativeQuestionnaireQuestion): boolean; export {};