import { SymbolInfo } from '../types.js'; export declare class SemanticAnalyzer { private projectDir; private symbols; private importGraph; private exportMap; private usageMap; constructor(projectDir: string); /** Run full semantic analysis across the project */ analyzeProject(): Promise<{ symbols: Map; unusedExports: SymbolInfo[]; deadCode: SymbolInfo[]; }>; /** Extract symbols from a single file */ extractSymbols(filePath: string): SymbolInfo[]; /** Get all source files in the project */ private getSourceFiles; /** Extract import relationships from a file */ private extractImports; /** Build a map of which files use each symbol */ private buildUsageMap; /** Detect exported symbols that are never imported/used elsewhere */ private detectUnusedExports; /** Detect dead code — private functions/methods never called within their file */ private detectDeadCode; /** Check if a symbol is imported in any file */ private isSymbolImported; /** Check if a file is an entry point (main, index, etc.) */ private isEntryPoint; /** Check if a symbol name is a common/expected export */ private isCommonExport; /** Check if a line is an export statement */ private isExported; /** Strip comments from source code */ private stripComments; /** Get 1-based line number from character offset */ private getLineNumber; /** Detect language from file extension */ private getLanguageForExt; /** Check if a name is a language builtin */ private isBuiltin; /** Escape special regex characters */ private escapeRegex; } //# sourceMappingURL=semantic-analyzer.d.ts.map