/** * Ref-counted map with explicit retention semantics. Entries are unowned by default and may be evicted after their * TTL unless explicitly retained. This provides TTL-based caching for unowned entries, while allowing consumers to * opt into stronger lifetime control via explicit retention. */ export declare class RefCountedMap { private readonly map; private readonly unownedEntryTtlMs; private readonly ttlCheck; static readonly TTLCheck: { readonly ON_GET: number; readonly ON_RETAIN: number; readonly ON_RELEASE: number; }; constructor({ unownedEntryTtlMs, ttlCheck, }: { unownedEntryTtlMs: number; ttlCheck?: number; }); get size(): number; get(key: K): V | undefined; getOrCreate(key: K, init: () => V): V; /** * Returns true on transition from unowned to owned */ retain(key: K, value: V): boolean; /** * Returns true on transition from owned to unowned */ release(key: K, value: V): boolean; private removeExpired; } //# sourceMappingURL=ref-counted-map.d.ts.map