import type { MathNode, ConstantNode, SymbolNode, ParenthesisNode, FunctionNode, OperatorNode } from '../utils/node.js'; import type { TypedFunction } from '../core/function/typed.js'; import type { ConfigOptions } from '../core/config.js'; interface ConstantNodeConstructor { new (value: unknown): ConstantNode; } interface FunctionNodeConstructor { new (name: string | SymbolNode, args: MathNode[]): FunctionNode; } interface OperatorNodeConstructor { new (op: string, fn: string, args: MathNode[]): OperatorNode; } interface ParenthesisNodeConstructor { new (content: MathNode): ParenthesisNode; } interface SymbolNodeConstructor { new (name: string): SymbolNode; } interface DerivativeDependencies { typed: TypedFunction; config: ConfigOptions; parse: (expr: string) => MathNode; simplify: (node: MathNode) => MathNode; equal: (a: unknown, b: unknown) => boolean; isZero: (x: unknown) => boolean; numeric: (value: number, type: string) => unknown; ConstantNode: ConstantNodeConstructor; FunctionNode: FunctionNodeConstructor; OperatorNode: OperatorNodeConstructor; ParenthesisNode: ParenthesisNodeConstructor; SymbolNode: SymbolNodeConstructor; } export declare const createDerivative: import("../utils/factory.js").FactoryFunction string; }>; export {}; //# sourceMappingURL=derivative.d.ts.map