import { IBetterLogger } from "@codiac.io/codiac-common";
import { UserNameTenantCode } from "@codiac.io/codiac-ops-common";
import { RelayClient as GenRelayClient } from "../../apis/codiac-relay";
import { CloudProviderEnum, ClusterDef, IngressDef, RootMap } from "../../apis/codiac-api/contracts";
import { ClusterCaptureDef } from "../../codiac-entities/cluster-capture-def";
import { IOutputStyler, IUserInputProvider } from "../../ops";
import { ResourceConfiguratorBase } from "../shared/resource-configurator-base";
export declare class OtherClusterConfigurator extends ResourceConfiguratorBase {
    constructor(codiacUser: UserNameTenantCode, genRelayClient: GenRelayClient, ui: IUserInputProvider, styler: IOutputStyler, logger: IBetterLogger);
    get cloudProvider(): CloudProviderEnum;
    defineCluster(initial: Partial<ClusterDef>, defaults?: Partial<ClusterDef>): Promise<{
        spec: ClusterDef;
        defaults: Partial<ClusterDef>;
    }>;
    /**
     * Cluster capture is not applicable for self-managed clusters.
     * Use `cod cluster credentials-set` to register connection credentials instead.
     */
    defineClusterCaptureParams(_initial: Partial<ClusterDef>, _rootMap: RootMap, _defaults?: Partial<ClusterDef>): Promise<{
        spec: ClusterCaptureDef;
        defaults: Partial<ClusterDef>;
    }>;
    promptForIngressSpec(_current?: Partial<IngressDef>): Promise<IngressDef | undefined>;
}
