import type { Euler } from '@galacean/effects-math/es/core/euler'; import type { Quaternion } from '@galacean/effects-math/es/core/quaternion'; import * as spec from '@galacean/effects-specification'; import { EffectsObject } from '../effects-object'; import type { ValueGetter, Vector3Curve, BezierCurve, ColorCurve } from '../math'; import type { VFXItem } from '../vfx-item'; export interface AnimationCurve { path: string; keyFrames: ValueGetter; } export interface PositionAnimationCurve extends AnimationCurve { keyFrames: Vector3Curve; } export interface EulerAnimationCurve extends AnimationCurve { keyFrames: ValueGetter; } export interface RotationAnimationCurve extends AnimationCurve { keyFrames: ValueGetter; } export interface ScaleAnimationCurve extends AnimationCurve { keyFrames: Vector3Curve; } export interface FloatAnimationCurve extends AnimationCurve { property: string; className: string; keyFrames: BezierCurve; } export interface ColorAnimationCurve extends AnimationCurve { property: string; className: string; keyFrames: ColorCurve; } export declare class AnimationClip extends EffectsObject { duration: number; positionCurves: PositionAnimationCurve[]; rotationCurves: RotationAnimationCurve[]; eulerCurves: EulerAnimationCurve[]; scaleCurves: ScaleAnimationCurve[]; floatCurves: FloatAnimationCurve[]; colorCurves: ColorAnimationCurve[]; sampleAnimation(vfxItem: VFXItem, time: number): void; fromData(data: spec.AnimationClipData): void; private findTarget; }