export interface ImpactResult { changedFiles: string[]; affectedTests: ImpactedTest[]; unaffectedCount: number; } export interface ImpactedTest { name: string; file: string; reason: string; } /** * Analyze which tests are affected by a set of changed files. * * Heuristics: * - If a test references a tool whose name appears in a changed file path, it's affected * - If a test's trace file references a changed file, it's affected * - If a changed file is a core module, all tests may be affected */ export declare function analyzeImpact(changedFiles: string[], suiteFiles: string[]): ImpactResult; /** * Format impact analysis results. */ export declare function formatImpact(result: ImpactResult): string; /** * Parse a git diff --name-only output into changed file list. */ export declare function parseGitDiffOutput(output: string): string[]; /** * Compute estimated savings from impact analysis. */ export declare function estimateSavings(result: ImpactResult): { runtimePercent: number; costPercent: number; }; //# sourceMappingURL=impact.d.ts.map