import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
/**
 * The provider type for the azurerm package. By default, resources use package-wide configuration
 * settings, however an explicit `Provider` instance may be created and passed during resource
 * construction to achieve fine-grained programmatic control over provider settings. See the
 * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
 */
export declare class Provider extends pulumi.ProviderResource {
    /**
     * Returns true if the given object is an instance of Provider.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Provider;
    /**
     * The Azure DevOps Pipeline Service Connection ID.
     */
    readonly adoPipelineServiceConnectionId: pulumi.Output<string | undefined>;
    /**
     * Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     */
    readonly clientCertificate: pulumi.Output<string | undefined>;
    /**
     * The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
     */
    readonly clientCertificatePassword: pulumi.Output<string | undefined>;
    /**
     * The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
     */
    readonly clientCertificatePath: pulumi.Output<string | undefined>;
    /**
     * The Client ID which should be used.
     */
    readonly clientId: pulumi.Output<string | undefined>;
    /**
     * The path to a file containing the Client ID which should be used.
     */
    readonly clientIdFilePath: pulumi.Output<string | undefined>;
    /**
     * The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    readonly clientSecret: pulumi.Output<string | undefined>;
    /**
     * The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    readonly clientSecretFilePath: pulumi.Output<string | undefined>;
    /**
     * The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not used and should not be specified when `metadataHost` is specified.
     */
    readonly environment: pulumi.Output<string | undefined>;
    /**
     * The Hostname which should be used for the Azure Metadata Service.
     */
    readonly metadataHost: pulumi.Output<string | undefined>;
    /**
     * The API version to use for Managed Service Identity (IMDS) - for cases where the default API version is not supported by the endpoint. e.g. for Azure Container Apps.
     */
    readonly msiApiVersion: pulumi.Output<string | undefined>;
    /**
     * The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
     */
    readonly msiEndpoint: pulumi.Output<string | undefined>;
    /**
     * The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.
     */
    readonly oidcRequestToken: pulumi.Output<string | undefined>;
    /**
     * The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect.
     */
    readonly oidcRequestUrl: pulumi.Output<string | undefined>;
    /**
     * The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    readonly oidcToken: pulumi.Output<string | undefined>;
    /**
     * The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    readonly oidcTokenFilePath: pulumi.Output<string | undefined>;
    /**
     * A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     */
    readonly partnerId: pulumi.Output<string | undefined>;
    /**
     * The set of Resource Providers which should be automatically registered for the subscription.
     */
    readonly resourceProviderRegistrations: pulumi.Output<string | undefined>;
    /**
     * The Subscription ID which should be used.
     */
    readonly subscriptionId: pulumi.Output<string | undefined>;
    /**
     * The Tenant ID which should be used.
     */
    readonly tenantId: pulumi.Output<string | undefined>;
    /**
     * Create a Provider resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
    /**
     * This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.
     */
    terraformConfig(): pulumi.Output<Provider.TerraformConfigResult>;
}
/**
 * The set of arguments for constructing a Provider resource.
 */
