import { AsrMessageType } from '../entities/asr-message-type';
import { IntermediateResult, Result } from '../entities/index';
import { EventBus } from '../event-bus';
export declare class MessageQueue {
    private readonly eventBus;
    private readonly websocket;
    private messageId;
    private requests;
    constructor(eventBus: EventBus, websocket: WebSocket);
    request<P, T>(method: string, params?: P): Promise<T | undefined>;
    parseIntermediateResult(result: IntermediateResult): void;
    parseResult(result: Result): void;
    isIntermediateResult(result: {
        event: AsrMessageType;
        data: Result | IntermediateResult;
    }): result is {
        event: AsrMessageType;
        data: IntermediateResult;
    };
    clearMessageQueue(): void;
    private getID;
}
