import { Logger } from './logger'; export interface Queue { depth: () => number; enqueue: (item: Item) => void; flushDelay: number; flushInterval: number; isStarted: () => boolean; maxBatchSize: number; maxQueueDepth: number; start: () => void; } export interface Create { flushDelay?: number; flushInterval?: number; logger: Logger; maxBatchSize?: number; maxQueueDepth?: number; sink: (items: Array) => void; } export declare const create: ({ flushDelay: newFlushDelay, flushInterval: newFlushInterval, logger, maxBatchSize: newMaxBatchSize, maxQueueDepth: newMaxQueueDepth, sink, }: Create) => Queue; interface Timer { isRunning: () => boolean; start: () => void; stop: () => void; restart: () => void; } interface CreateTimer { callback: () => void; delay: number; } export declare const createTimer: ({ callback, delay }: CreateTimer) => Timer; interface Interval { isRunning: () => boolean; start: () => void; stop: () => void; } interface CreateInterval { callback: () => boolean; delay: number; } export declare const createInterval: ({ callback, delay }: CreateInterval) => Interval; export {}; //# sourceMappingURL=queue.d.ts.map