import { CommandLineParser } from '@rushstack/ts-command-line';
import { type ITerminal } from '@rushstack/terminal';
import { RushConfiguration } from '../api/RushConfiguration';
import { Telemetry } from '../logic/Telemetry';
import { RushGlobalFolder } from '../api/RushGlobalFolder';
import { PluginManager } from '../pluginFramework/PluginManager';
import { RushSession } from '../pluginFramework/RushSession';
import type { IBuiltInPluginConfiguration } from '../pluginFramework/PluginLoader/BuiltInPluginLoader';
/**
 * Options for `RushCommandLineParser`.
 */
export interface IRushCommandLineParserOptions {
    cwd: string;
    alreadyReportedNodeTooNewError: boolean;
    builtInPluginConfigurations: IBuiltInPluginConfiguration[];
}
export declare class RushCommandLineParser extends CommandLineParser {
    telemetry: Telemetry | undefined;
    rushGlobalFolder: RushGlobalFolder;
    readonly rushConfiguration: RushConfiguration;
    readonly rushSession: RushSession;
    readonly pluginManager: PluginManager;
    private readonly _debugParameter;
    private readonly _quietParameter;
    private readonly _restrictConsoleOutput;
    private readonly _rushOptions;
    private readonly _terminalProvider;
    private readonly _terminal;
    private readonly _autocreateBuildCommand;
    /**
     * The current working directory that was used to find the Rush configuration.
     */
    get cwd(): string;
    constructor(options?: Partial<IRushCommandLineParserOptions>);
    get isDebug(): boolean;
    get isQuiet(): boolean;
    get terminal(): ITerminal;
    /**
     * Utility to determine if the app should restrict writing to the console.
     */
    static shouldRestrictConsoleOutput(): boolean;
    flushTelemetry(): void;
    executeAsync(args?: string[]): Promise<boolean>;
    protected onExecuteAsync(): Promise<void>;
    private _normalizeOptions;
    private _wrapOnExecuteAsync;
    private _populateActions;
    private _populateScriptActions;
    private _addCommandLineConfigActions;
    private _addCommandLineConfigAction;
    private _getSharedCommandActionOptions;
    private _addGlobalScriptAction;
    private _addPhasedCommandLineConfigAction;
    private _reportErrorAndSetExitCode;
}
//# sourceMappingURL=RushCommandLineParser.d.ts.map