/**
 * Can blend between 2 other OBJ nodes.
 *
 *
 */
import { TypedObjNode } from './_Base';
import { Mesh } from 'three';
import { FlagsControllerD } from '../utils/FlagsController';
import { HierarchyController } from './utils/HierarchyController';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class BlendObjParamConfig extends NodeParamsConfig {
    /** @param object to blend transform from */
    object0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param object to blend transform to */
    object1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param blend mode */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param blend value */
    blend: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param blend translation value */
    blendT: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param blend rotation value */
    blendR: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param updateOnRender */
    updateOnRender: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class BlendObjNode extends TypedObjNode<Mesh, BlendObjParamConfig> {
    paramsConfig: BlendObjParamConfig;
    static type(): string;
    readonly hierarchyController: HierarchyController;
    readonly flags: FlagsControllerD;
    private _helper;
    createObject(): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
    initializeNode(): void;
    private _updateHelperHierarchy;
    private _object0;
    private _object1;
    cook(): Promise<void>;
    private _onBeforeRender;
    private _computeBlendedMatrix;
    private _t0;
    private _q0;
    private _s0;
    private _t1;
    private _q1;
    private _s1;
    private _blendTogether;
    private _blendSeparately;
    private _decomposeMatrices;
    private _updateMatrix;
}
export {};
