import { BaseMathFunctionJsNode } from './_BaseMathFunction';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { VectorFunctionName, MathVectorFunction, MathPrimArray, MathVectorArray, MathFloat } from '../../functions/_MathGeneric';
interface MathArg1OperationOptions {
    inputPrefix: string;
    out: string;
    allowed_in_types?: JsConnectionPointType[];
}
export interface MathFunctionData<MVF extends MathVectorFunction> {
    vectorFunctionNameFunction: VectorFunctionName<MVF>;
    mathFloat: MathFloat;
    mathPrimArray: MathPrimArray;
    mathVectorArray: MathVectorArray;
}
export declare const PRIMITIVE_ALLOWED_TYPES: JsConnectionPointType[];
export declare const DEFAULT_ALLOWED_TYPES: JsConnectionPointType[];
export declare const FUNC_ARG_NAME = "_mathFunc";
export declare function MathFunctionArgXOperationFactory<MVF extends MathVectorFunction>(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export declare function MathFunctionArg1OperationFactory(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export declare function MathFunctionArg2OperationFactory(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export declare function MathFunctionArg3OperationFactory(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export declare function MathFunctionArg4OperationFactory(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export declare function MathFunctionArg5OperationFactory(type: string, options: MathArg1OperationOptions): typeof BaseMathFunctionJsNode;
export {};
