import * as pulumi from "@pulumi/pulumi";
/**
 * The provider type for the native Azure package.
 */
export declare class Provider extends pulumi.ProviderResource {
    /** @internal */
    static readonly __pulumiType = "azure-native";
    /**
     * 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;
    /**
     * 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);
}
/**
 * The set of arguments for constructing a Provider resource.
 */
export interface ProviderArgs {
    /**
     * Any additional Tenant IDs which should be used for authentication.
     */
    auxiliaryTenantIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The password associated with the Client Certificate. For use when authenticating as a Service Principal using a Client Certificate
     */
    clientCertificatePassword?: pulumi.Input<string>;
    /**
     * 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>;
    /**
     * The Client ID which should be used.
     */
    clientId?: pulumi.Input<string>;
    /**
     * The Client Secret which should be used. For use When authenticating as a Service Principal using a Client Secret.
     */
    clientSecret?: pulumi.Input<string>;
    /**
     * This will disable the Pulumi Partner ID which is used if a custom `partnerId` isn't specified.
     */
    disablePulumiPartnerId?: pulumi.Input<boolean>;
    /**
     * The Cloud Environment which should be used. Possible values are public, usgovernment, and china. Defaults to public.
     */
    environment?: pulumi.Input<string>;
    /**
     * The location to use. ResourceGroups will consult this property for a default location, if one was not supplied explicitly when defining the resource.
     */
    location?: pulumi.Input<string>;
    /**
     * The Hostname of the Azure Metadata Service.
     */
    metadataHost?: pulumi.Input<string>;
    /**
     * The path to a custom endpoint for Managed Service Identity - in most circumstances this should be detected automatically.
     */
    msiEndpoint?: pulumi.Input<string>;
    /**
     * Your cloud service or provider’s bearer token to exchange for an OIDC ID token.
     */
    oidcRequestToken?: pulumi.Input<string>;
    /**
     * The URL to initiate the `oidcRequestToken` OIDC token exchange.
     */
    oidcRequestUrl?: pulumi.Input<string>;
    /**
     * The OIDC token to exchange for an Azure token.
     */
    oidcToken?: pulumi.Input<string>;
    /**
     * A GUID/UUID that is registered with Microsoft to facilitate partner resource usage attribution.
     */
    partnerId?: pulumi.Input<string>;
    /**
     * The Subscription ID which should be used.
     */
    subscriptionId?: pulumi.Input<string>;
    /**
     * The Tenant ID which should be used.
     */
    tenantId?: pulumi.Input<string>;
    /**
     * Allow Managed Service Identity to be used for Authentication.
     */
    useMsi?: pulumi.Input<boolean>;
    /**
     * Allow OpenID Connect (OIDC) to be used for Authentication.
     */
    useOidc?: pulumi.Input<boolean>;
}
