import { EnterpriseVersionConfig, CabinetClusterRoot, RootMap } from '../../apis/codiac-api/contracts';
import { CommandBaseExec, IEnterpriseEntity } from '../../command-base-exec';
import { AtLeast } from '@codiac.io/codiac-common/contracts';
type SnapshotDeployRequest = IEnterpriseEntity & {
    enterprise: string;
    version?: string;
    cabinetName?: string;
    snapshot: EnterpriseVersionConfig;
    cabinet: CabinetClusterRoot;
    envName: string;
    overrideConditions?: boolean;
};
export default class SnapshotDeploy extends CommandBaseExec<SnapshotDeployRequest> {
    static description: string;
    static aliases: never[];
    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>;
        version: 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>;
        "override-conditions": 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: {};
    protected sdlcOnly: boolean;
    captureArgs(): Promise<[Partial<SnapshotDeployRequest>, boolean]>;
    buildCandidate_silently(partial: AtLeast<SnapshotDeployRequest, "enterprise">, rootMap: RootMap): Promise<SnapshotDeployRequest | undefined>;
    buildCandidate_interactively(partial: AtLeast<SnapshotDeployRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<SnapshotDeployRequest | undefined>;
    buildCommandString(candidate: SnapshotDeployRequest, cmd: string[]): string[];
    executeTask(candidate: SnapshotDeployRequest): Promise<void>;
    private reportSkipped;
    private validateCabinet;
    private buildAssetVersionsFromSnapshot;
    private formatDate;
    private countTotalAssets;
}
export {};
