/**
 * Value of the property the animation will be animated to
 *
 *
 */
import { TypedAnimNode } from './_Base';
import { TimelineBuilder } from '../../../core/animation/TimelineBuilder';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
export declare enum AnimPropertyValueNodeMode {
    CUSTOM = "custom",
    FROM_SCENE_GRAPH = "from scene graph",
    FROM_NODE = "from node"
}
declare class PropertyValueAnimParamsConfig extends NodeParamsConfig {
    /** @param mode */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param if set to a Polygonjs node, this is the node path */
    nodePath: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param if set to a THREE object, this is a mask to find the objects */
    objectMask: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param print the object matching the objectMask, to help debugging */
    printResolve: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    overridePropertyName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    propertyName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param size of the parameter to animate */
    size: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param value for a float */
    value1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param value for a vector2 */
    value2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
    /** @param value for a vector3 */
    value3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param value for a vector3 as color */
    color: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @param value for a vector4 */
    value4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR4>;
    /** @param when using vector3, use toggle on it should be a color */
    asColor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class PropertyValueAnimNode extends TypedAnimNode<PropertyValueAnimParamsConfig> {
    paramsConfig: PropertyValueAnimParamsConfig;
    static type(): string;
    initializeNode(): void;
    cook(inputContents: TimelineBuilder[]): Promise<void>;
    setMode(targetType: AnimPropertyValueNodeMode): void;
    private _prepareTimelineBuilder;
    private _prepareTimebuilderCustom;
    private _prepareTimebuilderFromSceneGraph;
    private _prepareTimebuilderFromNode;
    static PARAM_CALLBACK_printResolve(node: PropertyValueAnimNode): void;
    private _foundObjectFromSceneGraph;
    private printResolve;
}
export {};
