import { Command } from '@oclif/core';
import { HostNameStrategyEnum } from '@codiac.io/codiac-domain/host-name-strategy-enum';
import { RootMap } from '../../apis/codiac-api/contracts';
import { CommandBaseExecTenant } from '../../command-base-exec-tenant';
type HostMapScope = {
    level: string;
    target: string;
    enterprise?: string;
};
type HostMapRequest = {
    domain: string;
    scope: HostMapScope;
    naming: HostNameStrategyEnum;
    isPrivate?: boolean;
    thisMachine?: boolean;
};
export default class HostMap extends CommandBaseExecTenant<HostMapRequest> {
    static description: string;
    static aliases: string[];
    static flags: {
        help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
        naming: 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>;
        cabinet: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        private: 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: {
        domain: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
    };
    static examples: Command.Example[];
    captureArgs(): Promise<[Partial<HostMapRequest>, boolean]>;
    buildCandidate_silently(_partial: Partial<HostMapRequest>, rootMap: RootMap): Promise<HostMapRequest | undefined>;
    buildCandidate_interactively(_partial: Partial<HostMapRequest>, _takeDefaults: boolean, rootMap: RootMap): Promise<HostMapRequest | undefined>;
    buildCommandString(candidate: HostMapRequest, cmd: string[]): string[];
    executeTask(candidate: HostMapRequest): Promise<void>;
    private isLocalMachine;
    private getCabinetScopes;
    private buildPreview;
    private validateGivenNaming;
    private getAvailableTargets;
    parseSelectedTarget(level: "enterprise" | "environment" | "cabinet", selected: string): HostMapScope;
    private validateGivenTarget;
}
export {};
