import { Object3D } from 'three';
import { ColorParam } from '../../engine/params/Color';
import { FloatParam } from '../../engine/params/Float';
import { IntegerParam } from '../../engine/params/Integer';
import { Vector2Param } from '../../engine/params/Vector2';
import { Vector3Param } from '../../engine/params/Vector3';
import { Vector4Param } from '../../engine/params/Vector4';
import { TimelineData } from '../thirdParty/gsap/gsap';
interface SceneGraphProperty {
    object: Object3D;
    propertyName: string;
}
export type RegisterableProperty = SceneGraphProperty | string | IntegerParam | FloatParam | Vector2Param | Vector3Param | Vector4Param | ColorParam;
declare class AnimatedPropertiesRegisterClass {
    private static _instance;
    static instance(): AnimatedPropertiesRegisterClass;
    private _propertiesMap;
    private constructor();
    registerProp(property: RegisterableProperty, timelineData: TimelineData): void;
    deRegisterProp(property: RegisterableProperty): void;
    registeredTimelineForProperty(property: RegisterableProperty): TimelineData | undefined;
    registeredPropertiesCount(): number;
    private _convert;
}
export declare const AnimatedPropertiesRegister: AnimatedPropertiesRegisterClass;
export {};
