import { CloudProviderEnum, ClusterDef, IngressDef, RootMap } from "../apis/codiac-api/contracts";
import { CspPrimaryCredsMeta } from "../apis/codiac-relay/contracts";
import { ClusterCaptureDef } from "../codiac-entities/cluster-capture-def";
/** A UI implementation for declaring an image registry. */
export interface IClusterConfigurator {
    get cloudProvider(): CloudProviderEnum;
    defineCluster(workingModel: Partial<ClusterDef>, defaults?: Partial<ClusterDef>, cspTenantId?: string): Promise<{
        spec: ClusterDef;
        defaults: Partial<ClusterDef>;
    }>;
    defineClusterCaptureParams(initial: Partial<ClusterDef>, rootMap: RootMap, defaults?: Partial<ClusterDef>, cspTenantId?: string, cspUser?: CspPrimaryCredsMeta): Promise<{
        spec: ClusterCaptureDef;
        defaults: Partial<ClusterDef>;
    }>;
    promptForIngressSpec(current?: Partial<IngressDef>): Promise<IngressDef | undefined>;
}
