import type { CloudFormationResource } from '../../types/analysis.types'; import type { CacheKeyComponents, FileBasedCacheEntry, FileModificationInfo } from './memoization.types'; export declare const getFileModificationInfo: (filePath: string) => FileModificationInfo | null; export declare const clearFileModificationInfoCache: () => void; export declare const __resetFileHashDiskCacheForTest: () => void; export declare const __flushFileHashDiskCacheForTest: () => void; export declare const __getFileHashDiskCachePath: () => string; export declare const getFilesModificationInfo: (filePaths: string[]) => Record; export declare const generateAuthContext: (authToken?: string, fingerprint?: string) => string; export declare const generateResourceHash: (resource: CloudFormationResource) => string; export declare const createCacheKeyComponents: (resourceId: string, resource: CloudFormationResource, authToken?: string, fingerprint?: string, sourceFiles?: string[]) => CacheKeyComponents; export declare const generateCacheKey: (components: CacheKeyComponents) => string; export declare const isCacheEntryValid: (entry: FileBasedCacheEntry, currentComponents: CacheKeyComponents) => boolean; export declare class FileBasedCache { private cache; private readonly ttl; private readonly maxSize; private disabled; constructor(options?: { ttl?: number; maxSize?: number; disabled?: boolean; }); setDisabled(disabled: boolean): void; get(key: string): T | undefined; set(key: string, value: T, components: CacheKeyComponents, customTtl?: number): void; has(key: string): boolean; clear(): void; saveToDisk(): void; size(): number; private evictOldest; getStats(): { size: number; maxSize: number; hitRate: number; totalHits: number; totalMisses: number; }; getAllCachedResults(): Map>; getCachedResultsForResources(resourceIds: string[]): Map; hasCachedResult(resourceId: string): boolean; }