import { AtLeast } from '@codiac.io/codiac-common/contracts';
import { RootMap, ScopedHostNameConfig } from '../../apis/codiac-api/contracts';
import { CommandBaseExec } from '../../command-base-exec';
import { InteractionModes } from "../../uilogic/config-ui-utils";
import { HostNameStrategyEnum, ScopeLevel } from '../../apis/codiac-relay/contracts';
import { IOutputStyler } from '../../ops';
export declare class HostNameUiLogic {
    static displayNameFor(shn: ScopedHostNameConfig, styler: IOutputStyler): string;
}
/** Fully declares one and only one ScopedHostNameConfig via a unique index */
export type IHostMappingSpecifier = {
    enterprise: string;
    descriptor?: {
        scope?: ScopeLevel;
        target?: string;
        domainName?: string;
        strategy?: HostNameStrategyEnum;
        thisMachine?: boolean;
    } | undefined;
    id: string | undefined;
};
export default class HostDelete extends CommandBaseExec<IHostMappingSpecifier> {
    static description: string;
    static examples: string[];
    static flags: {
        enterprise: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        domain: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        naming: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        "enterprise-scope": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        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>;
        id: 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<IHostMappingSpecifier>, (InteractionModes | undefined), boolean]>;
    buildCandidate_silently(partial: AtLeast<IHostMappingSpecifier, "enterprise">, rootMap: RootMap): Promise<IHostMappingSpecifier | undefined>;
    buildCandidate_interactively(partial: AtLeast<IHostMappingSpecifier, "enterprise">, rootMap: RootMap, takeDefaults: boolean): Promise<IHostMappingSpecifier | undefined>;
    buildCommandString(candidate: IHostMappingSpecifier, cmd: string[]): string[];
    executeTask(candidate: IHostMappingSpecifier): Promise<void>;
}
