import { type NodeId } from "../expr.js"; import { type Rule } from "../rule.js"; export interface DistributeParams { /** The factor to push in — any direct child of the Product at `location`. */ readonly factorId: NodeId; /** A Sum that is a direct sibling factor. */ readonly sumId: NodeId; } /** * Push one factor of a Product into a Sum sibling: * 2·(x + 3) ~> 2x + 2·3 y·2·(x + 3) ~> y·(2x + 2·3) * The factor survives by identity inside the FIRST term (its other copies * are fresh clones that fade in); the Sum keeps its id; every original term * keeps its id inside its new product. Exactly solution-preserving. The * inverse is factor-out. */ export declare const distribute: Rule; //# sourceMappingURL=distribute.d.ts.map