import type { CoreNode } from '../CoreNode.js'; import type { IAnimationController, AnimationControllerState } from '../../common/IAnimationController.js'; import { type TimingFunction } from '../utils.js'; export interface PropValues { start: number; target: number; isColor: boolean; } export interface AnimationConfig extends IAnimationController { manager: AnimationManager; node: CoreNode; duration: number; lastRunTime: number; delayFor: number; delay: number; progress: number; loop: boolean; repeat: number; stopMethod: 'reverse' | 'reset' | false; timingFunction: TimingFunction; state: AnimationControllerState; props: Record | null; shaderProps: Record | null; stoppedResolve: (() => void) | null; stoppedPromise: Promise | null; } export declare class AnimationManager { activeAnimations: AnimationConfig[]; registerAnimation(animation: AnimationConfig): void; unregisterAnimation(animation: AnimationConfig): void; update(dt: number): void; private applyValues; private reverseValues; }