import { BaseRushAction } from './BaseRushAction';
import type { RushCommandLineParser } from '../RushCommandLineParser';
/**
 * Shape of "rush list --json" output.
 *
 * It contains parts (with different names) coming from
 * {@link ../../api/RushConfigurationProject#RushConfigurationProject | RushConfigurationProject}.
 */
export interface IJsonEntry {
    name: string;
    version: string;
    /**
     * @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.publishFolder | RushConfigurationProject.publishFolder}
     */
    path: string;
    fullPath: string;
    /**
     * @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.versionPolicyName | RushConfigurationProject.versionPolicyName}
     */
    versionPolicyName: string | undefined;
    /**
     * @see {@link ../../api/VersionPolicy#VersionPolicyDefinitionName | VersionPolicyDefinitionName}
     */
    versionPolicy: string | undefined;
    /**
     * @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.shouldPublish | RushConfigurationProject.shouldPublish}
     */
    shouldPublish: boolean | undefined;
    /**
     * @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.reviewCategory | RushConfigurationProject.reviewCategory}
     */
    reviewCategory: string | undefined;
    /**
     * @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.tags | RushConfigurationProject.tags}
     */
    tags: string[];
    /**
     * @see {@link ../../api/Subspace#Subspace.subspaceName | Subspace.subspaceName}
     */
    subspaceName: string | undefined;
}
export interface IJsonOutput {
    projects: IJsonEntry[];
}
export declare class ListAction extends BaseRushAction {
    private readonly _version;
    private readonly _path;
    private readonly _fullPath;
    private readonly _jsonFlag;
    private readonly _detailedFlag;
    private readonly _selectionParameters;
    constructor(parser: RushCommandLineParser);
    protected runAsync(): Promise<void>;
    private _printJson;
    private _printList;
    private _printListTableAsync;
}
//# sourceMappingURL=ListAction.d.ts.map