/// <reference types="node" />
import { MessageConnection } from 'vscode-jsonrpc';
import { Protocol, RhamtConfiguration } from 'raas-core';
import { EventEmitter } from 'events';
export declare class ServerLauncher {
    private connection;
    private emitter;
    constructor(connection: MessageConnection, emitter: EventEmitter);
    private listenToServerChanges;
    startServerAsync(config: Protocol.ServerConfig, timeout?: number): Promise<Protocol.Status>;
    startServerSync(config: Protocol.ServerConfig, timeout?: number): Promise<Protocol.ServerConfig>;
    stopServerAsync(config: Protocol.ServerConfig, timeout?: number): Promise<Protocol.Status>;
    stopServerSync(config: Protocol.ServerConfig, timeout?: number): Promise<Protocol.ServerConfig>;
    startAnalysis(runConfig: RhamtConfiguration, serverConfig: Protocol.ServerConfig, timeout?: number): Promise<Protocol.Status>;
    cancelAnalysis(runConfig: RhamtConfiguration, serverConfig: Protocol.ServerConfig, timeout?: number): Promise<Protocol.Status>;
}
