import { Command } from '@oclif/core';
import { ISecurable } from "@codiac.io/codiac-common/security";
import { CabinetScope } from '../../apis/codiac-relay/contracts';
import { CommandBaseExec } from '../../command-base-exec';
import { InteractionModes } from "../../uilogic/config-ui-utils";
import { AtLeast } from '@codiac.io/codiac-common/contracts';
import { RootMap } from "../../apis/codiac-api/contracts";
import { ILocalEntity } from '../../codiac-entities/i-local-entity';
export type CabinetCreateRequest = CabinetScope & ILocalEntity & ISecurable & {
    enterprise: string;
    cluster: string;
};
export default class CabinetCreate extends CommandBaseExec<CabinetCreateRequest> {
    static description: string;
    static aliases: string[];
    static args: {
        cabinet: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
    };
    static examples: Command.Example[];
    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>;
        environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        cluster: 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>;
        as: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        remember: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        rememberAs: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        unremember: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        withoutdefaults: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
    };
    protected bootstrap(): void;
    captureArgs(): Promise<[Partial<CabinetCreateRequest>, (InteractionModes | undefined), boolean]>;
    validatePartial(partial: CabinetCreateRequest, rootMap: RootMap): Promise<CabinetCreateRequest>;
    buildCandidate_silently(partial: CabinetCreateRequest, rootMap: RootMap): Promise<CabinetCreateRequest>;
    buildCandidate_interactively(partial: AtLeast<CabinetCreateRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<CabinetCreateRequest>;
    buildCommandString(candidate: CabinetCreateRequest, cmd: string[]): string[];
    executeTask(candidate: CabinetCreateRequest): Promise<void>;
}
