/** * TTL-based analysis result cache with LRU eviction. * Designed for session-level caching of expensive analysis functions * (e.g., analyzeHotspotsAndChurn, analyzeContributors). */ export interface CacheStats { hits: number; misses: number; size: number; evictions: number; } export declare class AnalysisCache { private readonly store; private readonly ttlMs; private readonly maxEntries; private hits; private misses; private evictions; constructor(options?: { ttlMs?: number; maxEntries?: number; }); get(key: string): T | undefined; set(key: string, value: T): void; clear(): void; stats(): CacheStats; private evictLRU; } /** * Build a stable cache key from function name and arguments. */ export declare function buildCacheKey(functionName: string, repoPath: string, options: Record): string;