import { Handle, EventObject, EventType } from './interfaces'; import Evented, { CustomEventTypes, EventedCallbackOrArray } from './Evented'; /** * An implementation of the Evented class that queues up events when no listeners are * listening. When a listener is subscribed, the queue will be published to the listener. * When the queue is full, the oldest events will be discarded to make room for the newest ones. * * @property maxEvents The number of events to queue before old events are discarded. If zero (default), an unlimited number of events is queued. */ declare class QueuingEvented = EventObject> extends Evented { private _queue; maxEvents: number; emit(event: M[K]): void; emit(event: O): void; on(type: K, listener: EventedCallbackOrArray): Handle; on(type: T, listener: EventedCallbackOrArray): Handle; } export default QueuingEvented;