/** * Node Operations Utility Module * * Provides shared functionality for arithmetic operators to work with * expression Node objects, creating symbolic operation results. * * This module enables arithmetic operators (add, subtract, multiply, divide) * to accept Node objects as operands and return OperatorNode results for * symbolic computation. */ /** Minimum structural type of an expression-tree node, as the node operations use it. */ export interface MathNode { type: string; isNode: boolean; toString: () => string; } interface ConstantNodeConstructor { new (value: unknown): MathNode; } interface OperatorNodeConstructor { new (op: string, fn: string, args: MathNode[], implicit?: boolean): MathNode; } interface Dependencies { ConstantNode: ConstantNodeConstructor; OperatorNode: OperatorNodeConstructor; } export declare const name = "nodeOperations"; export declare const dependencies: string[]; export declare const createNodeOperations: import("../../utils/factory.js").FactoryFunction MathNode; createBinaryNode: (op: string, fn: string, left: unknown, right: unknown) => MathNode; createNaryNode: (op: string, fn: string, args: unknown[]) => MathNode; hasNodeArg: (...args: unknown[]) => boolean; getOperator: (fn: string) => string; OPERATOR_MAP: Record; }>; export {}; //# sourceMappingURL=nodeOperations.d.ts.map