import { Token } from './lexer.js'; import { Parser } from './parser.js'; export declare class Evaluator { variables: Record; parser: Parser; static constants: { tau: number; pi: number; phi: number; ln2: number; ln10: number; log2e: number; log10e: number; }; static functions: { cos: (x: number) => number; acos: (x: number) => number; acosh: (x: number) => number; sin: (x: number) => number; asin: (x: number) => number; asinh: (x: number) => number; tan: (x: number) => number; atan: (x: number) => number; atanh: (x: number) => number; atan2: (y: number, x: number) => number; abs: (x: number) => number; ceil: (x: number) => number; round: (x: number) => number; floor: (x: number) => number; exp: (x: number) => number; random: () => number; sqrt: (x: number) => number; cbrt: (x: number) => number; log10: (x: number) => number; log2: (x: number) => number; log: (value: number, base?: number) => number; dist: (x1: number, y1: number, x2: number, y2: number) => number; gcd: (a: number, b: number) => number; max: (...args: any[]) => number; min: (...args: any[]) => number; hypot: (...args: number[]) => number; lcm: (a: number, b: number) => number; sum: (...args: any[]) => any; mean: (...args: any[]) => number; median: (...args: any[]) => any; std: (...args: any[]) => number; var: (...args: any[]) => number; fact: (n: number) => number; }; static multiargFunctions: string[]; history: Record; orderedExprs: string[]; historyLimit: number; constructor(variables: Record); evaluate(expr: string, index?: number): number; }