import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * The properties of a storage account’s Blob service.
 *
 * Uses Azure REST API version 2024-01-01. In version 2.x of the Azure Native provider, it used API version 2022-09-01.
 *
 * Other available API versions: 2022-09-01, 2023-01-01, 2023-04-01, 2023-05-01, 2025-01-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native storage [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class BlobServiceProperties extends pulumi.CustomResource {
    /**
     * Get an existing BlobServiceProperties resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BlobServiceProperties;
    /**
     * Returns true if the given object is an instance of BlobServiceProperties.  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 BlobServiceProperties;
    /**
     * Deprecated in favor of isVersioningEnabled property.
     */
    readonly automaticSnapshotPolicyEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * The blob service properties for change feed events.
     */
    readonly changeFeed: pulumi.Output<outputs.storage.ChangeFeedResponse | undefined>;
    /**
     * The blob service properties for container soft delete.
     */
    readonly containerDeleteRetentionPolicy: pulumi.Output<outputs.storage.DeleteRetentionPolicyResponse | undefined>;
    /**
     * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
     */
    readonly cors: pulumi.Output<outputs.storage.CorsRulesResponse | undefined>;
    /**
     * DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions.
     */
    readonly defaultServiceVersion: pulumi.Output<string | undefined>;
    /**
     * The blob service properties for blob soft delete.
     */
    readonly deleteRetentionPolicy: pulumi.Output<outputs.storage.DeleteRetentionPolicyResponse | undefined>;
    /**
     * Versioning is enabled if set to true.
     */
    readonly isVersioningEnabled: pulumi.Output<boolean | undefined>;
    /**
     * The blob service property to configure last access time based tracking policy.
     */
    readonly lastAccessTimeTrackingPolicy: pulumi.Output<outputs.storage.LastAccessTimeTrackingPolicyResponse | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * The blob service properties for blob restore policy.
     */
    readonly restorePolicy: pulumi.Output<outputs.storage.RestorePolicyPropertiesResponse | undefined>;
    /**
     * Sku name and tier.
     */
    readonly sku: pulumi.Output<outputs.storage.SkuResponse>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Create a BlobServiceProperties 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: BlobServicePropertiesArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a BlobServiceProperties resource.
 */
export interface BlobServicePropertiesArgs {
    /**
     * The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.
     */
    accountName: pulumi.Input<string>;
    /**
     * Deprecated in favor of isVersioningEnabled property.
     */
    automaticSnapshotPolicyEnabled?: pulumi.Input<boolean>;
    /**
     * The name of the blob Service within the specified storage account. Blob Service Name must be 'default'
     */
    blobServicesName?: pulumi.Input<string>;
    /**
     * The blob service properties for change feed events.
     */
    changeFeed?: pulumi.Input<inputs.storage.ChangeFeedArgs>;
    /**
     * The blob service properties for container soft delete.
     */
    containerDeleteRetentionPolicy?: pulumi.Input<inputs.storage.DeleteRetentionPolicyArgs>;
    /**
     * Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service.
     */
    cors?: pulumi.Input<inputs.storage.CorsRulesArgs>;
    /**
     * DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions.
     */
    defaultServiceVersion?: pulumi.Input<string>;
    /**
     * The blob service properties for blob soft delete.
     */
    deleteRetentionPolicy?: pulumi.Input<inputs.storage.DeleteRetentionPolicyArgs>;
    /**
     * Versioning is enabled if set to true.
     */
    isVersioningEnabled?: pulumi.Input<boolean>;
    /**
     * The blob service property to configure last access time based tracking policy.
     */
    lastAccessTimeTrackingPolicy?: pulumi.Input<inputs.storage.LastAccessTimeTrackingPolicyArgs>;
    /**
     * The name of the resource group within the user's subscription. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * The blob service properties for blob restore policy.
     */
    restorePolicy?: pulumi.Input<inputs.storage.RestorePolicyPropertiesArgs>;
}
