import NanoEvents from "nanoevents"; import { EventTypes, FetchMethod, FetchingKeys, Item, OnFetching, OnUpdateList, QueuePoolState, Queues, addQueueType } from "./types"; import { Queue } from "./queue"; declare const emitter: NanoEvents<{ [key: string]: Record; }>; export declare function fireUpdateListEvent(queueName: string, items: Item[], eventType: EventTypes): void; export declare function fireFetchingEvent(queueName: string, fetchingKeys: FetchingKeys): void; export declare function QueuePool(): Readonly<{ addQueue: (queueName: string, fetchMethod: FetchMethod, initItem?: Item[]) => { addQueue: addQueueType; }; getQueue: (queueName: string) => ReturnType; getQueues: () => Queues; initPool: (userId: number, pool: QueuePoolState) => { addQueue: addQueueType; }; onFetching: (cb: OnFetching) => ReturnType; onUpdateList: (cb: OnUpdateList) => ReturnType; removeQueue: (queueName: string) => void; }>; export {};