declare function isInteractive(): boolean; /** * Interactive y/n confirmation prompt. * * @example * const ok = await confirm({ message: 'Deploy to production?', defaultValue: false }) */ interface ConfirmOptions { message: string; defaultValue?: boolean; } declare function confirm(options: ConfirmOptions): Promise; /** * Interactive text input prompt. * * @example * const name = await text({ message: 'Plugin name', placeholder: 'my-plugin', validate: v => v ? undefined : 'Required' }) */ interface TextOptions { message: string; placeholder?: string; defaultValue?: string; validate?: (value: string) => string | undefined; mask?: boolean; } declare function text(options: TextOptions): Promise; /** * Interactive arrow-key single-select prompt. * * @example * const env = await select({ * message: 'Select environment', * choices: [{ label: 'development', value: 'dev' }, { label: 'production', value: 'prod' }] * }) */ interface SelectChoice { label: string; value: T; hint?: string; } interface SelectOptions { message: string; choices: SelectChoice[]; initialIndex?: number; } declare function select(options: SelectOptions): Promise; /** * Interactive checkbox multi-select prompt. * Space to toggle, Enter to confirm, 'a' to toggle all. * * @example * const plugins = await multiSelect({ * message: 'Select plugins', * choices: [{ label: 'workflow', value: 'workflow', checked: true }, ...] * }) */ interface MultiSelectChoice { label: string; value: T; checked?: boolean; hint?: string; } interface MultiSelectOptions { message: string; choices: MultiSelectChoice[]; min?: number; } declare function multiSelect(options: MultiSelectOptions): Promise; export { type ConfirmOptions, type MultiSelectChoice, type MultiSelectOptions, type SelectChoice, type SelectOptions, type TextOptions, confirm, isInteractive, multiSelect, select, text };