/** A cached value and when it expires. */ export interface CacheEntry { /** The value. */ value: T; /** Epoch milliseconds when it expires. */ expiresAt: number; } /** * A bounded in-memory cache with per-entry expiry, evicting the least recently used entry when * full. Holds 500 entries by default. */ export declare class MemoryCache { private maxEntries; private entries; constructor(maxEntries?: number); /** Returns a value, or `undefined` for a miss or an expired entry. A hit counts as recent use. */ get(key: string): T | undefined; /** Stores a value. Defaults to 5 minutes. */ set(key: string, value: T, ttlSeconds?: number): void; /** Removes every entry. */ clear(): void; /** Removes an entry. Returns true when one was removed. */ delete(key: string): boolean; /** Removes expired entries, returning how many went. */ clearExpired(): number; /** Size, capacity, and expired entries not yet removed. */ stats(): { size: number; maxEntries: number; expiredEntries: number; }; } /** A cache key for any value, with object keys sorted so equal values give equal keys. */ export declare function createCacheKey(value: unknown): string;