export interface ScoredFile { path: string; score: number; matchReasons: string[]; } export interface FileContent { path: string; content: string; truncated: boolean; size: number; } export interface SearchConfig { topK?: number; maxFileSize?: number; includeExtensions?: string[]; excludePatterns?: string[]; } export interface DependencyGraphData { imports: Array<{ source: string; target: string; imports?: string[]; type: 'local' | 'external' | 'framework'; resolvedPath?: string; }>; modules: Array<{ name: string; path: string; files: string[]; dependencies: string[]; exports: string[]; }>; graph: { nodes: Array<{ id: string; type: 'file' | 'module' | 'external'; name: string; }>; edges: Array<{ from: string; to: string; type: 'import' | 'require'; }>; }; } export declare class FileSearchService { private projectPath; private logger; private fileCache; private maxCacheSize; private dependencyGraph?; constructor(projectPath: string, dependencyGraph?: DependencyGraphData); searchFiles(question: string, availableFiles: string[], config?: SearchConfig): ScoredFile[]; private findRelatedFiles; retrieveFiles(scoredFiles: ScoredFile[], config?: SearchConfig): Promise; clearCache(): void; private extractKeywords; private isTestFile; private scoreFile; private updateCache; } //# sourceMappingURL=file-search.service.d.ts.map