import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Retrieves information about a specific VM.
 */
export declare function getVm(args: GetVmArgs, opts?: pulumi.InvokeOptions): Promise<GetVmResult>;
/**
 * A collection of arguments for invoking getVm.
 */
export interface GetVmArgs {
    /**
     * The unique identifier of the VM in the Proxmox cluster.
     */
    id: number;
    /**
     * The name of the node where the VM is provisioned.
     */
    nodeName: string;
    timeouts?: inputs.GetVmTimeouts;
}
/**
 * A collection of values returned by getVm.
 */
export interface GetVmResult {
    /**
     * The CD-ROM configuration.
     */
    readonly cdrom: {
        [key: string]: outputs.GetVmCdrom;
    };
    /**
     * The CPU configuration.
     */
    readonly cpu: outputs.GetVmCpu;
    /**
     * The description of the VM.
     */
    readonly description: string;
    /**
     * The unique identifier of the VM in the Proxmox cluster.
     */
    readonly id: number;
    /**
     * The name of the VM.
     */
    readonly name: string;
    /**
     * The name of the node where the VM is provisioned.
     */
    readonly nodeName: string;
    /**
     * The RNG (Random Number Generator) configuration.
     */
    readonly rng: outputs.GetVmRng;
    /**
     * The status of the VM (e.g., `running`, `stopped`).
     */
    readonly status: string;
    /**
     * The tags assigned to the VM.
     */
    readonly tags: string[];
    /**
     * Whether the VM is a template.
     */
    readonly template: boolean;
    readonly timeouts?: outputs.GetVmTimeouts;
    /**
     * The VGA configuration.
     */
    readonly vga: outputs.GetVmVga;
}
/**
 * Retrieves information about a specific VM.
 */
export declare function getVmOutput(args: GetVmOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetVmResult>;
/**
 * A collection of arguments for invoking getVm.
 */
export interface GetVmOutputArgs {
    /**
     * The unique identifier of the VM in the Proxmox cluster.
     */
    id: pulumi.Input<number>;
    /**
     * The name of the node where the VM is provisioned.
     */
    nodeName: pulumi.Input<string>;
    timeouts?: pulumi.Input<inputs.GetVmTimeoutsArgs | undefined>;
}
//# sourceMappingURL=getVm.d.ts.map