import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to access information about an existing Elastic SAN Volume Snapshot.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.elasticsan.get({
 *     name: "existing",
 *     resourceGroupName: "existing",
 * });
 * const exampleGetVolumeGroup = example.then(example => azure.elasticsan.getVolumeGroup({
 *     name: "existing",
 *     elasticSanId: example.id,
 * }));
 * const exampleGetVolumeSnapshot = exampleGetVolumeGroup.then(exampleGetVolumeGroup => azure.elasticsan.getVolumeSnapshot({
 *     name: "existing",
 *     volumeGroupId: exampleGetVolumeGroup.id,
 * }));
 * export const id = exampleGetVolumeSnapshot.then(exampleGetVolumeSnapshot => exampleGetVolumeSnapshot.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ElasticSan` - 2023-01-01
 */
export declare function getVolumeSnapshot(args: GetVolumeSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetVolumeSnapshotResult>;
/**
 * A collection of arguments for invoking getVolumeSnapshot.
 */
export interface GetVolumeSnapshotArgs {
    /**
     * The name of the Elastic SAN Volume Snapshot.
     */
    name: string;
    /**
     * The Elastic SAN Volume Group ID within which the Elastic SAN Volume Snapshot exists.
     */
    volumeGroupId: string;
}
/**
 * A collection of values returned by getVolumeSnapshot.
 */
export interface GetVolumeSnapshotResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    /**
     * The resource ID from which the Snapshot is created.
     */
    readonly sourceId: string;
    /**
     * The size of source volume.
     */
    readonly sourceVolumeSizeInGib: number;
    readonly volumeGroupId: string;
    /**
     * The source volume name of the Snapshot.
     */
    readonly volumeName: string;
}
/**
 * Use this data source to access information about an existing Elastic SAN Volume Snapshot.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.elasticsan.get({
 *     name: "existing",
 *     resourceGroupName: "existing",
 * });
 * const exampleGetVolumeGroup = example.then(example => azure.elasticsan.getVolumeGroup({
 *     name: "existing",
 *     elasticSanId: example.id,
 * }));
 * const exampleGetVolumeSnapshot = exampleGetVolumeGroup.then(exampleGetVolumeGroup => azure.elasticsan.getVolumeSnapshot({
 *     name: "existing",
 *     volumeGroupId: exampleGetVolumeGroup.id,
 * }));
 * export const id = exampleGetVolumeSnapshot.then(exampleGetVolumeSnapshot => exampleGetVolumeSnapshot.id);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.ElasticSan` - 2023-01-01
 */
export declare function getVolumeSnapshotOutput(args: GetVolumeSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVolumeSnapshotResult>;
/**
 * A collection of arguments for invoking getVolumeSnapshot.
 */
export interface GetVolumeSnapshotOutputArgs {
    /**
     * The name of the Elastic SAN Volume Snapshot.
     */
    name: pulumi.Input<string>;
    /**
     * The Elastic SAN Volume Group ID within which the Elastic SAN Volume Snapshot exists.
     */
    volumeGroupId: pulumi.Input<string>;
}
//# sourceMappingURL=getVolumeSnapshot.d.ts.map