import { AnimationAction, AnimationMixer } from "three"; //#region src/use-vrm-animation-manager/index.d.ts interface UseAnimationFSMOptions { /** Idle animation(s). A single name loops forever; an array plays each once and randomly picks the next. */ idle?: NoInfer | NoInfer[]; /** State to enter on mount (default: first idle) */ initial?: NoInfer; /** Crossfade duration in seconds (default: 0.3) */ fadeTime?: number; } interface UseAnimationFSMReturn { send: (name: T) => number; getState: () => T | null; } declare function useVRMAnimationManager(mixer: AnimationMixer | null, actions: Record | null, { idle: idleOpt, initial: initialOpt, fadeTime }?: UseAnimationFSMOptions): UseAnimationFSMReturn; //#endregion export { UseAnimationFSMOptions, UseAnimationFSMReturn, useVRMAnimationManager };