import { IConnection, IOptions } from "../../../../connection.ts";
import { Service } from "../../../../espConnection.ts";
export declare namespace WsTopology {
    type int = number;
    type base64Binary = string;
    type unsignedInt = number;
    type long = number;
    enum TpConfigResponseFormat {
        XML = "XML",
        YAML = "YAML"
    }
    enum RoxieQueueFilter {
        All = "All",
        QueriesOnly = "QueriesOnly",
        WorkunitsOnly = "WorkunitsOnly"
    }
    enum TpMachineType {
        ALLNODES = "ALLNODES",
        THORMACHINES = "THORMACHINES",
        HOLEMACHINES = "HOLEMACHINES",
        ROXIEMACHINES = "ROXIEMACHINES",
        MACHINES = "MACHINES",
        AVAILABLEMACHINES = "AVAILABLEMACHINES",
        DROPZONE = "DROPZONE",
        STANDBYNNODE = "STANDBYNNODE",
        THORSPARENODES = "THORSPARENODES",
        HOLESTANDBYNODES = "HOLESTANDBYNODES"
    }
    interface WsTopologyPingRequest {
    }
    interface WsTopologyPingResponse {
    }
    interface SystemLogRequest {
        Name?: string;
        Type?: string;
        Zip?: int;
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface SystemLogResponse {
        Exceptions: Exceptions;
        thefile: base64Binary;
    }
    interface TpClusterInfoRequest {
        Name?: string;
    }
    interface TpQueue {
        Name: string;
        WorkUnit: string;
    }
    interface TpQueues {
        TpQueue: TpQueue[];
    }
    interface TpClusterInfoResponse {
        Exceptions: Exceptions;
        Name: string;
        WorkUnit: string;
        TpQueues: TpQueues;
    }
    interface TpClusterQueryRequest {
        Type?: string;
    }
    interface TpMachine {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: int;
        Path: string;
        Port: int;
        ProcessNumber: int;
        Channels: unsignedInt;
    }
    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: int;
        HasThorSpareProcess: boolean;
        TpMachines: TpMachines;
    }
    interface TpClusters {
        TpCluster: TpCluster[];
    }
    interface TpClusterQueryResponse {
        Exceptions: Exceptions;
        EnableSNMP: boolean;
        AcceptLanguage: string;
        TpClusters: TpClusters;
    }
    interface ComponentNames {
        Item: string[];
    }
    interface TpComponentConfigurationRequest {
        ComponentNames?: ComponentNames;
    }
    interface Result {
        ComponentName: string;
        Configuration: string;
    }
    interface Results {
        Result: Result[];
    }
    interface TpComponentConfigurationResponse {
        Exceptions: Exceptions;
        ConfigFormat: TpConfigResponseFormat;
        Results: Results;
    }
    interface TpConfiguredComponentsRequest {
    }
    interface ConfiguredComponents {
        Item: string[];
    }
    interface TpConfiguredComponentsResponse {
        Exceptions: Exceptions;
        ConfiguredComponents: ConfiguredComponents;
    }
    interface TpDropZoneQueryRequest {
        Name?: string;
        ECLWatchVisibleOnly?: boolean;
    }
    interface TpDropZone {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        ECLWatchVisible: boolean;
        UMask: string;
        TpMachines: TpMachines;
    }
    interface TpDropZones {
        TpDropZone: TpDropZone[];
    }
    interface TpDropZoneQueryResponse {
        Exceptions: Exceptions;
        TpDropZones: TpDropZones;
    }
    interface TpGetComponentFileRequest {
        CompType?: string;
        CompName?: string;
        NetAddress?: string;
        Directory?: string;
        FileType?: string;
        OsType?: int;
        PlainText?: string;
    }
    interface TpGetComponentFileResponse {
        Exceptions: Exceptions;
        FileContents: base64Binary;
    }
    interface TpGetServicePluginsRequest {
    }
    interface Plugin {
        ShortName: string;
        LongName: string;
        FolderName: string;
        WidgetName: string;
    }
    interface Plugins {
        Plugin: Plugin[];
    }
    interface TpGetServicePluginsResponse {
        Exceptions: Exceptions;
        Plugins: Plugins;
    }
    interface TpGroupQueryRequest {
        Kind?: string;
    }
    interface TpGroup {
        Name: string;
        Kind: string;
        ReplicateOutputs: boolean;
    }
    interface TpGroups {
        TpGroup: TpGroup[];
    }
    interface TpGroupQueryResponse {
        Exceptions: Exceptions;
        TpGroups: TpGroups;
    }
    interface TpListLogFilesRequest {
        NetworkAddress?: string;
        Path?: string;
    }
    interface LogFileStruct {
        Name: string;
        Path: string;
        Host: string;
        IsDir: boolean;
        FileSize: long;
        Modifiedtime: string;
    }
    interface Files {
        LogFileStruct: LogFileStruct[];
    }
    interface TpListLogFilesResponse {
        Exceptions: Exceptions;
        Files: Files;
    }
    interface TpListTargetClustersRequest {
    }
    interface TpClusterNameType {
        Name: string;
        Type: string;
        IsDefault: boolean;
    }
    interface TargetClusters {
        TpClusterNameType: TpClusterNameType[];
    }
    interface TpListTargetClustersResponse {
        Exceptions: Exceptions;
        TargetClusters: TargetClusters;
    }
    interface TpLogFileRequest {
        Name?: string;
        Type?: string;
        LastHours?: int;
        StartDate?: string;
        EndDate?: string;
        FirstRows?: int;
        LastRows?: int;
        FilterType?: int;
        Reversely?: boolean;
        Zip?: boolean;
        PageNumber?: int;
        LoadData?: boolean;
        IncludeLogFieldNames?: boolean;
    }
    interface LogFieldNames {
        Item: string[];
    }
    interface TpLogFileResponse {
        Exceptions: Exceptions;
        Name: string;
        Type: string;
        StartDate: string;
        EndDate: string;
        LastHours: int;
        FirstRows: int;
        LastRows: int;
        Reversely: boolean;
        Zip: boolean;
        FilterType: int;
        LogData: string;
        HasDate: boolean;
        FileSize: long;
        PageFrom: long;
        PageTo: long;
        PageNumber: int;
        PrevPage: int;
        NextPage: int;
        TotalPages: int;
        AcceptLanguage: string;
        LogFieldNames: LogFieldNames;
    }
    interface TpLogicalClusterQueryRequest {
        EclServerQueue?: string;
        RoxieQueueFilter?: RoxieQueueFilter;
    }
    interface TpLogicalCluster {
        Name: string;
        Queue: string;
        LanguageVersion: string;
        Process: string;
        Type: string;
        QueriesOnly: boolean;
    }
    interface TpLogicalClusters {
        TpLogicalCluster: TpLogicalCluster[];
    }
    interface TpLogicalClusterQueryResponse {
        Exceptions: Exceptions;
        TpLogicalClusters: TpLogicalClusters;
    }
    interface TpMachineInfoRequest {
        Name?: string;
        NetAddress?: string;
    }
    interface MachineInfo {
        Name: string;
        Netaddress: string;
        ConfigNetaddress: string;
        Domain: string;
        Directory: string;
        Type: string;
        Available: string;
        OS: int;
        Path: string;
        Port: int;
        ProcessNumber: int;
        Channels: unsignedInt;
    }
    interface TpMachineInfoResponse {
        Exceptions: Exceptions;
        MachineInfo: MachineInfo;
    }
    interface TpMachineQueryRequest {
        Type?: TpMachineType;
        Cluster?: string;
        OldIP?: string;
        Path?: string;
        Directory?: string;
        LogDirectory?: string;
    }
    interface TpMachineQueryResponse {
        Exceptions: Exceptions;
        EnablePreflightInfo: boolean;
        HasThorSpareProcess: boolean;
        Type: TpMachineType;
        Cluster: string;
        OldIP: string;
        LogDirectory: string;
        Path: string;
        MemThreshold: int;
        DiskThreshold: int;
        CpuThreshold: int;
        MemThresholdType: string;
        DiskThresholdType: string;
        PreflightProcessFilter: string;
        EnableSNMP: boolean;
        AcceptLanguage: string;
        TpMachines: TpMachines;
    }
    interface TpServiceQueryRequest {
        Type?: string;
    }
    interface TpDali {
        Name: string;
        Description: string;
        Build: string;
        BackupComputer: string;
        BackupDirectory: string;
        Type: string;
        Path: string;
        LogDirectory: string;
        AuditLogDirectory: string;
        TpMachines: TpMachines;
    }
    interface TpDalis {
        TpDali: TpDali[];
    }
    interface TpDfuServer {
        Name: string;
        Description: string;
        Build: string;
        Queue: string;
        Type: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines;
    }
    interface TpDfuServers {
        TpDfuServer: TpDfuServer[];
    }
    interface TpDkcSlave {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpDkcSlaves {
        TpDkcSlave: TpDkcSlave[];
    }
    interface TpEclAgent {
        Name: string;
        Description: string;
        Build: string;
        Type: string;
        Path: string;
        DaliServer: string;
        LogDir: string;
        TpMachines: TpMachines;
    }
    interface TpEclAgents {
        TpEclAgent: TpEclAgent[];
    }
    interface TpEclServer {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpEclServers {
        TpEclServer: TpEclServer[];
    }
    interface TpEclCCServers {
        TpEclServer: TpEclServer[];
    }
    interface TpEclScheduler {
        Name: string;
        Description: string;
        Build: string;
        LogDirectory: string;
        Type: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpEclSchedulers {
        TpEclScheduler: TpEclScheduler[];
    }
    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: TpMachines;
        TpBindings: TpBindings;
    }
    interface TpEspServers {
        TpEspServer: TpEspServer[];
    }
    interface TpFTSlave {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpFTSlaves {
        TpFTSlave: TpFTSlave[];
    }
    interface TpGenesisServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpGenesisServers {
        TpGenesisServer: TpGenesisServer[];
    }
    interface TpLdapServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpLdapServers {
        TpLdapServer: TpLdapServer[];
    }
    interface TpMySqlServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpMySqlServers {
        TpMySqlServer: TpMySqlServer[];
    }
    interface TpSashaServer {
        Name: string;
        Description: string;
        Build: string;
        Path: string;
        LogDirectory: string;
        TpMachines: TpMachines;
    }
    interface TpSashaServers {
        TpSashaServer: TpSashaServer[];
    }
    interface TpSparkThor {
        Name: string;
        Build: string;
        ThorClusterName: string;
        ThorPath: string;
        SparkExecutorCores: unsignedInt;
        SparkExecutorMemory: long;
        SparkMasterPort: unsignedInt;
        SparkMasterWebUIPort: unsignedInt;
        SparkWorkerCores: unsignedInt;
        SparkWorkerMemory: long;
        SparkWorkerPort: unsignedInt;
        LogDirectory: string;
        Path: string;
        TpMachines: TpMachines;
    }
    interface TpSparkThors {
        TpSparkThor: TpSparkThor[];
    }
    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;
        TpSparkThors: TpSparkThors;
    }
    interface TpServiceQueryResponse {
        Exceptions: Exceptions;
        MemThreshold: int;
        DiskThreshold: int;
        CpuThreshold: int;
        EncapsulatedSystem: boolean;
        EnableSNMP: boolean;
        PreflightProcessFilter: string;
        AcceptLanguage: string;
        MemThresholdType: string;
        DiskThresholdType: string;
        ServiceList: ServiceList;
    }
    interface TpSetMachineStatusRequest {
        MachinePath?: string;
        StatusValue?: string;
    }
    interface TpSetMachineStatusResponse {
        Exceptions: Exceptions;
        TpSetMachineStatusResult: boolean;
    }
    interface TpSwapNodeRequest {
        Cluster?: string;
        OldIP?: string;
        NewIP?: string;
    }
    interface TpSwapNodeResponse {
        Exceptions: Exceptions;
        TpSwapNodeResult: boolean;
    }
    interface TpTargetClusterQueryRequest {
        Type?: string;
        Name?: string;
        ShowDetails?: boolean;
    }
    interface TpTargetCluster {
        Name: string;
        Prefix: string;
        Type: string;
        TpClusters: TpClusters;
        TpEclCCServers: TpEclCCServers;
        TpEclServers: TpEclServers;
        TpEclAgents: TpEclAgents;
        TpEclSchedulers: TpEclSchedulers;
    }
    interface TpTargetClusters {
        TpTargetCluster: TpTargetCluster[];
    }
    interface TpTargetClusterQueryResponse {
        Exceptions: Exceptions;
        ShowDetails: boolean;
        MemThreshold: int;
        DiskThreshold: int;
        CpuThreshold: int;
        MemThresholdType: string;
        DiskThresholdType: string;
        PreflightProcessFilter: string;
        AcceptLanguage: string;
        TpTargetClusters: TpTargetClusters;
    }
    interface TpThorStatusRequest {
        Name?: string;
    }
    interface TpThorStatusResponse {
        Exceptions: Exceptions;
        Name: string;
        Queue: string;
        Group: string;
        ThorMasterIPAddress: string;
        Port: int;
        StartTime: string;
        LogFile: string;
        Wuid: string;
        Graph: string;
        SubGraph: int;
        SubGraphDuration: int;
        AutoRefresh: int;
    }
    interface TpXMLFileRequest {
        Name?: string;
    }
    interface TpXMLFileResponse {
        Exceptions: Exceptions;
        thefile: base64Binary;
    }
}
export declare class TopologyServiceBase extends Service {
    constructor(optsConnection: IOptions | IConnection);
    Ping(request: Partial<WsTopology.WsTopologyPingRequest>): Promise<WsTopology.WsTopologyPingResponse>;
    SystemLog(request: Partial<WsTopology.SystemLogRequest>): Promise<WsTopology.SystemLogResponse>;
    TpClusterInfo(request: Partial<WsTopology.TpClusterInfoRequest>): Promise<WsTopology.TpClusterInfoResponse>;
    TpClusterQuery(request: Partial<WsTopology.TpClusterQueryRequest>): Promise<WsTopology.TpClusterQueryResponse>;
    TpComponentConfiguration(request: Partial<WsTopology.TpComponentConfigurationRequest>): Promise<WsTopology.TpComponentConfigurationResponse>;
    TpConfiguredComponents(request: Partial<WsTopology.TpConfiguredComponentsRequest>): Promise<WsTopology.TpConfiguredComponentsResponse>;
    TpDropZoneQuery(request: Partial<WsTopology.TpDropZoneQueryRequest>): Promise<WsTopology.TpDropZoneQueryResponse>;
    TpGetComponentFile(request: Partial<WsTopology.TpGetComponentFileRequest>): Promise<WsTopology.TpGetComponentFileResponse>;
    TpGetServicePlugins(request: Partial<WsTopology.TpGetServicePluginsRequest>): Promise<WsTopology.TpGetServicePluginsResponse>;
    TpGroupQuery(request: Partial<WsTopology.TpGroupQueryRequest>): Promise<WsTopology.TpGroupQueryResponse>;
    TpListLogFiles(request: Partial<WsTopology.TpListLogFilesRequest>): Promise<WsTopology.TpListLogFilesResponse>;
    TpListTargetClusters(request: Partial<WsTopology.TpListTargetClustersRequest>): Promise<WsTopology.TpListTargetClustersResponse>;
    TpLogFile(request: Partial<WsTopology.TpLogFileRequest>): Promise<WsTopology.TpLogFileResponse>;
    TpLogFileDisplay(request: Partial<WsTopology.TpLogFileRequest>): Promise<WsTopology.TpLogFileResponse>;
    TpLogicalClusterQuery(request: Partial<WsTopology.TpLogicalClusterQueryRequest>): Promise<WsTopology.TpLogicalClusterQueryResponse>;
    TpMachineInfo(request: Partial<WsTopology.TpMachineInfoRequest>): Promise<WsTopology.TpMachineInfoResponse>;
    TpMachineQuery(request: Partial<WsTopology.TpMachineQueryRequest>): Promise<WsTopology.TpMachineQueryResponse>;
    TpServiceQuery(request: Partial<WsTopology.TpServiceQueryRequest>): Promise<WsTopology.TpServiceQueryResponse>;
    TpSetMachineStatus(request: Partial<WsTopology.TpSetMachineStatusRequest>): Promise<WsTopology.TpSetMachineStatusResponse>;
    TpSwapNode(request: Partial<WsTopology.TpSwapNodeRequest>): Promise<WsTopology.TpSwapNodeResponse>;
    TpTargetClusterQuery(request: Partial<WsTopology.TpTargetClusterQueryRequest>): Promise<WsTopology.TpTargetClusterQueryResponse>;
    TpThorStatus(request: Partial<WsTopology.TpThorStatusRequest>): Promise<WsTopology.TpThorStatusResponse>;
    TpXMLFile(request: Partial<WsTopology.TpXMLFileRequest>): Promise<WsTopology.TpXMLFileResponse>;
}
