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";
 *
 * // Assumes vmw-cluster-01 exists as a cluster in Netbox
 * const vmwCluster01 = netbox.virt.getCluster({
 *     name: "vmw-cluster-01",
 * });
 * const baseVm = vmwCluster01.then(vmwCluster01 => netbox.virt.getVirtualMachines({
 *     nameRegex: "myvm-1",
 *     filters: [{
 *         name: "cluster_id",
 *         value: vmwCluster01.id,
 *     }],
 * }));
 * ```
 */
export declare function getVirtualMachines(args?: GetVirtualMachinesArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualMachinesResult>;
/**
 * A collection of arguments for invoking getVirtualMachines.
 */
export interface GetVirtualMachinesArgs {
    filters?: inputs.virt.GetVirtualMachinesFilter[];
    limit?: number;
    nameRegex?: string;
}
/**
 * A collection of values returned by getVirtualMachines.
 */
export interface GetVirtualMachinesResult {
    readonly filters?: outputs.virt.GetVirtualMachinesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly limit?: number;
    readonly nameRegex?: string;
    readonly vms: outputs.virt.GetVirtualMachinesVm[];
}
/**
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as netbox from "@natzka-oss/pulumi-netbox";
 *
 * // Assumes vmw-cluster-01 exists as a cluster in Netbox
 * const vmwCluster01 = netbox.virt.getCluster({
 *     name: "vmw-cluster-01",
 * });
 * const baseVm = vmwCluster01.then(vmwCluster01 => netbox.virt.getVirtualMachines({
 *     nameRegex: "myvm-1",
 *     filters: [{
 *         name: "cluster_id",
 *         value: vmwCluster01.id,
 *     }],
 * }));
 * ```
 */
export declare function getVirtualMachinesOutput(args?: GetVirtualMachinesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVirtualMachinesResult>;
/**
 * A collection of arguments for invoking getVirtualMachines.
 */
export interface GetVirtualMachinesOutputArgs {
    filters?: pulumi.Input<pulumi.Input<inputs.virt.GetVirtualMachinesFilterArgs>[]>;
    limit?: pulumi.Input<number>;
    nameRegex?: pulumi.Input<string>;
}
