export { probeTerminalModelControl, planTerminalModelControl } from "./terminal-model-control-profile.js"; import { type TerminalModelControlPlan } from "./terminal-model-control-profile.js"; import type { TerminalModelReasoningEffort, TerminalModelNativeEffort, TerminalModelValue, TerminalModelSwitchRequest, CodexNativeModelCatalog, ModelRow, EffortRow, TerminalModelControlObservation, TerminalModelControlCapture, ExactTerminalModelControlObservation, TerminalModelControlSurface } from "./terminal-model-control-contract.js"; /** Pure native surfaces and semantic navigation; this module never performs input. */ export declare function parseCodexNativeModelCatalog(value: unknown): CodexNativeModelCatalog; export declare function observeCodexIdleModel(screen: string, plan?: TerminalModelControlPlan): (TerminalModelValue & { readonly planMode: boolean; }) | undefined; /** * Observe only complete, current model-control modal frames. Historical or * partial picker text is never sufficient to authorize a key dispatch. */ export declare function observeTerminalModelControl(plan: TerminalModelControlPlan, screen: string): TerminalModelControlObservation; export declare function modelControlMoveKeys(currentIndex: number, targetIndex: number): readonly string[]; /** Adapter-owned native navigation; never serialize these keys to a caller. */ export declare function modelControlSelectModelKeys(observation: Extract, model: string): readonly string[]; export declare function selectedClaudeModelId(observation: Extract): string | undefined; export declare function codexModelControlSelectEffortKeys(observation: Extract, effort: TerminalModelReasoningEffort): readonly string[]; export declare function codexModelControlAllModesKeys(observation: Extract): readonly string[]; export declare function claudeModelControlEffortKey(direction: "lower" | "higher"): readonly ["Left" | "Right"]; export declare function claudeModelControlCommitKeys(plan: TerminalModelControlPlan): readonly ["s"]; export declare function isExactTerminalModelControlObservation(observation: TerminalModelControlObservation): observation is ExactTerminalModelControlObservation; /** Pure capture classifier. It never authorizes input by itself. */ export declare function classifyTerminalModelControlSurface(plan: TerminalModelControlPlan, capture: TerminalModelControlCapture): TerminalModelControlSurface; export declare function modelControlHardBlock(capture: TerminalModelControlCapture): Extract | undefined; export declare function modelControlActivityBlock(capture: TerminalModelControlCapture): Extract | undefined; export declare function modelControlPickerKind(observation: ExactTerminalModelControlObservation): "model" | "effort" | "scope"; export declare function classifyModelControlComposerSurface(capture: TerminalModelControlCapture, observation: TerminalModelControlObservation): TerminalModelControlSurface; export declare function modelControlCaptureBlocked(capture: TerminalModelControlCapture): boolean; export declare function observeCodexModelControl(screen: string, plan: TerminalModelControlPlan): TerminalModelControlObservation; export declare function observeClaudeModelControl(screen: string): TerminalModelControlObservation; export declare function codexSemanticModelLabel(label: string, fullscreen: boolean): string | undefined; export declare function parseCodexModelRows(region: readonly string[], fullscreen?: boolean): { rows: readonly ModelRow[]; selectedIndex: number; currentNativeIndex: number; currentModel: string; } | undefined; export declare function parseCodexEntryModelPicker(region: readonly string[]): { kind: "quick_auto" | "luna_reserve"; selectedIndex: number; currentNativeIndex: number; allModelsNativeIndex?: number; } | undefined; export declare function parseCodexEffortRows(region: readonly string[], advanced: boolean): { rows: readonly EffortRow[]; selectedIndex: number; currentEffort?: TerminalModelReasoningEffort; presetDefaultEffort?: TerminalModelReasoningEffort; } | undefined; export declare function currentPickerRegion(lines: readonly string[], headerIndex: number, fullscreen?: boolean): readonly string[] | undefined; export declare function codexFullscreenEffortFooterMatches(region: readonly string[], selected: EffortRow): boolean; export declare function effortFromNativeLabel(label: string): TerminalModelReasoningEffort | undefined; export declare function claudeEffortFromNativeLabel(label: string): TerminalModelNativeEffort | undefined; export declare function claudeSemanticModelId(label: string): string | undefined; export declare function terminalTailLines(screen: string): readonly string[]; export declare function lastIndex(lines: readonly string[], predicate: (line: string) => boolean): number; export declare function screenFingerprint(lines: readonly string[]): string; export declare function stripAnsi(value: string): string; export declare function isPlainRecord(value: unknown): value is Record; export declare function nonBlank(value: unknown): string | undefined; export declare function codexPersistencePostcondition(beforeScreen: string, afterScreen: string, request: TerminalModelSwitchRequest): { proven: true; } | { proven: false; final: boolean; reason: string; }; export declare function matchCount(value: string, pattern: RegExp): number; export declare function escapeRegExp(value: string): string;