import type { CommandLineFlagParameter, CommandLineIntegerParameter, CommandLineStringParameter, IRequiredCommandLineIntegerParameter } from '@rushstack/ts-command-line';
import { BaseRushAction, type IBaseRushActionOptions } from './BaseRushAction';
import type { IInstallManagerOptions } from '../../logic/base/BaseInstallManagerTypes';
import { type SelectionParameterSet } from '../parsing/SelectionParameterSet';
/**
 * This is the common base class for InstallAction and UpdateAction.
 */
export declare abstract class BaseInstallAction extends BaseRushAction {
    protected readonly _variantParameter: CommandLineStringParameter;
    protected readonly _purgeParameter: CommandLineFlagParameter;
    protected readonly _bypassPolicyParameter: CommandLineFlagParameter;
    protected readonly _noLinkParameter: CommandLineFlagParameter;
    protected readonly _networkConcurrencyParameter: CommandLineIntegerParameter;
    protected readonly _debugPackageManagerParameter: CommandLineFlagParameter;
    protected readonly _maxInstallAttempts: IRequiredCommandLineIntegerParameter;
    protected readonly _ignoreHooksParameter: CommandLineFlagParameter;
    protected readonly _offlineParameter: CommandLineFlagParameter;
    protected _selectionParameters?: SelectionParameterSet;
    constructor(options: IBaseRushActionOptions);
    protected abstract buildInstallOptionsAsync(): Promise<Omit<IInstallManagerOptions, 'subspace'>>;
    protected runAsync(): Promise<void>;
    private _doInstallAsync;
    private _collectTelemetry;
}
//# sourceMappingURL=BaseInstallAction.d.ts.map