import type { FormulaAstNode } from "./formulaAst.mjs"; /** * The `FIELD("…")` escape for a field name that cannot be written bare — * shared with the A1 display serializer, which additionally escapes names * that would read as A1 cell addresses. */ export declare function serializeEscapedFieldRef(field: string): string; /** * Serializes an AST back to a canonical expression string (without the leading * `=`). Stable formatting: uppercase function names, `, ` separators, minimal * parentheses re-derived from precedence. `parseFormula(serializeFormulaAst(ast))` * yields a structurally identical AST (modulo source spans). * * The round-trip guarantee covers parser-produced ASTs. Hand-built ASTs must * respect the parser's invariants: heights below the parser's depth bound, * finite number literals, and negation encoded as a `unaryExpression` over a * non-negative `numberLiteral` (negative `numberLiteral` values serialize to * text the parser reads as a unary expression). */ export declare function serializeFormulaAst(node: FormulaAstNode): string;