import { IConnection, IOptions } from "../connection";
export declare namespace TpLogicalClusterQuery {
    interface Request {
        EclServerQueue?: string;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface TpLogicalCluster {
        Name: string;
        Queue: string;
        LanguageVersion: string;
        Process: string;
        Type: string;
    }
    interface TpLogicalClusters {
        TpLogicalCluster: TpLogicalCluster[];
    }
    interface Response {
        Exceptions: Exceptions;
        TpLogicalClusters: TpLogicalClusters;
    }
}
export declare namespace TpServiceQuery {
    interface Request {
        Type?: string;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface TpMachine {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines {
        TpMachine: TpMachine[];
    }
    interface TpDali {
        Name: string;
        Description: string;
        Build: string;
        BackupComputer: string;
        BackupDirectory: string;
        Type: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines;
    }
    interface TpDalis {
        TpDali: TpDali[];
    }
    interface TpMachine2 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines2 {
        TpMachine: TpMachine2[];
    }
    interface TpDfuServer {
        Name: string;
        Description: string;
        Build: string;
        Queue: string;
        Type: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines2;
    }
    interface TpDfuServers {
        TpDfuServer: TpDfuServer[];
    }
    interface TpMachine3 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines3 {
        TpMachine: TpMachine3[];
    }
    interface TpDkcSlave {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines3;
    }
    interface TpDkcSlaves {
        TpDkcSlave: TpDkcSlave[];
    }
    interface TpMachine4 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines4 {
        TpMachine: TpMachine4[];
    }
    interface TpDropZone {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        ECLWatchVisible: boolean;
        UMask: string;
        TpMachines: TpMachines4;
    }
    interface TpDropZones {
        TpDropZone: TpDropZone[];
    }
    interface TpMachine5 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines5 {
        TpMachine: TpMachine5[];
    }
    interface TpEclAgent {
        Name: string;
        Description: string;
        Build: string;
        Type: string;
        Path: string;
        DaliServer: string;
        LogDir: string;
        TpMachines: TpMachines5;
    }
    interface TpEclAgents {
        TpEclAgent: TpEclAgent[];
    }
    interface TpMachine6 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines6 {
        TpMachine: TpMachine6[];
    }
    interface TpEclServer {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines6;
    }
    interface TpEclServers {
        TpEclServer: TpEclServer[];
    }
    interface TpMachine7 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines7 {
        TpMachine: TpMachine7[];
    }
    interface TpEclServer2 {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines7;
    }
    interface TpEclCCServers {
        TpEclServer: TpEclServer2[];
    }
    interface TpMachine8 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines8 {
        TpMachine: TpMachine8[];
    }
    interface TpEclScheduler {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines8;
    }
    interface TpEclSchedulers {
        TpEclScheduler: TpEclScheduler[];
    }
    interface TpMachine9 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines9 {
        TpMachine: TpMachine9[];
    }
    interface TpBinding {
        Name: string;
        Service: string;
        ServiceType: string;
        BindingType: string;
        ServiceBuildSet: string;
        Port: string;
        Protocol: string;
    }
    interface TpBindings {
        TpBinding: TpBinding[];
    }
    interface TpEspServer {
        Name: string;
        Description: string;
        Build: string;
        Type: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines9;
        TpBindings: TpBindings;
    }
    interface TpEspServers {
        TpEspServer: TpEspServer[];
    }
    interface TpMachine10 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines10 {
        TpMachine: TpMachine10[];
    }
    interface TpFTSlave {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines10;
    }
    interface TpFTSlaves {
        TpFTSlave: TpFTSlave[];
    }
    interface TpMachine11 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines11 {
        TpMachine: TpMachine11[];
    }
    interface TpGenesisServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines11;
    }
    interface TpGenesisServers {
        TpGenesisServer: TpGenesisServer[];
    }
    interface TpMachine12 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines12 {
        TpMachine: TpMachine12[];
    }
    interface TpLdapServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines12;
    }
    interface TpLdapServers {
        TpLdapServer: TpLdapServer[];
    }
    interface TpMachine13 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines13 {
        TpMachine: TpMachine13[];
    }
    interface TpMySqlServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines13;
    }
    interface TpMySqlServers {
        TpMySqlServer: TpMySqlServer[];
    }
    interface TpMachine14 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines14 {
        TpMachine: TpMachine14[];
    }
    interface TpSashaServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines14;
    }
    interface TpSashaServers {
        TpSashaServer: TpSashaServer[];
    }
    interface ServiceList {
        TpDalis: TpDalis;
        TpDfuServers: TpDfuServers;
        TpDkcSlaves: TpDkcSlaves;
        TpDropZones: TpDropZones;
        TpEclAgents: TpEclAgents;
        TpEclServers: TpEclServers;
        TpEclCCServers: TpEclCCServers;
        TpEclSchedulers: TpEclSchedulers;
        TpEspServers: TpEspServers;
        TpFTSlaves: TpFTSlaves;
        TpGenesisServers: TpGenesisServers;
        TpLdapServers: TpLdapServers;
        TpMySqlServers: TpMySqlServers;
        TpSashaServers: TpSashaServers;
    }
    interface Response {
        Exceptions: Exceptions;
        MemThreshold: number;
        DiskThreshold: number;
        CpuThreshold: number;
        EncapsulatedSystem: boolean;
        EnableSNMP: boolean;
        PreflightProcessFilter: string;
        AcceptLanguage: string;
        MemThresholdType: string;
        DiskThresholdType: string;
        ServiceList: ServiceList;
    }
}
export declare namespace TpTargetClusterQuery {
    interface Request {
        Type?: string;
        Name?: string;
        ShowDetails?: boolean;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface TpMachine {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines {
        TpMachine: TpMachine[];
    }
    interface TpCluster {
        Type: string;
        Name: string;
        QueueName: string;
        Build: string;
        Directory: string;
        LogDirectory: string;
        Desc: string;
        Path: string;
        DataModel: string;
        OS: number;
        HasThorSpareProcess: boolean;
        TpMachines: TpMachines;
    }
    interface TpClusters {
        TpCluster: TpCluster[];
    }
    interface TpMachine2 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines2 {
        TpMachine: TpMachine2[];
    }
    interface TpEclServer {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines2;
    }
    interface TpEclCCServers {
        TpEclServer: TpEclServer[];
    }
    interface TpMachine3 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines3 {
        TpMachine: TpMachine3[];
    }
    interface TpEclServer2 {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines3;
    }
    interface TpEclServers {
        TpEclServer: TpEclServer2[];
    }
    interface TpMachine4 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines4 {
        TpMachine: TpMachine4[];
    }
    interface TpEclAgent {
        Name: string;
        Description: string;
        Build: string;
        Type: string;
        Path: string;
        DaliServer: string;
        LogDir: string;
        TpMachines: TpMachines4;
    }
    interface TpEclAgents {
        TpEclAgent: TpEclAgent[];
    }
    interface TpMachine5 {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: number;
        Path: string;
        Port: number;
        ProcessNumber: number;
    }
    interface TpMachines5 {
        TpMachine: TpMachine5[];
    }
    interface TpEclScheduler {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines5;
    }
    interface TpEclSchedulers {
        TpEclScheduler: TpEclScheduler[];
    }
    interface TpTargetCluster {
        Name: string;
        Prefix: string;
        Type: string;
        TpClusters: TpClusters;
        TpEclCCServers: TpEclCCServers;
        TpEclServers: TpEclServers;
        TpEclAgents: TpEclAgents;
        TpEclSchedulers: TpEclSchedulers;
    }
    interface TpTargetClusters {
        TpTargetCluster: TpTargetCluster[];
    }
    interface Response {
        Exceptions: Exceptions;
        ShowDetails: boolean;
        MemThreshold: number;
        DiskThreshold: number;
        CpuThreshold: number;
        MemThresholdType: string;
        DiskThresholdType: string;
        PreflightProcessFilter: string;
        AcceptLanguage: string;
        TpTargetClusters: TpTargetClusters;
    }
}
export declare class TopologyService {
    private _connection;
    constructor(optsConnection: IOptions | IConnection);
    connectionOptions(): IOptions;
    protocol(): string;
    ip(): string;
    TpLogicalClusterQuery(request?: TpLogicalClusterQuery.Request): Promise<TpLogicalClusterQuery.Response>;
    DefaultTpLogicalClusterQuery(request?: TpLogicalClusterQuery.Request): Promise<TpLogicalClusterQuery.TpLogicalCluster>;
    TpServiceQuery(request: TpServiceQuery.Request): Promise<TpServiceQuery.Response>;
    TpTargetClusterQuery(request: TpTargetClusterQuery.Request): Promise<TpTargetClusterQuery.Response>;
}
//# sourceMappingURL=wsTopology.d.ts.map