// Type definitions for p-queue 1.1 // Project: https://github.com/sindresorhus/p-queue#readme // Definitions by: BendingBender // Evan Shortiss // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 export = PQueue; declare class PQueue { size: number; pending: number; constructor(opts?: PQueue.Options); add(fn: PQueue.Task, opts?: O): Promise; onEmpty(): Promise; clear(): void; } declare namespace PQueue { interface QueueAddOptions { [key: string]: any; } interface QueueClassConstructor { new(): QueueClass; } interface QueueClass { size: number; enqueue(run: () => void, options?: O): void; dequeue(): (() => void) | undefined; } interface Options { queueClass?: QueueClassConstructor; concurrency?: number; } interface DefaultAddOptions { priority?: number; } type Task = () => Promise; }