import type { ReductionResult } from "../reducer/reducer.ts"; export interface TreeDiff { added: string[]; removed: string[]; modified: string[]; } export declare function diffTrees(a: ReductionResult, b: ReductionResult): TreeDiff; /** * Unified diff of two texts (Phase 16 M1.2, docs/18 ยง1.2). * * Built on merge3's LCS hunk core rather than a second diff implementation: a patch an * agent reads must describe the same line changes the reducer would merge, and two * independent algorithms would eventually disagree about which lines moved. * * `context` lines surround each hunk; adjacent hunks whose context would overlap are * emitted as one, the way `diff -u` does. */ export declare function unifiedDiff(a: string, b: string, opts?: { context?: number; }): string; export interface OpSetDiff { /** Accepted in b but not a. */ added: string[]; /** Accepted in a but not b. */ removed: string[]; } /** Symmetric difference of the accepted operation sets of two reductions. */ export declare function diffAcceptedOps(a: ReductionResult, b: ReductionResult): OpSetDiff; //# sourceMappingURL=diff.d.ts.map