import { LogintoCloudProviderRequest } from '../../apis/codiac-relay/contracts';
import { CommandBaseExecTenant } from '../../command-base-exec-tenant';
import { RootMap } from '../../apis/codiac-api/contracts';
import { InteractionModes } from '../../uilogic/config-ui-utils';
export type ICspLoginCandidate = LogintoCloudProviderRequest & {
    proprietaryInput?: {
        [key: string]: any;
    };
};
/** wtf: This because we cant use `CredentialType.client_credentials`.
 *
 * Using the enum `CredentialType.client_credentials` fails with:
 *
 * *"Cannot read properties of undefined (reading 'client_credentials')"*
 */
export declare const CLIENT_CREDENTIALS = "client_credentials";
export default class CspLogin extends CommandBaseExecTenant<ICspLoginCandidate> {
    static description: string;
    static examples: string[];
    static flags: {
        user: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        password: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        "aws-session-token": import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        clientSecret: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        subscriptionId: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
        tenantId: 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: {
        provider: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
    };
    captureArgs(): Promise<[Partial<ICspLoginCandidate>, InteractionModes | undefined, boolean]>;
    buildCandidate_silently(partial: Partial<ICspLoginCandidate>, rootMap: RootMap): Promise<ICspLoginCandidate | undefined>;
    buildCandidate_interactively(partial: Partial<ICspLoginCandidate>, takeDefaults: boolean, rootMap: RootMap): Promise<ICspLoginCandidate | undefined>;
    buildCommandString(candidate: ICspLoginCandidate, cmd: string[]): string[];
    executeTask(candidate: ICspLoginCandidate): Promise<void>;
}