export interface ProviderArgs {
    /**
     * The Azure DevOps Pipeline Service Connection ID.
     */
    adoPipelineServiceConnectionId?: pulumi.Input<string | undefined>;
    auxiliaryTenantIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Base64 encoded PKCS#12 certificate bundle to use when authenticating as a Service Principal using a Client Certificate
     */
    clientCertificate?: pulumi.Input<string | undefined>;
    /**
     * The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
     */
    clientCertificatePassword?: pulumi.Input<string | undefined>;
    /**
     * The path to the Client Certificate associated with the Service Principal for use when authenticating as a Service Principal using a Client Certificate.
     */
    clientCertificatePath?: pulumi.Input<string | undefined>;
    /**
     * The Client ID which should be used.
     */
    clientId?: pulumi.Input<string | undefined>;
    /**
     * The path to a file containing the Client ID which should be used.
     */
    clientIdFilePath?: pulumi.Input<string | undefined>;
    /**
     * The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    clientSecret?: pulumi.Input<string | undefined>;
    /**
     * The path to a file containing the Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    clientSecretFilePath?: pulumi.Input<string | undefined>;
    /**
     * This will disable the x-ms-correlation-request-id header.
     */
    disableCorrelationRequestId?: pulumi.Input<boolean | undefined>;
    /**
     * This will disable the Terraform Partner ID which is used if a custom `partnerId` isn't specified.
     */
    disableTerraformPartnerId?: pulumi.Input<boolean | undefined>;
    enhancedValidation?: pulumi.Input<inputs.ProviderEnhancedValidation | undefined>;
    /**
     * The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public. Not used and should not be specified when `metadataHost` is specified.
     */
    environment?: pulumi.Input<string | undefined>;
    features?: pulumi.Input<inputs.ProviderFeatures | undefined>;
    /**
     * The Hostname which should be used for the Azure Metadata Service.
     */
    metadataHost?: pulumi.Input<string | undefined>;
    /**
     * The API version to use for Managed Service Identity (IMDS) - for cases where the default API version is not supported by the endpoint. e.g. for Azure Container Apps.
     */
    msiApiVersion?: pulumi.Input<string | undefined>;
    /**
     * The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
     */
    msiEndpoint?: pulumi.Input<string | undefined>;
    /**
     * The bearer token for the request to the OIDC provider. For use when authenticating as a Service Principal using OpenID Connect.
     */
    oidcRequestToken?: pulumi.Input<string | undefined>;
    /**
     * The URL for the OIDC provider from which to request an ID token. For use when authenticating as a Service Principal using OpenID Connect.
     */
    oidcRequestUrl?: pulumi.Input<string | undefined>;
    /**
     * The OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    oidcToken?: pulumi.Input<string | undefined>;
    /**
     * The path to a file containing an OIDC ID token for use when authenticating as a Service Principal using OpenID Connect.
     */
    oidcTokenFilePath?: pulumi.Input<string | undefined>;
    /**
     * A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     */
    partnerId?: pulumi.Input<string | undefined>;
    /**
     * The set of Resource Providers which should be automatically registered for the subscription.
     */
    resourceProviderRegistrations?: pulumi.Input<string | undefined>;
    /**
     * A list of Resource Providers to explicitly register for the subscription, in addition to those specified by the `resourceProviderRegistrations` property.
     */
    resourceProvidersToRegisters?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * Should the AzureRM Provider skip registering all of the Resource Providers that it supports, if they're not already registered?
     *
     * @deprecated This property is deprecated and will be removed in v5.0 of the AzureRM provider. Please use the `resourceProviderRegistrations` property instead.
     */
    skipProviderRegistration?: pulumi.Input<boolean | undefined>;
    /**
     * Should the AzureRM Provider use Azure AD Authentication when accessing the Storage Data Plane APIs?
     */
    storageUseAzuread?: pulumi.Input<boolean | undefined>;
    /**
     * The Subscription ID which should be used.
     */
    subscriptionId?: pulumi.Input<string | undefined>;
    /**
     * The Tenant ID which should be used.
     */
    tenantId?: pulumi.Input<string | undefined>;
    /**
     * Allow Azure AKS Workload Identity to be used for Authentication.
     */
    useAksWorkloadIdentity?: pulumi.Input<boolean | undefined>;
    /**
     * Allow Azure CLI to be used for Authentication.
     */
    useCli?: pulumi.Input<boolean | undefined>;
    /**
     * Allow Managed Service Identity to be used for Authentication.
     */
    useMsi?: pulumi.Input<boolean | undefined>;
    /**
     * Allow OpenID Connect to be used for authentication
     */
    useOidc?: pulumi.Input<boolean | undefined>;
}
export declare namespace Provider {
    /**
     * The results of the Provider.terraformConfig method.
     */
    interface TerraformConfigResult {
        readonly result: {
            [key: string]: any;
        };
    }
}
//# sourceMappingURL=provider.d.ts.map