import * as THREE from 'three'; import { AnimationClip } from 'three'; import { AnimationConfigMap, AnimationType } from '../types/animation'; import { VRM } from '@pixiv/three-vrm'; interface VRMUserData { boundingBox: THREE.Box3; [key: string]: any; } declare module '@pixiv/three-vrm' { interface VRM { userData: VRMUserData; } } interface VRMCharacterResourceReturn { scene: THREE.Group | null; isLoaded: boolean; vrm: VRM | null; animations: Record; animationClips: AnimationClip[]; boundingBox: THREE.Box3 | null; } /** * Hook for loading and managing VRM character resources * @param characterResource VRM character resource information * @returns VRM model and animation controls */ export declare const useVRMCharacterResource: (url: string, animations: AnimationConfigMap) => VRMCharacterResourceReturn; export {};