import { EntryValue, choice, IUserInputProvider, IOutputStyler, SelectOption, BooleanValidationResult } from "../ops";
import { FileSelectionOptions, FolderSelectionOptions } from "../ops";
export declare class MockUi implements IUserInputProvider, IOutputStyler {
    constructor();
    private values;
    responses: {
        [id: string]: EntryValue | EntryValue[] | Error;
    };
    setValue(id: string, value: EntryValue | EntryValue[]): void;
    private getValue;
    private getArrayValue;
    userMessage(message: string): void;
    dataOutput(message: string): void;
    prompt<T extends EntryValue>(id: string, prompt: string, required?: boolean | undefined, defaultValue?: T | undefined): Promise<T | undefined>;
    promptPassword(id: string, prompt: string): Promise<string>;
    promptConfirm(id: string, prompt: string, defaultValue?: boolean | undefined): Promise<boolean>;
    promptSelect<T extends EntryValue>(id: string, prompt: string, choices: choice<T>[], multiSelect?: boolean | undefined): Promise<T | undefined>;
    promptSelectFuzzy<T>(id: string, prompt: string, fetchChoices: (searchString?: string) => Promise<SelectOption<T>[]>, suggestOnly?: boolean, defaultValue?: T, searchOnRemote?: boolean, validate?: (candidate: T) => BooleanValidationResult): Promise<T | undefined>;
    promptSelectMulti<T extends EntryValue>(id: string, prompt: string, choices: choice<T>[], loop?: boolean): Promise<T[] | undefined>;
    promptSelectFile(id: string, prompt: string, fileOptions: FileSelectionOptions): Promise<string>;
    promptSelectFolder(id: string, prompt: string, folderOptions: FolderSelectionOptions): Promise<string>;
    bold(content: string): string;
    dim(content: string): string;
    hilite(content: string): string;
    colorGood(content: string): string;
    colorWarning(content: string): string;
    colorCritical(content: string): string;
    openUrl(url: string): Promise<void>;
    startSpinner(userMessage: string): void;
    stopSpinner(userMessage: string): void;
}
