export type Callback = (e?: unknown, ...args: any[]) => void; export interface PoolFactory { create(info?: { tries: number; maxRetries: number; }): Promise | T; destroy(resource: T): Promise | void; reset?(resource: T): Promise | void; validate?(resource: T): Promise | void; } export interface PoolConfiguration { acquireMaxRetries?: number; acquireRetryWait?: number; acquireTimeoutMillis?: number; fifo?: boolean; idleTimeoutMillis?: number; houseKeepInterval?: number; min?: number; minIdle?: number; max?: number; maxQueue?: number; validation?: boolean; }