import type { ScanFinding, CodeScanResult } from "./code_scanner.js"; export interface ScanCacheEntry { mtimeMs: number; size: number; findings: ScanFinding[]; } export interface ScanCacheData { version: string; projectDir: string; lastScanned: string; entries: Record; } export declare class ScanCache { private projectDir; constructor(projectDir: string); /** * Load existing cache. */ load(): ScanCacheData; /** * Save cache. */ save(data: ScanCacheData): void; /** * Determine which files need scanning by comparing mtime/size against cache. * Returns files that are new or changed. */ getStaleFiles(files: string[], cache: ScanCacheData): { stale: string[]; cachedFindings: ScanFinding[]; }; /** * Update cache entries for freshly scanned files. */ updateEntries(cache: ScanCacheData, scannedFiles: string[], findings: ScanFinding[]): void; /** * Merge cached and fresh results into a single CodeScanResult. */ mergeResults(freshResult: CodeScanResult, cachedFindings: ScanFinding[]): CodeScanResult; private _empty; } //# sourceMappingURL=scan_cache.d.ts.map