import { FormulaParser } from './parser'; import { CompiledFormula } from './compiled-formula'; export declare class Formula { parserInstant: FormulaParser; customFunction: Record; constructor({ data, customFunction }: { data?: {} | undefined; customFunction?: {} | undefined; }); /** * 执行公式(传统模式) * @param string - 公式字符串 * @param _data - 数据上下文 * @returns 计算结果 */ exec(string: string, _data?: Record): unknown; /** * 预编译公式(批量执行模式) * 解析一次公式,返回可重复执行的编译对象 * @param formulaString - 公式字符串 * @returns CompiledFormula 实例 * @example * ```typescript * const formula = new Formula({ customFunction: {} }) * const compiled = formula.compile('SUM({a}, {b})') * * // 单次执行 * const result1 = compiled.exec({ a: 1, b: 2 }) // 3 * const result2 = compiled.exec({ a: 10, b: 20 }) // 30 * * // 批量执行 * const results = compiled.batchExec([ * { a: 1, b: 2 }, * { a: 10, b: 20 }, * { a: 100, b: 200 } * ]) // [3, 30, 300] * ``` */ compile(formulaString: string): CompiledFormula; genDiagrams(): string; } export { CompiledFormula } from './compiled-formula';