import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Get information about a Vultr snapshot.
 *
 * ## Example Usage
 *
 * Get the information for a snapshot by `description`:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as vultr from "@pulumi/vultr";
 *
 * const mySnapshot = vultr.getSnapshot({
 *     filters: [{
 *         name: "description",
 *         values: ["my-snapshot-description"],
 *     }],
 * });
 * ```
 */
export declare function getSnapshot(args?: GetSnapshotArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotResult>;
/**
 * A collection of arguments for invoking getSnapshot.
 */
export interface GetSnapshotArgs {
    /**
     * Query parameters for finding snapshots.
     */
    filters?: inputs.GetSnapshotFilter[];
}
/**
 * A collection of values returned by getSnapshot.
 */
export interface GetSnapshotResult {
    /**
     * The application ID of the snapshot.
     */
    readonly appId: number;
    /**
     * The date the snapshot was added to your Vultr account.
     */
    readonly dateCreated: string;
    /**
     * The description of the snapshot.
     */
    readonly description: string;
    readonly filters?: outputs.GetSnapshotFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The operating system ID of the snapshot.
     */
    readonly osId: number;
    /**
     * The size of the snapshot in bytes.
     */
    readonly size: number;
    /**
     * The status of the snapshot.
     */
    readonly status: string;
}
/**
 * Get information about a Vultr snapshot.
 *
 * ## Example Usage
 *
 * Get the information for a snapshot by `description`:
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as vultr from "@pulumi/vultr";
 *
 * const mySnapshot = vultr.getSnapshot({
 *     filters: [{
 *         name: "description",
 *         values: ["my-snapshot-description"],
 *     }],
 * });
 * ```
 */
export declare function getSnapshotOutput(args?: GetSnapshotOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetSnapshotResult>;
/**
 * A collection of arguments for invoking getSnapshot.
 */
export interface GetSnapshotOutputArgs {
    /**
     * Query parameters for finding snapshots.
     */
    filters?: pulumi.Input<pulumi.Input<inputs.GetSnapshotFilterArgs>[]>;
}
