import { ScopedCommandLineAction, type CommandLineParameterProvider, type CommandLineStringListParameter } from '@rushstack/ts-command-line';
import type { ITerminal } from '@rushstack/terminal';
import type { InternalHeftSession } from '../../pluginFramework/InternalHeftSession';
import type { IHeftAction, IHeftActionOptions } from './IHeftAction';
import type { HeftPhase } from '../../pluginFramework/HeftPhase';
export declare function expandPhases(onlyParameter: CommandLineStringListParameter, toParameter: CommandLineStringListParameter, toExceptParameter: CommandLineStringListParameter, internalHeftSession: InternalHeftSession, terminal: ITerminal): Set<HeftPhase>;
export interface IScopingParameters {
    toParameter: CommandLineStringListParameter;
    toExceptParameter: CommandLineStringListParameter;
    onlyParameter: CommandLineStringListParameter;
}
export declare function definePhaseScopingParameters(action: IHeftAction): IScopingParameters;
export declare class RunAction extends ScopedCommandLineAction implements IHeftAction {
    readonly watch: boolean;
    private readonly _internalHeftSession;
    private readonly _terminal;
    private readonly _actionRunner;
    private readonly _toParameter;
    private readonly _toExceptParameter;
    private readonly _onlyParameter;
    private _selectedPhases;
    constructor(options: IHeftActionOptions);
    get selectedPhases(): ReadonlySet<HeftPhase>;
    protected onDefineScopedParameters(scopedParameterProvider: CommandLineParameterProvider): void;
    protected onExecuteAsync(): Promise<void>;
}
//# sourceMappingURL=RunAction.d.ts.map