import type { ExecutorKind } from "./executors.js"; import type { TerminalNativeInspectionPlan, TerminalScreenInspection } from "./terminal-agent-adapter.js"; import { NativeInspectionSubmissionDiagnostic, TerminalNativeInspectionMaterializationKind } from "./terminal-native-inspection-contract.js"; /** Pure current-frame proofs. Native input remains owned by the inspection bridge. */ export declare const CODEX_COMPOSER_MARKER: RegExp; export declare const CODEX_COMPOSER_FOOTER: RegExp; export declare function assertNativeInspectionComposerSafe(inspection: TerminalScreenInspection, displayName?: string, allowWorkingCodexStatus?: boolean): void; export declare function exactNativeInspectionComposerCapture(agent: ExecutorKind, screen: string, plan: TerminalNativeInspectionPlan): { digest: string; kind: TerminalNativeInspectionMaterializationKind; } | undefined; export declare function exactCodexNativeInspectionComposerCapture(screen: string, plan: TerminalNativeInspectionPlan): { digest: string; kind: TerminalNativeInspectionMaterializationKind; } | undefined; export declare function exactClaudeNativeInspectionComposerCapture(screen: string, plan: TerminalNativeInspectionPlan): { digest: string; kind: TerminalNativeInspectionMaterializationKind; } | undefined; /** * Claude truncates a suggestion row with a Unicode ellipsis at narrow pane * widths. Keep authorization closed by accepting only an exact ordered row or * an explicit ellipsis whose preceding text is an exact, non-trivial prefix of * that same profiled row. A caller still cannot introduce, omit, or reorder a * slash command. */ export declare function closedClaudeNativeStatusSuggestionsMatch(observed: readonly string[], expected: readonly string[] | undefined): boolean; /** * Prove Claude Code's exact current idle input frame. This is shared by every * automated-input path: a loose or historical `❯` prompt is not authority to * inject text into the terminal. */ export declare function isExactClaudeIdleComposer(screen: string): boolean; /** * Compatibility export retained for callers that adopted the native-status * name before the same exact-frame proof was reused by lifecycle handoff. */ export declare function isExactClaudeNativeInspectionIdleComposer(screen: string): boolean; export declare function exactClaudeComposerFrame(screen: string): { lines: string[]; openIndex: number; closeIndex: number; composerRows: string[]; trailing: string[]; } | undefined; export declare function claudeNativeInspectionTrailingIsFooter(lines: readonly string[]): boolean; export declare function isClaudeNativeComposerFooterLine(line: string): boolean; export declare function nativeInspectionScreenFingerprint(screen: string): string; export declare function bareDigestFromNativeInspectionScreenFingerprint(fingerprint: string): string; export declare function stripTerminalEscapeSequences(value: string): string; export declare function exactCodexReadyStyledComposerCapture(screen: string, agentVersion?: string): { digest: string; } | undefined; /** * Infer a viewport only from fixed-width visible-buffer rows. Trimmed captures * deliberately return undefined: a short content row is not proof of a short * terminal. This keeps the fallback provider-neutral and fail-closed only on * positive geometry evidence. */ export declare function inferCodexVisibleViewportColumns(screen: string): number | undefined; export declare function hasTruncatedCodexStatusSessionLine(screen: string): boolean; export declare function codexNativeInspectionComposerMismatchDiagnostic(screen: string, plan: TerminalNativeInspectionPlan): NativeInspectionSubmissionDiagnostic;