/** Minimal in-memory TTL cache. Not thread-safe — fine for a single-process MCP server. */ declare class TTLCache { private store; get(key: string): T | undefined; set(key: string, value: T, ttlMs: number): void; has(key: string): boolean; delete(key: string): void; /** Remove every key starting with the given prefix. Useful for invalidating "aave:ethereum:*". */ invalidatePrefix(prefix: string): void; clear(): void; /** * Compute `fn()` if the key is missing or stale, otherwise return the cached value. * Concurrent calls for the same key will each compute the value — fine for MVP. */ remember(key: string, ttlMs: number, fn: () => Promise): Promise; } export declare const cache: TTLCache; export {};