import { AnyCommandContext } from '../CommandContext';
import { OptionType } from '../constants/OptionType';
import type { CommandOptionChoiceCallable, CommandOptionValue } from '../interfaces/CommandOption';
import { Resolver } from '../interfaces/Resolver';
export declare type StringOption = StringOptionWithChoices | StringOptionWithAutocomplete;
export interface StringOptionWithChoices extends CommandOptionValue<OptionType.STRING, string> {
    choices?: CommandOptionChoiceCallable<string>;
}
export interface StringOptionWithAutocomplete extends CommandOptionValue<OptionType.STRING, string> {
    /** Autocomplete */
    autocomplete?: true;
}
export declare class StringOptionResolver implements Resolver<string> {
    option: OptionType;
    convert: 3;
    resolve(ctx: AnyCommandContext, option: StringOption, input: string): Promise<string>;
}
