import { SerializableObject } from "../../core/SerializableObject" ; import { Color } from "../../graphics/Color" ; import { Asset } from "../../assets/Asset" ; import { Quaternion } from "../../math/Quaternion" ; hidden export namespace AnimationKeyInternal { export function find ( keys , time ) { return keys . find ( k => k . time === time ) ; } } type AnimationSampleType = number | boolean | string | Color | Quaternion | Asset | null ; export class AnimationKey extends SerializableObject { time ! : number ; lerp ( src , dest , factor , target ? ) { return undefined ; } getValue ( ) { return undefined ; } setValue ( value ) { } } export class TAnimationKey < T extends AnimationSampleType > extends AnimationKey { value ! : T ; getValue ( ) { return this . value ; } setValue ( value ) { this . value = value ; } }