/** * Structural Change Analysis — graph diff (spec-21). * * Given a change (working tree vs a ref, or two refs), compute what changed * *structurally*: which functions/edges were added or removed, which signatures * changed, and which existing callers are now STALE because a callee's signature * moved under them. A review/refactor agent gets a precise structural changelog * instead of re-deriving consequences from a raw text diff. * * The difference between "these 40 lines changed" (git diff) and "this removed * function C, altered the signature of D, and 5 of D's callers are now stale" * (graph diff) — a computed consequence (Layer 3), not retrieval. * * Bounded: only the changed files are re-parsed (old content via `git show`, new * via the working tree / ref), so two in-memory snapshots are cheap. The canonical * graph is never mutated. Stale callers come from the cached graph (all callers). * * Honest limits: a moved/renamed-file symbol is matched exactly by its * content-addressed stable id (the same symbol, not delete+add). Identifier * renames and symbols with no stable id stay heuristic — both interpretations are * reported, never silently guessed. */ export interface StructuralDiffInput { directory: string; /** Old state (default "HEAD"). */ baseRef?: string; /** New state. Omit to use the working tree. */ headRef?: string; /** Cap reported items per category (default 200). */ maxResults?: number; } export declare function handleStructuralDiff(input: StructuralDiffInput): Promise; //# sourceMappingURL=structural-diff.d.ts.map