import type { Logger } from '../logger';
export type CLIPromptsProps = {
    confirm: boolean;
};
type ChoiceValueType = string | number;
export type CLIPromptsChoice<V extends ChoiceValueType> = {
    title: string;
    value: V;
};
type PasswordOptions = Partial<{
    default: string | undefined;
    initial: string;
}>;
type SelectOptions<V extends ChoiceValueType> = Partial<{
    default: V | undefined;
    initial: CLIPromptsChoice<V>;
    choices: CLIPromptsChoice<V>[];
}>;
type TextOptions = Partial<{
    default: string | undefined;
    initial: string;
}>;
export declare class CLIPrompt {
    private _props;
    private _logger;
    constructor(_props: CLIPromptsProps, _logger: Logger);
    confirm(message: string): Promise<boolean>;
    password(message: string, opts?: PasswordOptions): Promise<string | undefined>;
    select<V extends ChoiceValueType = string>(message: string, opts?: SelectOptions<V>): Promise<V | undefined>;
    text(message: string, opts?: TextOptions): Promise<string | undefined>;
    private _prompts;
}
export {};
