import { IConnection, IOptions } from "../connection";
export declare namespace GetTargetClusterInfo {
    interface TargetClusters {
        Item: string[];
    }
    interface Request {
        TargetClusters?: TargetClusters;
        AddProcessesToFilter?: string;
        ApplyProcessFilter?: boolean;
        GetProcessorInfo?: boolean;
        GetStorageInfo?: boolean;
        LocalFileSystemsOnly?: boolean;
        GetSoftwareInfo?: boolean;
        MemThreshold?: number;
        DiskThreshold?: number;
        CpuThreshold?: number;
        AutoRefresh?: number;
        MemThresholdType?: string;
        DiskThresholdType?: string;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface Columns {
        Item: string[];
    }
    interface Addresses {
        Item: string[];
    }
    interface RequestInfo {
        Addresses: Addresses;
        ClusterType: string;
        Cluster: string;
        OldIP: string;
        Path: string;
        AddProcessesToFilter: string;
        ApplyProcessFilter: boolean;
        GetProcessorInfo: boolean;
        GetStorageInfo: boolean;
        LocalFileSystemsOnly: boolean;
        GetSoftwareInfo: boolean;
        MemThreshold: number;
        DiskThreshold: number;
        CpuThreshold: number;
        AutoRefresh: number;
        MemThresholdType: string;
        DiskThresholdType: string;
        SecurityString: string;
        UserName: string;
        Password: string;
        EnableSNMP: boolean;
    }
    interface ProcessorInfo {
        Type: string;
        Load: number;
    }
    interface Processors {
        ProcessorInfo: ProcessorInfo[];
    }
    interface StorageInfo {
        Description: string;
        Type: string;
        Available: number;
        PercentAvail: number;
        Total: number;
        Failures: number;
    }
    interface Storage {
        StorageInfo: StorageInfo[];
    }
    interface SWRunInfo {
        Name: string;
        Instances: number;
        State: number;
    }
    interface Running {
        SWRunInfo: SWRunInfo[];
    }
    interface PhysicalMemory {
        Description: string;
        Type: string;
        Available: number;
        PercentAvail: number;
        Total: number;
        Failures: number;
    }
    interface VirtualMemory {
        Description: string;
        Type: string;
        Available: number;
        PercentAvail: number;
        Total: number;
        Failures: number;
    }
    interface ComponentInfo {
        Condition: number;
        State: number;
        UpTime: string;
    }
    interface MachineInfoEx {
        Address: string;
        ConfigAddress: string;
        Name: string;
        ProcessType: string;
        DisplayType: string;
        Description: string;
        AgentVersion: string;
        Contact: string;
        Location: string;
        UpTime: string;
        ComponentName: string;
        ComponentPath: string;
        RoxieState: string;
        RoxieStateDetails: string;
        OS: number;
        ProcessNumber: number;
        Processors: Processors;
        Storage: Storage;
        Running: Running;
        PhysicalMemory: PhysicalMemory;
        VirtualMemory: VirtualMemory;
        ComponentInfo: ComponentInfo;
    }
    interface Processes {
        MachineInfoEx: MachineInfoEx[];
    }
    interface TargetClusterInfo {
        Name: string;
        Type: string;
        Processes: Processes;
    }
    interface TargetClusterInfoList {
        TargetClusterInfo: TargetClusterInfo[];
    }
    interface Response {
        Exceptions: Exceptions;
        Columns: Columns;
        RequestInfo: RequestInfo;
        TargetClusterInfoList: TargetClusterInfoList;
        TimeStamp: string;
        AcceptLanguage: string;
    }
}
export declare class MachineService {
    private _connection;
    constructor(optsConnection: IOptions | IConnection);
    GetTargetClusterInfo(request?: GetTargetClusterInfo.Request): Promise<GetTargetClusterInfo.Response>;
}
//# sourceMappingURL=wsMachine.d.ts.map