import IMathNode from "../../interface/IMathNode";
import GameGraphChild from "../GameGraphChild";
export default class MathNode extends GameGraphChild implements IMathNode {
    static componentName: string;
    static defaults: Partial<import("../../interface/utils/Defaults").default<IMathNode>>;
    static schema: Required<import("../../interface/utils/extractProps").ExtractProps<IMathNode>>;
    static includeKeys: string[];
    protected mathFn: {
        abs: (x: number) => number;
        log: (x: number) => number;
        sqrt: (x: number) => number;
        min: (...values: number[]) => number;
        max: (...values: number[]) => number;
        randomRange: (min: number, max: number) => number;
        mapRange: (value: number, minFrom: number, maxFrom: number, minTo: number, maxTo: number, constrain?: boolean | undefined) => number;
        ceil: (x: number) => number;
        floor: (x: number) => number;
        round: (x: number) => number;
        sign: (x: number) => number;
        sin: (x: number) => number;
        cos: (x: number) => number;
        tan: (x: number) => number;
        asin: (x: number) => number;
        acos: (x: number) => number;
        atan: (x: number) => number;
        atan2: (y: number, x: number) => number;
        radToDeg: (rad: number) => number;
        degToRad: (deg: number) => number;
        mToCM: (m: number) => number;
        cmToM: (cm: number) => number;
        lerp: (a: number, b: number, t: number) => number;
        inverseLerp: (a: number, b: number, t: number) => number;
        smoothStep: (a: number, b: number, t: number) => number;
        clamp: (val: number, min: number, max: number) => number;
        fraction: (val: number) => number;
        trunc: (val: number) => number;
        cross: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => import("../..").Point3d;
        dot: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => number;
        length: (a: import("../../utils/isPoint").Point3dType) => number;
        distance: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => number;
        normalize: (a: import("../../utils/isPoint").Point3dType) => import("../..").Point3d;
        reflect: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => import("../..").Point3d;
        project: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => import("../..").Point3d;
        angle: (a: import("../../utils/isPoint").Point3dType, b: import("../../utils/isPoint").Point3dType) => number;
        rotate: (a: import("../../utils/isPoint").Point3dType, axis: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateX: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateY: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateZ: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateXY: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateXZ: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        rotateYZ: (a: import("../../utils/isPoint").Point3dType, angle: number) => import("../..").Point3d;
        multiply: (a: import("../../utils/isPoint").Point3dType, b: number | import("../../utils/isPoint").Point3dType) => import("../..").Point3d;
    };
    private setRuntimeData;
    private compiled?;
    private _expression?;
    get expression(): string | undefined;
    set expression(val: string | undefined);
}
