// Type definitions for generic-pool 3.1 // Project: https://github.com/coopernurse/node-pool#readme // Definitions by: Jerray Fu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// import { EventEmitter } from "events"; export class Pool extends EventEmitter { spareResourceCapacity: number; size: number; available: number; borrowed: number; pending: number; max: number; min: number; acquire(priority?: number): Promise; release(resource: T): void; destroy(resource: T): void; drain(): Promise; clear(): Promise; } export interface Factory { create(): Promise; destroy(client: T): Promise; validate?(client: T): Promise; } export interface Options { max?: number; min?: number; maxWaitingClients?: number; testOnBorrow?: boolean; acquireTimeoutMillis?: number; fifo?: boolean; priorityRange?: number; autostart?: boolean; evictionRunIntervalMillis?: number; numTestsPerRun?: number; softIdleTimeoutMillis?: number; idleTimeoutMillis?: number; } export function createPool(factory: Factory, opts?: Options): Pool;