export declare const browserScalarFunctionArities: Map; export declare function normalizeSpreadsheetFunctionName(name: string): string; /** * Evaluate the bounded browser implementation of `SUBTOTAL`. * * Fortune delegates unknown functions to Formula.js. Formula.js returns an * undefined value for an unknown function number, which the parser can then * coerce into a boolean. Keeping this small implementation here makes the * JavaScript fallback deterministic and aligned with the Rust kernel. The * calculation request does not carry hidden-row metadata yet, so the 1–11 * and 101–111 function-number families intentionally have the same result. */ export declare function evaluateParserSubtotal(parameters: readonly unknown[]): unknown; export type SpreadsheetFormulaDateSystem = '1900' | '1904'; /** * Bounded Traditional Office `DATE` / `YEAR` / `MONTH` / `DAY` helpers that keep * Excel serial numbers instead of JavaScript `Date` objects. */ export declare function evaluateParserDate(parameters: readonly unknown[], dateSystem?: SpreadsheetFormulaDateSystem): unknown; export declare function evaluateParserYear(parameters: readonly unknown[], dateSystem?: SpreadsheetFormulaDateSystem): unknown; export declare function evaluateParserMonth(parameters: readonly unknown[], dateSystem?: SpreadsheetFormulaDateSystem): unknown; export declare function evaluateParserDay(parameters: readonly unknown[], dateSystem?: SpreadsheetFormulaDateSystem): unknown; /** * Bounded Traditional Office `NUMBERVALUE` with explicit decimal/group * separators. One-argument calls keep en-US defaults (`.` decimal, `,` * thousands) and refuse ambiguous comma-decimal text so locale guessing stays * fail-closed — use `NUMBERVALUE(text, ",", ".")` for EU-style decimals. */ export declare function evaluateParserNumberValue(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `VALUE` with locale guessing for unambiguous * decimal/group separators. Prefer the last separator as decimal when both * `,` and `.` appear; treat one-separator text as EU decimal when the * fractional part has 1–2 digits, otherwise as US thousands groups of three. * Remaining ambiguous shapes stay `#VALUE!` (use `NUMBERVALUE` with explicit * separators). */ export declare function evaluateParserValue(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `SEQUENCE` returning a row-major numeric grid for * dynamic-array spill materialization in the JavaScript fallback. */ export declare function evaluateParserSequence(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `TRANSPOSE` returning a transposed numeric/text * grid for dynamic-array spill materialization. */ export declare function evaluateParserTranspose(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `UNIQUE` (row-wise, keep first occurrence). * Optional `by_col` / `exactly_once` arguments stay fail-closed as `#VALUE!` * when non-default so the spill surface remains intentional. */ export declare function evaluateParserUnique(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `FILTER` (row or column include masks). * Empty results without `if_empty` fail closed as `#CALC!`. */ export declare function evaluateParserFilter(parameters: readonly unknown[]): unknown; /** * Bounded Traditional Office `SORT` (row-wise by one column index). * Non-default `by_col` stays fail-closed as `#VALUE!`. */ export declare function evaluateParserSort(parameters: readonly unknown[]): unknown; export declare function normalizeFormulaForFortuneParser(formula: string): string;