/** * Interactive prompts module for the installer * * Provides arrow key selection in TTY mode with numbered fallback for CI/non-interactive. * Uses Node.js readline module with raw mode for keypress handling. * Supports rendering into SplitPaneLayout's right pane. * * CRITICAL: Raw mode is always cleaned up via try/finally and process exit handlers. */ import type { Runtime, Location } from './types.js'; import type { SplitPaneLayout } from './layout.js'; /** * Check if stdin is a TTY (interactive terminal) */ export declare function isInteractive(): boolean; /** * Option type for selection prompts */ interface SelectOption { label: string; value: T; } /** * Generic option selector that uses arrow keys in TTY, numbered in non-TTY. * Optionally renders into a SplitPaneLayout's right pane. */ export declare function selectOption(prompt: string, options: SelectOption[], layout?: SplitPaneLayout): Promise; /** * Prompt user to select a runtime */ export declare function selectRuntime(mode?: 'install' | 'uninstall', layout?: SplitPaneLayout): Promise; /** * Prompt user to select installation location */ export declare function selectLocation(mode?: 'install' | 'uninstall', layout?: SplitPaneLayout): Promise; /** * Prompt user to confirm an action */ export declare function confirmAction(message: string, layout?: SplitPaneLayout): Promise; export {}; //# sourceMappingURL=prompts.d.ts.map