/** @format */
export declare type ProviderName = 'alibaba' | 'baidu' | 'huawei' | 'aws' | 'azure' | 'google' | 'tencent';
export declare enum ProviderObject {
    alibaba = "Alibaba Cloud (alibaba)",
    baidu = "Baidu Cloud (baidu)",
    huawei = "Huawei Cloud (huawei)",
    aws = "AWS (aws)",
    azure = "Azure (azure)",
    google = "Google Cloud (google)",
    tencent = "Tencent Cloud (tencent)"
}
export declare const providerArray: ProviderName[];
export declare type ProviderCollectionConfig = {
    [k in ProviderName]: {
        type: string;
        message: string;
        name: string;
        default: string;
    }[];
};
export declare const providerCollection: ProviderCollectionConfig;
export interface AccessFormat {
    AccountID?: string;
    AccessKeyID?: string;
    AccessKeySecret?: string;
    SecretAccessKey?: string;
    KeyVaultName?: string;
    TenantID?: string;
    ClientID?: string;
    ClientSecret?: string;
    SecretID?: string;
    PrivateKeyData?: string;
}
export declare const providerAccessFormat: {
    [k in ProviderName]: (keyof AccessFormat)[];
};
export declare const checkProviderList: {
    type: string;
    name: string;
    message: string;
    choices: {
        name: ProviderObject;
        value: ProviderName;
    }[];
}[];
export declare function getInputData(program: AccessFormat): AccessFormat;
