import { ASTNode } from '../types'; /** * AST cache for storing parsed ASTs * Reduces redundant parsing of unchanged files */ export declare class ASTCache { private cache; private ttl; private maxSize; private stats; constructor(ttl?: number, maxSize?: number); /** * Get cached AST for a file */ get(filePath: string, contentHash: string): ASTNode | null; /** * Set cached AST for a file */ set(filePath: string, contentHash: string, ast: ASTNode): void; /** * Invalidate cache for a file */ invalidate(filePath: string): void; /** * Clear all cache entries */ clear(): void; /** * Get cache statistics */ getStats(): { hitRate: number; size: number; maxSize: number; hits: number; misses: number; evictions: number; }; /** * Evict oldest entry */ private evictOldest; /** * Generate content hash for a file */ static generateContentHash(content: string): string; /** * Generate file hash based on file stats */ static generateFileHash(filePath: string, rootDir: string): string; } //# sourceMappingURL=ast-cache.d.ts.map