import type { FormulaErrorValue } from "./formulaErrors.mjs"; import type { FormulaBinaryOperator } from "./formulaAst.mjs"; /** * Coercion to the numeric context (`+ - * / ^`, math functions). * number -> itself; string -> trimmed strict parse; boolean -> 1/0; * empty -> 0; Date -> epoch milliseconds (documented deviation from Excel serial dates). */ export declare function toFormulaNumber(value: unknown): number | FormulaErrorValue; /** * Coercion to the text context (`&`, text functions). * Numbers serialize with `.` decimal separator, locale-independent. */ export declare function toFormulaText(value: unknown): string | FormulaErrorValue; /** * Coercion to the boolean context (IF condition, AND/OR/NOT). */ export declare function toFormulaBoolean(value: unknown): boolean | FormulaErrorValue; /** * Empty-cell test: `null`/`undefined` are empty; `0`, `''` and `false` are not. */ export declare function isEmptyFormulaValue(value: unknown): boolean; type ComparisonOperator = Extract' | '<' | '<=' | '>' | '>='>; /** * Comparison semantics shared by the evaluator and function implementations. * Equality across different types is FALSE; ordered comparison across * different types is `#VALUE!` (deliberate deviation from Excel's total order). * All string comparisons are case-insensitive (Excel behavior); the decision * is isolated here so it stays one-line reversible. */ export declare function compareFormulaScalars(operator: ComparisonOperator, left: unknown, right: unknown): boolean | FormulaErrorValue; export {};