import { Command } from '@oclif/core';
import { RootMap } from '../../apis/codiac-api/contracts';
import { CommandBaseExecTenant } from '../../command-base-exec-tenant';
export type CabinetRestoreItem = {
    cabinet: string;
    enterprise: string;
    environment: string;
};
export type CabinetRestoreCandidate = {
    mode: 'cluster' | 'cabinets';
    cluster?: string;
    enterprise?: string;
    cabinets?: CabinetRestoreItem[];
};
export default class CabinetRestore extends CommandBaseExecTenant<CabinetRestoreCandidate> {
    static description: string;
    static aliases: string[];
    static examples: Command.Example[];
    static flags: {
        cluster: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        cabinet: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        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>;
        "take-defaults": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    static args: {};
    captureArgs(): Promise<[Partial<CabinetRestoreCandidate>, boolean]>;
    buildCandidate_silently(partial: Partial<CabinetRestoreCandidate>, rootMap: RootMap): Promise<CabinetRestoreCandidate | undefined>;
    buildCandidate_interactively(partial: Partial<CabinetRestoreCandidate>, takeDefaults: boolean, rootMap: RootMap): Promise<CabinetRestoreCandidate | undefined>;
    buildCommandString(candidate: CabinetRestoreCandidate, cmd: string[]): string[];
    executeTask(candidate: CabinetRestoreCandidate): Promise<void>;
}
