/** * FileWalker Service * * Traverses the codebase intelligently, filtering noise and respecting ignore patterns. * Collects metadata about each file for significance scoring and analysis. */ import type { FileWalkerResult } from '../../types/index.js'; /** * Options for the FileWalker */ export interface FileWalkerOptions { /** Maximum number of files to process */ maxFiles?: number; /** Additional glob patterns to include */ includePatterns?: string[]; /** Additional glob patterns to exclude */ excludePatterns?: string[]; /** Progress callback for UI updates */ onProgress?: (progress: FileWalkerProgress) => void; /** AbortController signal for cancellation */ signal?: AbortSignal; /** Maximum concurrent file reads */ concurrency?: number; } /** * Progress information during file walking */ export interface FileWalkerProgress { filesFound: number; directoriesScanned: number; currentPath: string; } /** * FileWalker class for traversing codebases */ export declare class FileWalker { private rootPath; private options; private ig; /** Separate ignore instance used to check if a file matches includePatterns. */ private igInclude; private files; private skippedCount; private skippedReasons; private directoriesScanned; private extensionCounts; private directoryCounts; constructor(rootPath: string, options?: FileWalkerOptions); /** * Record a skipped file with reason */ private recordSkip; /** * Check if we should skip a directory */ private shouldSkipDirectory; /** * Check if we should skip a file */ private shouldSkipFile; /** * Walk a directory recursively */ private walkDirectory; /** * Process a single file and collect metadata */ private processFile; /** * Walk the codebase and collect file metadata */ walk(): Promise; } /** * Convenience function to walk a directory */ export declare function walkDirectory(rootPath: string, options?: FileWalkerOptions): Promise; //# sourceMappingURL=file-walker.d.ts.map