import type { DiffFile } from "./diff-parser.js"; import type { Finding } from "./types.js"; /** * Flag statements the diff ADDS that assign into module-level (top-level, exported, or * object-shaped) state from inside a function body. * * A tracked binding is either exported, or a top-level `const`/`let`/`var` initialized to an * object/array literal or a `new X(...)` instance — the shapes a mutation actually changes for * every future reader of the module, as opposed to a local primitive that happens to sit at * module scope. Both a direct assignment (`state.x = …`, compound operators included) and a call * to a known mutating method (`push`, `set`, `delete`, …) on a property/element-access chain * rooted at that binding count. Only sites on lines the diff ADDED are reported — a mutation the * delegate did not touch is not this diff's defect. */ export declare function analyzeSharedStateMutation(files: readonly DiffFile[], readOriginal: (path: string) => string | null): Finding[];