import type { Cache } from './Cache.js'; import type { GetExpires, Key, Options, ShouldPersist, ShouldRemoveOnExpire } from './internalTypes.js'; export declare class ExpirationManager any> { /** * The [c]ache being monitored. */ c: Cache; /** * Map of [e]xpiration timeouts. */ e: Map; /** * Whether the entry in cache should [p]ersist, and therefore not * have any expiration. */ p: ShouldPersist | undefined; /** * Whether the entry in cache should be [r]emoved on expiration. */ r: ShouldRemoveOnExpire | undefined; /** * The [t]ime to wait before expiring, or a method that determines that time. */ t: number | GetExpires; /** * Whether the expiration should [u]pdate when the cache entry is hit. */ u: boolean; constructor(cache: Cache, expires: Required>['expires']); get size(): number; /** * Whether the cache expiration should be set [a]gain, generally after some cache change. */ a(key: Key, value: ReturnType): boolean; /** * Method to [d]elete the expiration. */ d(key: Key): void; /** * Method to [s]et the new expiration. If one is present for the given `key`, it will delete * the existing expiration before creating the new one. */ s(key: Key, value: ReturnType): void; }