import { ParsedFile, ParsedSymbol, ParsedReference } from './types'; export declare class ParserUtils { /** * Determine programming language from file path */ static getLanguageFromPath(filePath: string): string | null; /** * Check if a file should be parsed based on its path */ static shouldParseFile(filePath: string): boolean; /** * Extract namespace/module information from file path */ static extractNamespace(filePath: string, rootPath: string): string[]; /** * Calculate symbol complexity score */ static calculateComplexity(symbol: ParsedSymbol): number; /** * Determine if a symbol is likely an entry point */ static isEntryPoint(symbol: ParsedSymbol, filePath: string): boolean; /** * Extract dependencies from imports */ static extractDependencies(parsedFile: ParsedFile): { internal: string[]; external: string[]; }; /** * Check if an import is internal (relative path or same project) */ static isInternalImport(importPath: string, currentFilePath: string): boolean; /** * Group symbols by type */ static groupSymbolsByType(symbols: ParsedSymbol[]): Record; /** * Find symbol references by name */ static findSymbolReferences(symbolName: string, references: ParsedReference[]): ParsedReference[]; /** * Calculate file statistics */ static calculateFileStats(parsedFile: ParsedFile): { totalSymbols: number; totalReferences: number; totalImports: number; totalExports: number; symbolsByType: Record; dependencies: { internal: string[]; external: string[]; }; linesOfCode: number; fileSize: number; averageComplexity: number; }; /** * Normalize symbol name for comparison */ static normalizeSymbolName(name: string): string; /** * Check if two symbols are likely the same */ static areSymbolsSimilar(symbol1: ParsedSymbol, symbol2: ParsedSymbol): boolean; /** * Calculate string similarity using Levenshtein distance */ private static calculateStringSimilarity; } //# sourceMappingURL=utils.d.ts.map