interface CacheOptions { ttl: number; cleanupInterval: number; } type ExpiryCallback = (key: K, value: V) => void; declare class Cache { private store; private options; private expiryListeners; private cleanupTimer?; constructor(options: CacheOptions); onExpiry(listener: ExpiryCallback): void; private triggerExpiry; set(key: K, value: V): void; get(key: K): V | undefined; delete(key: K): boolean; clear(): void; deleteExpired(): void; dispose(): void; } export { Cache, ExpiryCallback, CacheOptions };