import type { IPoolItem } from '../types'; export interface IStats { free: number; queued: number; running: number; size: number; } export type TContinuationFn = (instance: TInstance) => unknown; /** * AbstractPool */ export declare abstract class AbstractPool { protected readonly agents: Map; constructor(agents: Map); protected queue: TContinuationFn[]; protected poolStats: IStats; get stats(): IStats; get load(): number; abstract getNextItem(...args: unknown[]): TValue; abstract [Symbol.iterator](...args: unknown[]): Generator; getItemByKey(key: TKey): TValue | undefined; enqueue>(continuation: F): void; drain(): void; execAsync>(continuation: F, ...args: unknown[]): Promise>; } //# sourceMappingURL=AbstractPool.d.ts.map