export declare const NATIVE_APPROVAL_LIMITS: { readonly choices: 16; readonly decisionBytes: 4096; readonly detailsBytes: 65536; readonly exitGraceMs: 2000; readonly identities: 4096; readonly nativeFrameBytes: number; readonly pending: 32; readonly protocolDeadlineMs: 30000; }; export declare const NATIVE_APPROVAL_PROTOCOLS: { readonly claude: null; readonly codex: { readonly argv: readonly ["app-server", "--listen", "stdio://"]; readonly kind: "codex-app-server-v1"; }; readonly muse: null; readonly pi: null; readonly cursor: null; readonly antigravity: null; readonly popeye: null; }; export declare const NATIVE_APPROVAL_REQUEST_IDS: { readonly initialize: "hcn-initialize"; readonly resume: "hcn-resume"; readonly start: "hcn-turn"; }; export type ApprovalCategory = "command" | "file-change" | "permissions"; export interface ApprovalChoice { readonly id: string; readonly label: string; readonly scope: "once" | "turn" | "session" | "persistent" | "deny" | "cancel"; } export type NativeApprovalEvent = { readonly category: ApprovalCategory; readonly choices: readonly ApprovalChoice[]; readonly details: string; readonly kind: "approval-request"; readonly requestId: string; /** The exact resumable thread ID, not Codex's root-group sessionId. */ readonly sessionId: string; readonly turnId: string; readonly v: 1; } | { readonly id: string | null; readonly kind: "approval-disposition"; readonly reason?: string; readonly requestId: string | null; readonly status: "sent" | "rejected"; readonly v: 1; } | { readonly kind: "approval-cleared"; readonly reason: "native-resolved" | "turn-ended" | "process-ended" | "channel-failed"; readonly requestId: string; readonly v: 1; }; export type NativeApprovalPhase = "preflight" | "initialize" | "resume" | "turn-start" | "running"; export type NativeApprovalFailureReason = "approval-channel-lost" | "inactivity" | "native-process-ended" | "native-process-failed" | "native-protocol-failed" | "native-protocol-timeout" | "native-settings-changed" | "native-settings-mismatch" | "native-settings-unavailable" | "request-refused" | "spawn-failed" | "timeout" | "unsupported-native-interaction"; export type NativeApprovalSubmission = "not-submitted" | "submission-unknown" | "acknowledged"; /** Evidence for one owned attempt. Unknown submission never authorizes replay. */ export interface NativeApprovalFailure { readonly phase: NativeApprovalPhase; readonly process: "not-attempted" | "not-started" | "started" | "unknown"; readonly prompt: NativeApprovalSubmission; readonly reason: NativeApprovalFailureReason; } export declare const NATIVE_APPROVAL_METHODS: { readonly command: "item/commandExecution/requestApproval"; readonly fileChange: "item/fileChange/requestApproval"; readonly permissions: "item/permissions/requestApproval"; readonly userInput: "item/tool/requestUserInput"; readonly mcpElicitation: "mcpServer/elicitation/request"; }; //# sourceMappingURL=native-approvals.d.ts.map