import { ICommandArguments, ICommandOptionDefinition, IProfile } from "@zowe/imperative";
import { OptionValidator } from "./OptionValidator";
export declare class OptionUtils {
    /**
     * It is used to add the default value to the description of the option
     *
     * @param defaultValue value
     */
    protected static defaultValueDescription(defaultValue: any): string;
    protected optionValidator: OptionValidator;
    constructor(optionValidator: OptionValidator);
    /**
     * Returns the value of a required option. Precedence: arguments, profile
     *
     * @param isRequired if true, the option is added to missing options if not found
     * @param optionDefinition definition of the specific option
     * @param args list of arguments that contains the option
     * @param profile? profile that contains the option
     * @param baseProfile? base profile that contains the option
     * @param defaultValue default value if not found
     */
    getOption(isRequired: boolean, optionDefinition: ICommandOptionDefinition, args: ICommandArguments, profile?: IProfile, baseProfile?: IProfile, defaultValue?: any): any;
    /**
     * Returns the value of an option passed as an argument in the command. If it's not specified it returns undefined.
     */
    getOptionFromArgument(optionDefinition: ICommandOptionDefinition, args: ICommandArguments): any;
    /**
     * Returns the prefix of the options. It is used when using external profiles (e.g. Endevor, z/OSMF)
     */
    protected getOptionPrefix(): string;
    /**
     * Returns the key of the profile field in camel case. The options created from profiles must always contain the original field name.
     * E.g: 'my-field' in the profile 'my-profile' must be translated to 'my-profile-my-field' so that the field name is 'myField'
     *
     * @param optionDefinition definition of the specific option
     */
    private getProfileFieldName;
}
