import { ParamDefinition, ParamDefinitions, ParamDefinitionsMap, RuntimeArgs, ShortParamSubstitutions, TaskArguments, TaskDefinition } from "../../types";
export declare class ArgumentsParser {
    static readonly PARAM_PREFIX = "--";
    static readonly SHORT_PARAM_PREFIX = "-";
    static paramNameToCLA(paramName: string): string;
    static shortParamNameToCLA(paramName?: string): string;
    static cLAToParamName(cLA: string): string;
    _substituteShortParam(arg: string, shortParamSubs: ShortParamSubstitutions): string;
    parseRuntimeArgs(paramDefs: ParamDefinitions, shortParamSubs: ShortParamSubstitutions, envVariableArguments: RuntimeArgs, rawCLAs: string[]): {
        runtimeArgs: RuntimeArgs;
        taskName?: string;
        unparsedCLAs: string[];
    };
    parseTaskArguments(taskDefinition: TaskDefinition, rawCLAs: string[]): TaskArguments;
    _parseTaskParamArguments(taskDefinition: TaskDefinition, rawCLAs: string[]): {
        paramArguments: Record<string, any>;
        rawPositionalArguments: string[];
    };
    _addBuilderDefaultArguments(paramDefs: ParamDefinitions, envVariableArguments: RuntimeArgs, runtimeArgs: Partial<RuntimeArgs>): RuntimeArgs;
    _addTaskDefaultArguments(taskDefinition: TaskDefinition, taskArguments: TaskArguments): void;
    _isCLAParamName(str: string, paramDefinitions: ParamDefinitionsMap): boolean;
    _hasCLAParamNameFormat(str: string): boolean;
    _hasShortParamNameFormat(str: string): boolean;
    _parseArgumentAt(rawCLAs: string[], index: number, paramDefinitions: ParamDefinitionsMap, parsedArguments: TaskArguments): number;
    _parsePositionalParamArgs(rawPositionalParamArgs: string[], positionalParamDefinitions: Array<ParamDefinition<any>>): TaskArguments;
}
