import { type CodexProcessKind } from "./codex-session-provider.js"; import type { TerminalAgentAdapter, TerminalApprovalAction, TerminalApprovalPromptEvidence, TerminalCompletionEvidence, TerminalDurableCompletionRequest, TerminalNativeInspectionCapabilities, TerminalNativeInspectionObservation, TerminalNativeInspectionObservationRequest, TerminalNativeInspectionOperation, TerminalNativeInspectionPlan, TerminalScreenInspection, TerminalScreenInspectionOptions, TerminalThreadLifecycleCapabilities, TerminalThreadLifecycleObservation, TerminalThreadLifecycleObservationRequest, TerminalThreadLifecycleOperation, TerminalThreadLifecyclePlan } from "./terminal-agent-adapter.js"; export type CodexApprovalPromptDetection = { approvable: true; key: string; keys: readonly string[]; label: string; choices: readonly TerminalApprovalAction[]; promptKind: string; command?: string; promptEvidence: TerminalApprovalPromptEvidence; } | { approvable: false; reason: string; promptKind?: string; command?: string; }; export interface CreateCodexTerminalAgentAdapterOptions { detectDurableCompletion?: NonNullable["detectDurableCompletion"]>; } export declare const CODEX_NATIVE_INSPECTION_COMPOSER_STABLE_MS = 121; export declare const CODEX_NATIVE_INSPECTION_COMPOSER_SETTLE_TIMEOUT_MS = 2000; export declare function createCodexTerminalAgentAdapter(options?: CreateCodexTerminalAgentAdapterOptions): TerminalAgentAdapter; export declare function probeCodexNativeInspection(agentVersion: string | undefined): TerminalNativeInspectionCapabilities; export declare function planCodexNativeInspection(operation: TerminalNativeInspectionOperation, capabilities: TerminalNativeInspectionCapabilities): TerminalNativeInspectionPlan; export declare function observeCodexNativeInspection(request: TerminalNativeInspectionObservationRequest): TerminalNativeInspectionObservation; export declare function probeCodexThreadLifecycle(agentVersion: string | undefined): TerminalThreadLifecycleCapabilities; export declare function planCodexThreadLifecycle(operation: TerminalThreadLifecycleOperation, capabilities: TerminalThreadLifecycleCapabilities): TerminalThreadLifecyclePlan; export declare function observeCodexThreadLifecycle(request: TerminalThreadLifecycleObservationRequest): TerminalThreadLifecycleObservation; /** @deprecated Pass a typed observation request. */ export declare function observeCodexThreadLifecycle(screen: string, operation: TerminalThreadLifecycleOperation): TerminalThreadLifecycleObservation; export declare const codexTerminalAgentAdapter: TerminalAgentAdapter<"codex_cli">; export declare function inspectCodexScreen(options: TerminalScreenInspectionOptions): TerminalScreenInspection; export declare function detectCodexApprovalPrompt(screen: string): CodexApprovalPromptDetection; export declare function isCodexApprovalPromptVisible(screen: string): boolean; export declare function detectCodexActivityState(screen: string, approval?: CodexApprovalPromptDetection, agentVersion?: string): { state: "awaiting_approval" | "working" | "idle" | "unknown"; reason: string; }; export declare function codexScreenExcerpt(screen: string, maxLength?: number): string; export declare function detectCodexScreenCompletion({ screen, requestText, screenChangedSinceSend }: { screen: string; requestText?: string; screenChangedSinceSend?: boolean; }): TerminalCompletionEvidence | undefined; export declare function detectCodexDurableCompletion(request: TerminalDurableCompletionRequest): TerminalCompletionEvidence | undefined;