import { Color } from '@galacean/effects-math/es/core/color'; import type { VFXItem } from '../../vfx-item'; import type { Transform } from '../../transform'; import { NodeTransform } from './pose'; import type { ColorAnimationCurve, FloatAnimationCurve } from '../../animation/animation-clip'; export interface AnimationRecordData { position: string[]; scale: string[]; rotation: string[]; euler: string[]; floats: FloatAnimationCurve[]; colors: ColorAnimationCurve[]; } export declare enum AnimatedPropertyType { Float = 0, Color = 1 } export interface AnimatedObject { propertyPath: string; propertyName: string; target: Record; directTarget: Record; } export declare const VFXItemType = "VFXItem"; export declare class Skeleton { rootBone: VFXItem; useEuler: boolean; pathToObjectIndex: Map; floatAnimatedObjects: AnimatedObject[]; defaultFloatPropertyValues: number[]; colorAnimatedObjects: AnimatedObject[]; defaultColorPropertyValues: Color[]; animatedTransforms: Transform[]; parentSpaceTransforms: NodeTransform[]; pathToBoneIndex: Map; constructor(rootBone: VFXItem, recordedProperties: AnimationRecordData); private addReferenceTransform; private addRecordedProperty; private findTarget; }