/** * Formula evaluation engine — SUM, AVG, IF, etc. with A1 cell references. * * Operates on a cell grid (string[][]) with headers for named column references. * All functions are pure — they take the grid as a parameter, no class state. */ /** Context needed for formula evaluation. */ export interface FormulaContext { cells: string[][]; headers: string[]; colCount: number; evaluate: (row: number, col: number) => string; } /** Split formula arguments respecting nested parentheses. */ export declare function splitFormulaArgs(argsStr: string): string[]; /** Check if a formula string is a visual formula (PIE, BAR, LINE, etc.). */ export declare function isVisualFormula(formula: string): boolean; /** Safely evaluate a mathematical expression string. */ export declare function safeEval(expression: string): any; /** Evaluate built-in functions (SUM, AVG, MAX, etc.) in a formula string. */ export declare function evaluateFunctions(formula: string): string; /** * Evaluate a formula string against a cell grid. * * Resolves cell references (A1, B2), range references (A1:B5), * header-based references (Name2), and built-in functions. */ export declare function evaluateFormula(formula: string, ctx: FormulaContext, _currentRow: number, _currentCol: number): string | number; /** Resolve a range reference to string values using the evaluate function. */ export declare function resolveRangeToStrings(range: string, ctx: FormulaContext): string[]; /** Resolve a range reference to numeric values using the evaluate function. */ export declare function resolveRangeToNumbers(range: string, ctx: FormulaContext): number[]; //# sourceMappingURL=formulas.d.ts.map