/**
 * rotates an input vector
 *
 *
 *
 */
import { Number3 } from '../../../types/GlobalTypes';
import { TypedJsNode } from './_Base';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
export declare enum JsRotateMode {
    AXIS = 0,
    QUAT = 1
}
export declare enum JsRotateInputNameAxisMode {
    AXIS = "axis",
    ANGLE = "angle"
}
declare class RotateParamsConfig extends NodeParamsConfig {
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class RotateJsNode extends TypedJsNode<RotateParamsConfig> {
    paramsConfig: RotateParamsConfig;
    static type(): string;
    initializeNode(): void;
    setMode(mode: JsRotateMode): void;
    mode(): JsRotateMode;
    protected _expectedInputName(index: number): string;
    protected _expectedOutputName(index: number): JsConnectionPointType;
    paramDefaultValue(name: string): Number3;
    functionName(): string;
    protected _expectedInputTypes(): JsConnectionPointType[];
    protected _expectedOutputTypes(): JsConnectionPointType[];
    setLines(linesController: JsLinesCollectionController): void;
    private _setLinesForAxisAngle;
    private _setLinesForQuat;
}
export {};
