/// <reference types="jquery" />
import { RemoteRequest, RemoteResponse, Session } from '../index';
export declare class ResponseQueue {
    session: Session;
    queue: RemoteResponse[];
    lastProcessedSequenceNo: number;
    nextExpectedSequenceNo: number;
    force: boolean;
    forceTimeoutId: number;
    constructor(session: Session);
    /**
     * in milliseconds
     */
    static FORCE_TIMEOUT: number;
    add(response?: RemoteResponse): void;
    process(response?: RemoteResponse): boolean;
    size(): number;
    protected _handleResponse(response: RemoteResponse): boolean;
    protected _checkMissingResponse(sequenceNo: number): boolean;
    protected _checkTimeout(): void;
    protected _logTimeout(): void;
    prepareRequest(request: RemoteRequest): void;
    prepareHttpRequest(ajaxOptions: JQuery.AjaxSettings): void;
    queueToString(): string;
}
//# sourceMappingURL=ResponseQueue.d.ts.map