import { Logger } from 'log4js'; import { ICache } from '../../dex-helper/icache'; export type PoolsWriterOptions = { cache: ICache; key: string; logger: Logger; listPools?: () => Iterable<[string, D]>; flushIntervalMs?: number; pruneIntervalMs?: number; pruneAgeMs?: number; hscanCount?: number; now?: () => number; }; export declare class PoolsWriter { private readonly cache; readonly key: string; private readonly logger; private readonly listPools?; private readonly flushIntervalMs; private readonly pruneIntervalMs; private readonly pruneAgeMs; private readonly hscanCount; private readonly now; private pending; private timer?; private lastPruneAt; private inFlight?; constructor(options: PoolsWriterOptions); start(): void; touch(field: string, descriptor: D): void; get pendingCount(): number; flush(): Promise; private doFlush; prune(): Promise; release(): void; }