import { Command } from '@oclif/core';
import { ISecurable } from "@codiac.io/codiac-common/security";
import { CommandBaseExec } from '../../command-base-exec';
import { ClusterDef } from "../../apis/codiac-api/contracts";
import { InteractionModes } from "../../uilogic/config-ui-utils";
import { AtLeast } from '@codiac.io/codiac-common/contracts';
import { RootMap, Environment } from "../../apis/codiac-api/contracts";
export type EnvironmentCreateRequest = ISecurable & {
    enterprise: string;
    name: string;
    clusterDefs: ClusterDef[];
    sequence: number;
    enterpriseSource: string;
    thisMachine?: boolean | undefined;
};
export default class EnvironmentCreate extends CommandBaseExec<EnvironmentCreateRequest> {
    static description: string;
    static aliases: string[];
    static args: {
        name: 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>;
        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>;
        cluster: 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>;
    };
    protected bootstrap(): void;
    captureArgs(): Promise<[AtLeast<EnvironmentCreateRequest, "enterprise">, (InteractionModes | undefined), boolean]>;
    validatePartial(partial: Partial<EnvironmentCreateRequest>, rootMap: RootMap): Promise<EnvironmentCreateRequest>;
    buildCandidate_silently(partial: EnvironmentCreateRequest, rootMap: RootMap): Promise<EnvironmentCreateRequest>;
    buildCandidate_interactively(partial: AtLeast<EnvironmentCreateRequest, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<EnvironmentCreateRequest>;
    buildCommandString(candidate: EnvironmentCreateRequest, cmd: string[]): string[];
    candidateToFinalCandidate(candidate: EnvironmentCreateRequest): Environment;
    executeTask(candidate: EnvironmentCreateRequest): Promise<void>;
}
