import { IBetterLogger } from "@codiac.io/codiac-common";
import { CloudProviderEnum, ImageRegistry } from "@codiac.io/codiac-domain";
import { UserNameTenantCode } from "@codiac.io/codiac-ops-common";
import { IRegistryConfigurator } from "../i-registry-configurator";
import { CloudProviderUser, LogintoCloudProviderRequest } from "../../apis/codiac-relay/contracts";
import { IOutputStyler, IUserInputProvider } from "../../ops";
import { RelayClient } from "../../apis/codiac-relay";
import { ILoginConfigurator } from "../i-login-configurator";
/** Walks the user through the selection of an existing
 * or the declaration of a new image registry.
 */
export declare class HelmResourceConfigurator implements IRegistryConfigurator, ILoginConfigurator {
    private codiacUser;
    private relayClient;
    private _ui;
    private _styler;
    private logger;
    constructor(codiacUser: UserNameTenantCode, relayClient: RelayClient, _ui: IUserInputProvider, _styler: IOutputStyler, logger: IBetterLogger);
    readonly cloudProvider = CloudProviderEnum["artifactHub"];
    captureImageRegistry(): Promise<ImageRegistry>;
    assembleLoginRequest(userName: string | undefined, secret: string | undefined, subscriptionId: string | undefined, proprietaryInput: {
        [key: string]: any;
    }): LogintoCloudProviderRequest;
    promptToLogin(providerSubscriptionId?: string, suppressConfirmations?: boolean, providedUserName?: string, providedSecret?: string): Promise<[boolean, CloudProviderUser]>;
    promptToLogout(): Promise<[boolean, string]>;
}
