import type { PermissionGate } from "./detectPermissionGate"; /** * Keystrokes that move the selection from `cursor` to `target` and confirm. * Pure arithmetic on row offsets — the list is vertical and wraps nowhere that * matters, so the shortest path is a straight run of arrows. */ export declare function startupChoiceAnswerKeys(cursor: number, target: number): string; /** * Claim an unnumbered startup choice from rendered screen lines. * * The block is anchored on the cursor row: options are the contiguous rows whose * text begins at exactly the cursor row's text column. That column test is what * separates the options from the prose above them — "Security guide" sits one * column to the left of "No, exit", because the cursor glyph and its trailing * space are what indent the labels. Returns null unless the confirm footer is * present and at least two options share that column. Pure — no I/O. */ export declare function detectStartupChoiceGate(lines: string[]): PermissionGate | null; //# sourceMappingURL=detectStartupChoiceGate.d.ts.map