import { ReactiveControllerHost } from 'lit'; import { Logger } from '../logger'; export interface RequestQueueOptions { /** * Provide a name for debugging purposes. */ name?: string; /** * Provide the owner of this queue for debugging purposes. */ owner?: any; } export declare class RequestQueue { protected readonly _options: RequestQueueOptions; protected readonly _logger?: Logger; protected readonly _requestQueue: Map void | Promise>; protected _pendingFlush: import("../../utils/promise").DeferredPromise; get name(): string | undefined; constructor(_host?: ReactiveControllerHost, _options?: RequestQueueOptions); /** * Whether callbacks should be called immediately or queued and flushed at a later time. */ serveImmediately: boolean; /** * The number of callbacks that are currently in queue. */ get size(): number; /** * Returns a clone of the current request queue. */ cloneQueue(): Map void | Promise>; /** * Waits for the queue to be flushed. */ waitForFlush(): Promise; queue(key: string | symbol, callback: () => void | Promise): Promise; serve(key: string | symbol): Promise; flush(): Promise; protected _flush(): void; reset(): void; destroy(): void; }