import { type NodeId } from "../expr.js"; import { type Rule } from "../rule.js"; export interface MoveTermAcrossParams { /** A top-level term of either side (a Sum child, or the whole side). */ readonly termId: NodeId; } /** * Move a term to the other side of the equals sign, sign-flipped — what a * human writes, in one gesture: * 2x = 10 − 3x ~> 2x + 3x = 10 x + 2 = 5 ~> x = 5 − 2 * * Semantically this is add-to-both-sides followed by the exact structural * cancellation at the source (t + (−t) annihilates), so it is exactly * solution-preserving and emits nothing. The term's body travels by * identity: moving −3x re-uses the 3x node on the far side (the minus is * consumed); moving a positive term re-uses it under a fresh minus. */ export declare const moveTermAcross: Rule; //# sourceMappingURL=moveTermAcross.d.ts.map