import { AtLeast } from '@codiac.io/codiac-common/contracts';
import { CommandBaseExec, IEnterpriseEntity } from '../../command-base-exec';
import { RootMap } from '../../apis/codiac-api/contracts';
type IClusterInstallRequest = IEnterpriseEntity & {
    enterprise: string;
    clusterName: string;
    asset: string;
    version: string;
    wait?: boolean;
};
export default class ClusterInstall extends CommandBaseExec<IClusterInstallRequest> {
    static description: string;
    static aliases: never[];
    static examples: {
        description: string;
        command: string;
    }[];
    static flags: {
        help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        asset: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        silent: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        echo: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        'to-script': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    static args: {
        cluster: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
    };
    protected infrxAliases: string[] | undefined;
    protected adminOnly: boolean;
    private versionsByAsset;
    captureArgs(): Promise<[Partial<IClusterInstallRequest>, boolean]>;
    buildCandidate_silently(partial: AtLeast<IClusterInstallRequest, 'enterprise'>, rootMap: RootMap): Promise<IClusterInstallRequest | undefined>;
    buildCandidate_interactively(partial: AtLeast<IClusterInstallRequest, 'enterprise'>, rootMap: RootMap, takeDefaults: boolean): Promise<IClusterInstallRequest | undefined>;
    private setAsset;
    private setVersion;
    private loadAssetVersions;
    private promptForClusterName;
    buildCommandString(candidate: IClusterInstallRequest, cmd: string[]): string[];
    executeTask(candidate: IClusterInstallRequest): Promise<void>;
}
export {};
