export interface ProjectStructure { name: string; path: string; type: 'file' | 'directory'; size?: number; children?: ProjectStructure[]; extension?: string; } export interface ProjectAnalysis { structure: ProjectStructure; languages: string[]; frameworks: string[]; totalFiles: number; totalSize: number; packageInfo?: { name?: string; version?: string; dependencies?: Record; devDependencies?: Record; }; } export interface FileContent { path: string; content: string; size: number; encoding: string; language?: string; } export declare class ProjectService { private readonly logger; analyzeProject(projectPath: string, maxDepth?: number): Promise; getProjectStructure(projectPath: string, maxDepth?: number, currentDepth?: number): Promise; searchFiles(projectPath: string, patterns: string[], maxFiles?: number): Promise; readFileContent(filePath: string, maxSize?: number): Promise; private getIgnoreRules; private getDefaultIgnorePatterns; private shouldIgnore; private detectLanguages; private detectFrameworks; private getPackageInfo; private getLanguageFromExtension; private countFiles; private calculateTotalSize; }