import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves information about an existing file in a Proxmox Virtual Environment node.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const ubuntuIso = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "iso",
 *     fileName: "ubuntu-22.04.3-live-server-amd64.iso",
 * });
 * const ubuntuContainerTemplate = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "vztmpl",
 *     fileName: "ubuntu-22.04-standard_22.04-1_amd64.tar.zst",
 * });
 * const cloudInitSnippet = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "snippets",
 *     fileName: "cloud-init-config.yaml",
 * });
 * const importedFile = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "import",
 *     fileName: "imported-config.yaml",
 * });
 * export const ubuntuIsoId = ubuntuIso.then(ubuntuIso => ubuntuIso.id);
 * export const ubuntuIsoSize = ubuntuIso.then(ubuntuIso => ubuntuIso.fileSize);
 * export const containerTemplateFormat = ubuntuContainerTemplate.then(ubuntuContainerTemplate => ubuntuContainerTemplate.fileFormat);
 * const example = new proxmoxve.Vm("example", {
 *     nodeName: "pve",
 *     vmId: 100,
 *     cdrom: [{
 *         fileId: ubuntuIso.then(ubuntuIso => ubuntuIso.id),
 *     }],
 *     cpu: {
 *         cores: 2,
 *     },
 *     memory: [{
 *         dedicated: 2048,
 *     }],
 *     disk: [{
 *         datastoreId: "local-lvm",
 *         fileFormat: "qcow2",
 *         size: 20,
 *     }],
 *     networkDevice: [{
 *         bridge: "vmbr0",
 *     }],
 * });
 * ```
 */
export declare function getFile(args: GetFileArgs, opts?: pulumi.InvokeOptions): Promise<GetFileResult>;
/**
 * A collection of arguments for invoking getFile.
 */
export interface GetFileArgs {
    /**
     * The content type of the file.
     */
    contentType: string;
    /**
     * The identifier of the datastore.
     */
    datastoreId: string;
    /**
     * The name of the file.
     */
    fileName: string;
    /**
     * The name of the node.
     */
    nodeName: string;
}
/**
 * A collection of values returned by getFile.
 */
export interface GetFileResult {
    /**
     * The content type of the file.
     */
    readonly contentType: string;
    /**
     * The identifier of the datastore.
     */
    readonly datastoreId: string;
    /**
     * The format of the file.
     */
    readonly fileFormat: string;
    /**
     * The name of the file.
     */
    readonly fileName: string;
    /**
     * The size of the file in bytes.
     */
    readonly fileSize: number;
    /**
     * The unique identifier of the file (volume ID).
     */
    readonly id: string;
    /**
     * The name of the node.
     */
    readonly nodeName: string;
    /**
     * The VM ID associated with the file (if applicable).
     */
    readonly vmid: number;
}
/**
 * Retrieves information about an existing file in a Proxmox Virtual Environment node.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const ubuntuIso = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "iso",
 *     fileName: "ubuntu-22.04.3-live-server-amd64.iso",
 * });
 * const ubuntuContainerTemplate = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "vztmpl",
 *     fileName: "ubuntu-22.04-standard_22.04-1_amd64.tar.zst",
 * });
 * const cloudInitSnippet = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "snippets",
 *     fileName: "cloud-init-config.yaml",
 * });
 * const importedFile = proxmoxve.getFile({
 *     nodeName: "pve",
 *     datastoreId: "local",
 *     contentType: "import",
 *     fileName: "imported-config.yaml",
 * });
 * export const ubuntuIsoId = ubuntuIso.then(ubuntuIso => ubuntuIso.id);
 * export const ubuntuIsoSize = ubuntuIso.then(ubuntuIso => ubuntuIso.fileSize);
 * export const containerTemplateFormat = ubuntuContainerTemplate.then(ubuntuContainerTemplate => ubuntuContainerTemplate.fileFormat);
 * const example = new proxmoxve.Vm("example", {
 *     nodeName: "pve",
 *     vmId: 100,
 *     cdrom: [{
 *         fileId: ubuntuIso.then(ubuntuIso => ubuntuIso.id),
 *     }],
 *     cpu: {
 *         cores: 2,
 *     },
 *     memory: [{
 *         dedicated: 2048,
 *     }],
 *     disk: [{
 *         datastoreId: "local-lvm",
 *         fileFormat: "qcow2",
 *         size: 20,
 *     }],
 *     networkDevice: [{
 *         bridge: "vmbr0",
 *     }],
 * });
 * ```
 */
export declare function getFileOutput(args: GetFileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFileResult>;
/**
 * A collection of arguments for invoking getFile.
 */
export interface GetFileOutputArgs {
    /**
     * The content type of the file.
     */
    contentType: pulumi.Input<string>;
    /**
     * The identifier of the datastore.
     */
    datastoreId: pulumi.Input<string>;
    /**
     * The name of the file.
     */
    fileName: pulumi.Input<string>;
    /**
     * The name of the node.
     */
    nodeName: pulumi.Input<string>;
}
//# sourceMappingURL=getFile.d.ts.map