import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves information about a specific VM.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const testVm = proxmoxve.VM.getVirtualMachine({
 *     nodeName: "test",
 *     vmId: 100,
 * });
 * ```
 */
export declare function getVirtualMachine(args: GetVirtualMachineArgs, opts?: pulumi.InvokeOptions): Promise<GetVirtualMachineResult>;
/**
 * A collection of arguments for invoking getVirtualMachine.
 */
export interface GetVirtualMachineArgs {
    /**
     * The node name.
     */
    nodeName: string;
    /**
     * Status of the VM
     */
    status?: string;
    /**
     * Is VM a template (true) or a regular VM (false)
     */
    template?: boolean;
    /**
     * The VM identifier.
     */
    vmId: number;
}
/**
 * A collection of values returned by getVirtualMachine.
 */
export interface GetVirtualMachineResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The virtual machine name.
     */
    readonly name: string;
    readonly nodeName: string;
    /**
     * Status of the VM
     */
    readonly status?: string;
    /**
     * A list of tags of the VM.
     */
    readonly tags: string[];
    /**
     * Is VM a template (true) or a regular VM (false)
     */
    readonly template?: boolean;
    readonly vmId: number;
}
/**
 * Retrieves information about a specific VM.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const testVm = proxmoxve.VM.getVirtualMachine({
 *     nodeName: "test",
 *     vmId: 100,
 * });
 * ```
 */
export declare function getVirtualMachineOutput(args: GetVirtualMachineOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVirtualMachineResult>;
/**
 * A collection of arguments for invoking getVirtualMachine.
 */
export interface GetVirtualMachineOutputArgs {
    /**
     * The node name.
     */
    nodeName: pulumi.Input<string>;
    /**
     * Status of the VM
     */
    status?: pulumi.Input<string>;
    /**
     * Is VM a template (true) or a regular VM (false)
     */
    template?: pulumi.Input<boolean>;
    /**
     * The VM identifier.
     */
    vmId: pulumi.Input<number>;
}
