declare type Task = (done: () => void) => Promise; interface Pool { submit(task: Task): Promise; size: number; readonly pending: number; } declare function createPool(size: number): Pool; export { Pool, createPool };