import { IncrementalIndexOptions, IncrementalIndexStats } from './types'; export declare class IncrementalIndexer { private readonly repoRoot; private readonly options; private hashCache; constructor(repoRoot: string, options?: IncrementalIndexOptions); /** * Returns list of all source files in the repo (streaming via glob, never all contents in memory). */ discoverFiles(): string[]; /** * Returns only files that have changed since last index (hash comparison). * Also identifies files removed from disk but present in cache. */ getChangedFiles(allFiles: string[]): { changed: string[]; removed: string[]; unchanged: number; }; /** * Process files in chunks, never loading more than chunkSize at once. * Returns stats about the indexing run. */ runIncrementalIndex(processChunk: (files: Array<{ path: string; content: string; hash: string; }>) => void): Promise; /** * Update hash cache after successful processing. */ commitHashCache(processedFiles: Map): void; /** * Load cached hashes from disk. */ private loadHashCache; /** * Save hash cache atomically (write to temp file, then rename). */ private saveHashCache; /** * Get current RSS memory in MB. */ private getRSSMB; } //# sourceMappingURL=IncrementalIndexer.d.ts.map