import { IBetterLogger } from "@codiac.io/codiac-common";
import { IOutputStyler, IUserInputProvider, ValidationResult } from "../ops";
import { SelectOption } from "./entities/prompt-choice";
export type BooleanValidationResult = boolean | ValidationResult;
/** Prompt for a value using a fuzzy-search to show available selections.
 */
export declare class PromptSelectFuzzy<TValue> {
    private logger;
    private _ui;
    private _styler;
    constructor(logger: IBetterLogger, _ui: IUserInputProvider, _styler: IOutputStyler);
    go(controlId: string, prompt: string, suggestOnly: boolean, defaultValue: string | undefined, searchOnRemote: boolean, fetchMethod: (searchString?: string) => Promise<SelectOption<TValue>[]>, validationMethod?: ((candidate: TValue) => BooleanValidationResult)): Promise<TValue | undefined>;
    /** Performs the actual fuzzy-filtering of the already-fetched module-scoped list of available values.  */
    private getFuzzyFilteredChoices;
}
