/** * Interactive Prompt Utilities * Issue #119: Interactive init support * * Provides readline-based prompts for CLI commands. * Reference implementation: scripts/setup-env.sh */ import { PromptOptions, ConfirmOptions } from '../types'; /** * Close readline interface * Should be called when all prompts are done */ export declare function closeReadline(): void; /** * Expand tilde (~) to home directory * * @param path - Path that may contain tilde * @returns Path with tilde expanded to home directory * * @example * expandTilde('~/repos') // '/Users/xxx/repos' * expandTilde('/absolute/path') // '/absolute/path' */ export declare function expandTilde(path: string): string; /** * Resolve path to absolute path * Handles tilde expansion and relative paths * * @param path - Path to resolve * @returns Absolute path */ export declare function resolvePath(path: string): string; /** * Validate port number * * @param input - Port number as string * @returns Error message or true if valid */ export declare function validatePort(input: string): string | true; /** * Interactive prompt with default value and validation * * @param question - Question to display * @param options - Prompt options (default, validate) * @returns User input or default value * * @example * const port = await prompt('Server port', { default: '3000', validate: validatePort }); */ export declare function prompt(question: string, options?: PromptOptions): Promise; /** * Interactive Yes/No confirmation * * @param question - Question to display * @param options - Confirm options (default) * @returns true for Yes, false for No * * @example * const enableExternal = await confirm('Enable external access?', { default: false }); */ export declare function confirm(question: string, options?: ConfirmOptions): Promise; /** * Check if running in interactive mode (TTY) * * @returns true if stdin is a TTY (interactive terminal) */ export declare function isInteractive(): boolean; //# sourceMappingURL=prompt.d.ts.map