import { NotificationType, NotificationType0, RequestType0, RequestType } from 'vscode-jsonrpc';
import { Protocol } from './protocol';
export declare namespace Messages {
    namespace Server {
        namespace FindServerInstallationsRequest {
            const type: RequestType<Protocol.DiscoveryPath, Protocol.ServerInstallation[], void, void>;
        }
        namespace GetDiscoveryPathsRequest {
            const type: RequestType0<Protocol.DiscoveryPath[], void, void>;
        }
        namespace AddDiscoveryPathRequest {
            const type: RequestType<Protocol.DiscoveryPath, Protocol.Status, void, void>;
        }
        namespace RemoveDiscoveryPathRequest {
            const type: RequestType<Protocol.DiscoveryPath, Protocol.Status, void, void>;
        }
        namespace GetServerHandlesRequest {
            const type: RequestType0<Protocol.ServerConfig[], void, void>;
        }
        namespace DeleteServerRequest {
            const type: RequestType<Protocol.ServerConfig, Protocol.Status, void, void>;
        }
        namespace CreateServerRequest {
            const type: RequestType<Protocol.ServerConfig, Protocol.Status, void, void>;
        }
        namespace StartServerAsyncRequest {
            const type: RequestType<Protocol.ServerConfig, Protocol.Status, void, void>;
        }
        namespace StopServerAsyncRequest {
            const type: RequestType<Protocol.ServerConfig, Protocol.Status, void, void>;
        }
        namespace ShutdownNotification {
            const type: NotificationType0<void>;
        }
    }
    namespace Client {
        namespace DiscoveryPathAddedNotification {
            const type: NotificationType<Protocol.DiscoveryPath, void>;
        }
        namespace DiscoveryPathRemovedNotification {
            const type: NotificationType<Protocol.DiscoveryPath, void>;
        }
        namespace ServerAddedNotification {
            const type: NotificationType<Protocol.ServerConfig, void>;
        }
        namespace ServerRemovedNotification {
            const type: NotificationType<Protocol.ServerConfig, void>;
        }
        namespace ServerStateChangedNotification {
            const type: NotificationType<Protocol.ServerConfig, void>;
        }
        namespace ServerProcessCreatedNotification {
            const type: NotificationType<Protocol.ServerConfig, void>;
        }
        namespace ServerProcessTerminatedNotification {
            const type: NotificationType<Protocol.ServerConfig, void>;
        }
        namespace ServerProcessOutputAppendedNotification {
            const type: NotificationType<Protocol.ServerOutput, void>;
        }
    }
}
