import type * as types from 'open-collaboration-protocol';
import { SessionData } from './messages.js';
import { CollaborationInstance } from './collaboration-instance.js';
import { MessageConnection } from 'vscode-jsonrpc';
export declare class MessageHandler {
    private connectionProvider;
    private communicationHandler;
    protected currentCollaborationInstance?: CollaborationInstance;
    protected lastRequestId: number;
    constructor(connectionProvider: types.ConnectionProvider, communicationHandler: MessageConnection);
    login(): Promise<string>;
    joinRoom(roomId: string): Promise<SessionData>;
    createRoom(workspace: types.Workspace): Promise<SessionData>;
    onConnection(connection: types.ProtocolBroadcastConnection, host: boolean, workspace?: types.Workspace): void;
    dispose(): void;
}
//# sourceMappingURL=message-handler.d.ts.map