//#region src/cli/shared/prompt.d.ts /** Options accepted by {@link prompt.confirm}. */ export interface ConfirmConfig { message: string; default?: boolean; } /** Options accepted by {@link prompt.text}. */ export interface TextConfig { message: string; default?: string; required?: boolean; validate?: (value: string) => boolean | string | Promise; } /** Options accepted by {@link prompt.password}. */ export interface PasswordConfig { message: string; mask?: boolean | string; validate?: (value: string) => boolean | string | Promise; } /** A selectable entry of {@link SelectConfig.choices}. */ export interface SelectChoice { value: Value; name?: string; description?: string; short?: string; disabled?: boolean | string; } /** Options accepted by {@link prompt.select}. */ export interface SelectConfig { message: string; choices: readonly SelectChoice[]; default?: NoInfer; pageSize?: number; loop?: boolean; } /** * Interactive prompts that fail with an actionable message instead of hanging * when stdin is not a TTY (CI, piped input), and exit with 130 on Ctrl-C. * * The config types are declared here rather than inferred from * `@inquirer/prompts`: inference pulls `@inquirer/*` internals (`Context`, * `Keybinding`, `PartialDeep`) into this public type, and those cannot be * named portably from the published declarations (TS2883). They cover the * options this CLI uses — widen them here when a call site needs more. */ export declare const prompt: { confirm: (config: ConfirmConfig) => Promise; text: (config: TextConfig) => Promise; password: (config: PasswordConfig) => Promise; select: (config: SelectConfig) => Promise; }; //#endregion