import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * The `scaleway.block.Snapshot` data source is used to retrieve information about a Block Storage volume snapshot.
 *
 * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/block-storage/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
 */
export declare function getSnapshot(args?: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotResult>;
/**
 * A collection of arguments for invoking getSnapshot.
 */
export interface GetSnapshotArgs {
    /**
     * The name of the snapshot. Only one of name or snapshotId should be specified.
     */
    name?: string;
    /**
     * The unique identifier of the Project to which the snapshot is associated.
     */
    projectId?: string;
    /**
     * The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified.
     */
    snapshotId?: string;
    /**
     * The unique identifier of the volume from which the snapshot was created.
     */
    volumeId?: string;
    /**
     * ) The zone in which the snapshot exists.
     */
    zone?: string;
}
/**
 * A collection of values returned by getSnapshot.
 */
export interface GetSnapshotResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly imports: outputs.block.GetSnapshotImport[];
    readonly name?: string;
    readonly projectId?: string;
    readonly snapshotId?: string;
    readonly tags: string[];
    readonly volumeId?: string;
    readonly zone?: string;
}
/**
 * The `scaleway.block.Snapshot` data source is used to retrieve information about a Block Storage volume snapshot.
 *
 * Refer to the Block Storage [product documentation](https://www.scaleway.com/en/docs/block-storage/) and [API documentation](https://www.scaleway.com/en/developers/api/block/) for more information.
 */
export declare function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSnapshotResult>;
/**
 * A collection of arguments for invoking getSnapshot.
 */
export interface GetSnapshotOutputArgs {
    /**
     * The name of the snapshot. Only one of name or snapshotId should be specified.
     */
    name?: pulumi.Input<string>;
    /**
     * The unique identifier of the Project to which the snapshot is associated.
     */
    projectId?: pulumi.Input<string>;
    /**
     * The unique identifier of the snapshot. Only one of `name` and `snapshotId` should be specified.
     */
    snapshotId?: pulumi.Input<string>;
    /**
     * The unique identifier of the volume from which the snapshot was created.
     */
    volumeId?: pulumi.Input<string>;
    /**
     * ) The zone in which the snapshot exists.
     */
    zone?: pulumi.Input<string>;
}
