import * as pulumi from "@pulumi/pulumi";
/**
 * The provider type for the azuread 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 to decrypt 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 for service principal authentication
     */
    readonly clientId: pulumi.Output<string | undefined>;
    /**
     * The path to a file containing the Client ID which should be used for service principal authentication
     */
    readonly clientIdFilePath: pulumi.Output<string | undefined>;
    /**
     * The application password to use when authenticating as a Service Principal using a Client Secret
     */
    readonly clientSecret: pulumi.Output<string | undefined>;
    /**
     * The path to a file containing the application password to 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: `global` (also `public`), `usgovernmentl4` (also `usgovernment`), `usgovernmentl5` (also `dod`), and `china`. Defaults to `global`. 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 path to a custom endpoint for Managed 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 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 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 Tenant ID which should be used. Works with all authentication methods except Managed Identity
     */
    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>;
    /**
     * 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 to decrypt 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 for service principal authentication
     */
    clientId?: pulumi.Input<string | undefined>;
    /**
     * The path to a file containing the Client ID which should be used for service principal authentication
     */
    clientIdFilePath?: pulumi.Input<string | undefined>;
    /**
     * The application password to use when authenticating as a Service Principal using a Client Secret
     */
    clientSecret?: pulumi.Input<string | undefined>;
    /**
     * The path to a file containing the application password to use when authenticating as a Service Principal using a Client Secret
     */
    clientSecretFilePath?: pulumi.Input<string | undefined>;
    /**
     * Disable the Terraform Partner ID, which is used if a custom `partnerId` isn't specified
     */
    disableTerraformPartnerId?: pulumi.Input<boolean | undefined>;
    /**
     * The cloud environment which should be used. Possible values are: `global` (also `public`), `usgovernmentl4` (also `usgovernment`), `usgovernmentl5` (also `dod`), and `china`. Defaults to `global`. Not used and should not be specified when `metadataHost` is specified.
     */
    environment?: pulumi.Input<string | undefined>;
    /**
     * The Hostname which should be used for the Azure Metadata Service.
     */
    metadataHost?: pulumi.Input<string | undefined>;
    /**
     * The path to a custom endpoint for Managed 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 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 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 Tenant ID which should be used. Works with all authentication methods except Managed Identity
     */
    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 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