/// <reference types="node" />
import { Protocol } from 'raas-core';
import { MessageConnection } from 'vscode-jsonrpc';
import { EventEmitter } from 'events';
export declare class Discovery {
    private connection;
    private emitter;
    constructor(connection: MessageConnection, emitter: EventEmitter);
    private listenToDiscoveryChanges;
    findServerInstallations(path: string, timeout?: number): Promise<Protocol.ServerInstallation[]>;
    addDiscoveryPathAsync(path: string, timeout?: number): Promise<Protocol.Status>;
    addDiscoveryPathSync(path: string, timeout?: number): Promise<Protocol.DiscoveryPath>;
    removeDiscoveryPathAsync(path: string | Protocol.DiscoveryPath, timeout?: number): Promise<Protocol.Status>;
    removeDiscoveryPathSync(path: string | Protocol.DiscoveryPath, timeout?: number): Promise<Protocol.DiscoveryPath>;
    getDiscoveryPaths(timeout?: number): Promise<Protocol.DiscoveryPath[]>;
}
