/// <reference types="node" />
import { MessageConnection } from 'vscode-jsonrpc';
import { EventEmitter } from 'events';
import { Protocol } from 'raas-core';
export declare class Installation {
    private connection;
    private emitter;
    constructor(connection: MessageConnection, emitter: EventEmitter);
    private listenToInstallationChanges;
    addInstalledServer(request: Protocol.Installation, timeout?: number): Promise<Protocol.Status>;
    installServer(request: Protocol.InstallServerRequest, timeout?: number): Promise<Protocol.Status>;
    cancelInstallation(installing: Protocol.InstallingServer, timeout?: number): Promise<Protocol.Status>;
    deleteInstallation(installation: Protocol.Installation, timeout?: number): Promise<Protocol.Status>;
    updateInstallation(installation: Protocol.Installation, timeout?: number): Promise<Protocol.Status>;
    getAllInstalledServers(timeout?: number): Promise<Protocol.Installation[]>;
    getAllInstallingServers(timeout?: number): Promise<Protocol.InstallingServer[]>;
    private send;
}
