import { BaseCliParam, CliParams } from './types';
export declare class CLIParamsResolver<T extends BaseCliParam<string, any>[], Output extends CliParams<T> = CliParams<T>> {
    private params;
    static create<T extends BaseCliParam<string, any>[]>(...params: T): CLIParamsResolver<T, CliParams<T>>;
    constructor(params: BaseCliParam<string, any>[]);
    /**
     * Format current input params and return it structured by the app params type.
     * @param inputParams current console input arguments
     * @returns CliParamsObject
     */
    resolveParamValue(inputParams?: string[]): Output;
    /**
     * Find the matching param by finding it's key in the current argument
     * Go over the app params and find the CLIParam object representing it
     * @param inputParam The current console argument being parsed
     * @returns The CliParam or undefined if not found
     * @private
     */
    private findMatchingParamToResolve;
    /**
     * Translate BaseCLIParams passed to the constructor to CLIParams
     * @param params User input of CLI params being passed to the constructor
     * @private
     * @returns CLI Params filled with all mandatory data
     */
    private translate;
}
