/** * Plain-language narration of a Move: "Subtract 3 from both sides", "Divide * both sides by 2", … A UI shows this beside the drag preview so a silent * gesture is also a NAMED algebraic step — the vocabulary a learner carries to * the page. Pure (no DOM): maps (judgment, move) to a phrase, deriving any * operand text from the tree the move references. */ import type { Judgment } from "./assumptions.js"; import { type Expr } from "./expr.js"; import type { Move } from "./moves.js"; /** * Compact, human-friendly rendering of an expression for captions: implicit * multiplication (3x), superscript powers (x²), √, fraction bars. Distinct * from exprToString, whose job is a reparseable round-trip (3 * x, x^2). */ export declare function describeExpr(e: Expr): string; /** * A plain-language name for a Move, or undefined when there is no caption worth * showing. Both-sides moves name their operand from the tree; structural moves * get a fixed, learner-facing verb. */ export declare function describeMove(judgment: Judgment, move: Move): string | undefined; //# sourceMappingURL=describe.d.ts.map