import { Validator } from './validators'; export declare const prompter: Prompter; declare type Prompter = { confirmContinue: (message?: string) => Promise; yesOrNo: (message: string, initial?: boolean) => Promise; input: (message: string, ...options: MaybeOptionalInputOptions) => Promise>; pick: (message: string, choices: Choices, ...options: MaybeOptionalPickOptions) => Promise>; }; declare type MaybeAvailableHiddenInputOption = RS extends 'many' ? {} : { hidden?: boolean; }; declare type InitialSelectionOption = { initial?: RS extends 'one' ? number : number[]; }; declare type InitialValueOption = { initial?: T; }; declare type ValidateValueOption = { validate?: Validator; }; declare type TransformOption = { transform: (value: string) => T | Promise; }; declare type MaybeOptionalTransformOption = T extends string ? Partial> : TransformOption; declare type ReturnSizeOption = RS extends 'many' ? { returnSize: 'many'; } : { returnSize?: 'one'; }; declare type Choices = T extends string ? GenericChoice[] | string[] : GenericChoice[]; declare type GenericChoice = { name: string; value: T; hint?: string; disabled?: boolean; }; declare type ReturnSize = 'many' | 'one'; declare type MaybeOptionalInputOptions = RS extends 'many' ? [InputOptions] : T extends string ? [InputOptions?] : [InputOptions]; declare type MaybeOptionalPickOptions = RS extends 'many' ? [PickOptions] : [PickOptions?]; declare type PromptReturn = RS extends 'many' ? T[] : T; declare type PickOptions = ReturnSizeOption & InitialSelectionOption; declare type InputOptions = ReturnSizeOption & ValidateValueOption & InitialValueOption & MaybeOptionalTransformOption & MaybeAvailableHiddenInputOption; export {}; //# sourceMappingURL=prompter.d.ts.map