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