import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@natzka-oss/pulumi-netbox";
 *
 * // Filter by name
 * const diskByName = netbox.getVirtualDisk({
 *     filters: [{
 *         name: "name",
 *         value: "disk1",
 *     }],
 * });
 * // Filter by tag
 * const diskByTag = netbox.getVirtualDisk({
 *     filters: [{
 *         name: "tag",
 *         value: "production",
 *     }],
 * });
 * // Multiple filters
 * const diskFiltered = netbox.getVirtualDisk({
 *     filters: [
 *         {
 *             name: "name",
 *             value: "disk1",
 *         },
 *         {
 *             name: "tag",
 *             value: "production",
 *         },
 *     ],
 * });
 * // Filter with name regex
 * const diskRegex = netbox.getVirtualDisk({
 *     nameRegex: "^disk[0-9]+",
 *     limit: 10,
 * });
 * ```
 */
export declare function getVirtualDisk(args?: GetVirtualDiskArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualDiskResult>;
/**
 * A collection of arguments for invoking getVirtualDisk.
 */
export interface GetVirtualDiskArgs {
    filters?: inputs.GetVirtualDiskFilter[];
    limit?: number;
    nameRegex?: string;
}
/**
 * A collection of values returned by getVirtualDisk.
 */
export interface GetVirtualDiskResult {
    readonly filters?: outputs.GetVirtualDiskFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly limit?: number;
    readonly nameRegex?: string;
    readonly virtualDisks: outputs.GetVirtualDiskVirtualDisk[];
}
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@natzka-oss/pulumi-netbox";
 *
 * // Filter by name
 * const diskByName = netbox.getVirtualDisk({
 *     filters: [{
 *         name: "name",
 *         value: "disk1",
 *     }],
 * });
 * // Filter by tag
 * const diskByTag = netbox.getVirtualDisk({
 *     filters: [{
 *         name: "tag",
 *         value: "production",
 *     }],
 * });
 * // Multiple filters
 * const diskFiltered = netbox.getVirtualDisk({
 *     filters: [
 *         {
 *             name: "name",
 *             value: "disk1",
 *         },
 *         {
 *             name: "tag",
 *             value: "production",
 *         },
 *     ],
 * });
 * // Filter with name regex
 * const diskRegex = netbox.getVirtualDisk({
 *     nameRegex: "^disk[0-9]+",
 *     limit: 10,
 * });
 * ```
 */
export declare function getVirtualDiskOutput(args?: GetVirtualDiskOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVirtualDiskResult>;
/**
 * A collection of arguments for invoking getVirtualDisk.
 */
export interface GetVirtualDiskOutputArgs {
    filters?: pulumi.Input<pulumi.Input<inputs.GetVirtualDiskFilterArgs>[]>;
    limit?: pulumi.Input<number>;
    nameRegex?: pulumi.Input<string>;
}
