export interface Pool { get(...args: A): T; release(object: T): void; purge(): void; size(): number; used(): number; } type Reset = ((...args: A) => void) | undefined; type Release = (() => void) | undefined; export interface CreatePoolOptions { instance: T; reset?: Reset; release?: Release; } /** * Register a pool instance to the pool registry. * @ignore */ export declare const registerPool: (key: string, pool: Pool) => void; /** * @ignore */ export declare const getRegisteredPools: () => Record>; export declare const createPool: (options: (...args: A) => CreatePoolOptions) => Pool; export {}; //# sourceMappingURL=pool.d.ts.map