import { BaseNodeType } from '../../engine/nodes/_Base';
import { FloatParam } from '../../engine/params/Float';
import { Vector3Param } from '../../engine/params/Vector3';
import { BaseParamType } from '../../engine/params/_Base';
import { Vector2 } from 'three';
import { Vector3 } from 'three';
import { Vector4 } from 'three';
import { Color } from 'three';
import { ColorParam } from '../../engine/params/Color';
import { Vector4Param } from '../../engine/params/Vector4';
import { Vector2Param } from '../../engine/params/Vector2';
import { IntegerParam } from '../../engine/params/Integer';
import { CubicInterpolant } from 'three';
export declare class FloatParamProxy {
    private param;
    proxyValue: number;
    constructor(param: FloatParam);
    update(interpolant?: CubicInterpolant): void;
}
export declare class IntegerParamProxy {
    private param;
    proxyValue: number;
    constructor(param: IntegerParam);
    update(): void;
}
export declare class Vector2ParamProxy {
    private param;
    proxyValue: Vector2;
    private _array;
    constructor(param: Vector2Param);
    update(): void;
}
export declare class Vector3ParamProxy {
    private param;
    proxyValue: Vector3;
    private _array;
    constructor(param: Vector3Param);
    update(): void;
}
export declare class Vector4ParamProxy {
    private param;
    proxyValue: Vector4;
    private _array;
    constructor(param: Vector4Param);
    update(): void;
}
export declare class ColorParamProxy {
    private param;
    proxyValue: Color;
    private _array;
    constructor(param: ColorParam);
    update(): void;
}
type AnimationParamProxy = FloatParamProxy | IntegerParamProxy | Vector2ParamProxy | Vector3ParamProxy | ColorParamProxy | Vector4ParamProxy;
export declare class AnimationNodeParamsProxy {
    private _map;
    constructor(node: BaseNodeType);
    private _createParamProxy;
    getParamProxy(param: BaseParamType): AnimationParamProxy | undefined;
}
export {};
