/** * Public surface of the formula engine. * * Nothing in `./` imports Vue, the DOM or any spreadsheet library. See * ./README.md for the grammar (EBNF), the evaluation model and the error model. */ export { tokenize, LexError, type Token, type TokenType } from './lexer'; export { parseFormula, completeFormula, parseFunctionBlock, parseMacroBlock, collectRefs, collectRefsInBlock, ParseError, type Node, type CellNode, type RangeNode, type NamedRefNode, type BlockNode, type ActionNode, } from './parser'; export { evaluate, runMacroActions } from './evaluator'; export { DependencyGraph } from './graph'; export { FUNCTIONS, getFunction, hasFunction, BUILTIN_SIGNATURES } from './functions'; export { colToNumber, numberToCol, parseA1, toA1, looksLikeCell, expandRange, rangeCells, wholeLineAt, parseLinePart, formatLinePart, WHOLE_LINE_END, cycleReferenceLocks, currentIdentifierAtCaret, formulaRefSpans, type RefSpan, } from './refs'; export { Workbook, literalValue, type TableModel, } from './workbook'; export { dateToSerial, timeSerial, serialToUtcDate, todaySerial, nowSerial, parseDateTimeLiteral, type DateLiteralKind, } from './dates'; export { buildFunctionIndex, expandUserFunctions, expandMacroBlock, collectCalledFunctionNames, collectCalledFunctionNamesInBlock, declaredBlockNames, findInvalidForSource, findInvalidActionTarget, blockAlwaysReturns, type FunctionDef, } from './userFunctions'; export { FormulaError, isError, keyOf, parseKey, ERROR_CODES, type ErrorCode, type CellValue, type CellRef, type Scalar, type EngineHost, type MacroWriteHost, type MacroNetworkHost, type NamedRangeDef, } from './types';