/// export interface QueueFeeder { getLength(): number; handle(x: Feed): Promise; } export declare class HandlerQueueStats { total_events: number; queued_events: number; immediately_handled_events: number; queued_handled_events: number; rejected_events: number; handler_set_count: number; handler_change_count: number; handler_clear_count: number; handler_rejections: number; } export interface QueueHandler { clear(): void; getLength(): number; setHandler(f: (x: Feed) => Promise): void; setSyncHandler(f: (x: Feed) => Result): void; setNextHandler(f: (x: Feed) => Promise): Promise; setSyncNextHandler(f: (x: Feed) => Result): Promise; isHandling(): boolean; stopHandling(): void; getStats(): HandlerQueueStats; } export declare class Queue implements QueueFeeder, QueueHandler { private queue_; private handler_; private rejectFn_; private stats_; constructor(); getLength: () => number; isHandling: () => boolean; getStats: () => HandlerQueueStats; handle: (x: Feed) => Promise; private processQueue_; clear: () => void; setHandler: (handler: (x: Feed) => Promise) => void; setSyncHandler: (handler: (x: Feed) => Result) => void; stopHandling: () => void; setNextHandler: (handler: (x: Feed) => Promise) => Promise; setSyncNextHandler: (handler: (x: Feed) => Result) => Promise; }