import React from 'react'; import * as THREE from 'three'; import { AnimationConfigMap, AnimationType } from '../types/animation'; import { VRM } from '@pixiv/three-vrm'; /** * Animation constants used throughout the animation system */ export declare const VRM_ANIMATION_CONSTANT: { /** Duration for fade in/out transitions (seconds) */ readonly FADE_DURATION: 0.3; /** Default animation duration (seconds) */ readonly DEFAULT_DURATION: 0.5; /** Animation frame rate limit for performance */ readonly FRAME_RATE_LIMIT: 60; }; /** * Hook for handling VRM character animations directly with the Animation Mixer * * @param animationConfigMap - Configuration map for all possible animations * @param animationClips - Available animation clips for the character * @param vrmRef - Reference to the VRM model instance * @param animationRef - Reference to the current animation type * @param onAnimationComplete - Callback function to call when animation completes * @returns The animation controller with play method */ export declare const useVRMAnimationHandler: (animationRef: React.RefObject, animationConfigMap: AnimationConfigMap, animationClips: Record, vrmRef: React.RefObject, onAnimationComplete?: (type: AnimationType) => void) => void;