import { Message, BrowserLocation } from '../porter.model';
import { Logger } from '../porter.utils';
interface QueuedMessage {
    message: Message<any>;
    target?: BrowserLocation;
    timestamp: number;
}
export declare class MessageQueue {
    private queue;
    private readonly logger;
    private readonly maxQueueSize;
    private readonly maxMessageAge;
    constructor(logger: Logger);
    enqueue(message: Message<any>, target?: BrowserLocation): void;
    dequeue(): QueuedMessage[];
    isEmpty(): boolean;
    private cleanup;
}
export {};
