export interface DependencyUsage { name: string; version: string; isUsed: boolean; usageCount: number; filesUsing: string[]; usagePercentage: number; } export interface UnusedImport { file: string; line: number; importName: string; importStatement: string; } export interface SourceAnalysisResult { usedDependencies: string[]; unusedDependencies: string[]; importedFiles: Set; allFiles: string[]; unusedFiles: string[]; dependencyUsages: DependencyUsage[]; totalDependencies: number; totalProjectFiles: number; unusedImports: UnusedImport[]; } export declare class SourceCodeAnalyzer { private projectRoot; private allSourceFiles; private fileContents; private importGraph; private pathAliases; constructor(projectRoot: string); private loadPathAliases; analyze(): SourceAnalysisResult; private loadSourceFiles; private buildImportGraph; private extractImports; private isValidImportPath; private resolvePathAlias; private resolveImportPath; private findUsedDependencies; private extractPackageName; private analyzeDependencyUsages; private analyzeSingleDependency; private findUnusedDependencies; private shouldSkipDependency; private findAllImportedFiles; private findEntryPoints; private findNavigationEntryPoints; private findUnusedFiles; private isNavigationPatternFile; private extractAllImportedNames; private isLikelyUsedByFuzzyMatch; private isSpecialFile; private findUnusedImports; private fileHasExports; private extractImportedNamesFromFile; private isNameUsedInFile; private fileHasJSX; private getAllSourceFiles; }