interface Token { type: string; value: string | number; } interface ExpressionNode { type: 'NUMBER'; value: number; } export declare class ExpressionParser { private tokens; private formatter; private functions; private current; constructor(input: string, formatter?: (val: string) => number, functions?: { [key: string]: (...args: number[]) => number; }); tokenize(input: string): Token[]; parse(): ExpressionNode; private expression; private term; private factor; private parseArguments; private applyOperator; private applyFunction; } interface FuncInfo { start: number; end: number; args: string[]; } export declare function parseFunc(str: string, funcName: string): FuncInfo[]; export declare class ReplaceSource { private _source; private _replacements; constructor(source: string); replace(start: number, end: number, content: string): void; source(): string; } export {};