import { Cache, StateObject } from "@hpcc-js/util";
import { IConnection, IOptions } from "../connection";
import { GetTargetClusterInfo, MachineService } from "../services/wsMachine";
export declare class MachineCache extends Cache<{
    Address: string;
}, Machine> {
    constructor();
}
export interface MachineInfoEx extends GetTargetClusterInfo.MachineInfoEx {
}
export declare class Machine extends StateObject<MachineInfoEx, MachineInfoEx> implements MachineInfoEx {
    protected connection: MachineService;
    readonly Address: string;
    readonly ConfigAddress: string;
    readonly Name: string;
    readonly ProcessType: string;
    readonly DisplayType: string;
    readonly Description: string;
    readonly AgentVersion: string;
    readonly Contact: string;
    readonly Location: string;
    readonly UpTime: string;
    readonly ComponentName: string;
    readonly ComponentPath: string;
    readonly RoxieState: string;
    readonly RoxieStateDetails: string;
    readonly OS: number;
    readonly ProcessNumber: number;
    readonly Processors: GetTargetClusterInfo.Processors;
    readonly Storage: GetTargetClusterInfo.Storage;
    readonly Running: GetTargetClusterInfo.Running;
    readonly PhysicalMemory: GetTargetClusterInfo.PhysicalMemory;
    readonly VirtualMemory: GetTargetClusterInfo.VirtualMemory;
    readonly ComponentInfo: GetTargetClusterInfo.ComponentInfo;
    static attach(optsConnection: IOptions | IConnection | MachineService, address: string, state?: GetTargetClusterInfo.MachineInfoEx): Machine;
    private constructor();
}
//# sourceMappingURL=machine.d.ts.map