import type { CallGraph, ImpactResult, ImpactOptions, AffectedSymbol } from "./types"; /** * Analyzes the impact of changing a symbol or file. * Uses BFS reverse-dependency traversal to find all affected code. */ export declare class ImpactAnalyzer { private graph; constructor(graph: CallGraph); /** * Analyze the impact of changing a specific symbol. */ analyzeSymbol(symbolName: string, options?: ImpactOptions): ImpactResult; /** * Analyze the impact of changing a specific file. */ analyzeFile(filePath: string, options?: ImpactOptions): ImpactResult; /** * Analyze the impact of a git diff (unified format). * * Parses changed file paths and line ranges from the diff, finds all symbols * overlapping those ranges, then runs BFS reverse-dependency traversal on each * to find the combined blast radius. */ analyzeDiff(diffContent: string, options?: ImpactOptions): ImpactResult; /** * Find the highest-risk symbols in the codebase. */ findRiskiestSymbols(topN?: number): AffectedSymbol[]; /** * Find orphan symbols (defined but never called). */ findOrphans(): AffectedSymbol[]; /** * Parse a git unified diff into { filePath: [lineStart, lineEnd][] }. * Matches: * +++ b/path/to/file.ts * @@ -oldStart,oldCount +newStart,newCount @@ */ private parseDiff; private calculateSummary; private generateRecommendations; private isTestFile; private createEmptyResult; } //# sourceMappingURL=impact-analyzer.d.ts.map