import { t as UseVRMBlinkOptions } from "../index-DNqQImip.mjs"; import { t as UseVRMBreathingOptions } from "../index-7kgdF_AK.mjs"; import { t as ExpressionMap } from "../index-CrE0Qhqx.mjs"; import { n as VowelCallback, t as UseAnalyserVowelOptions } from "../index-kn44fVHY.mjs"; import { VRM } from "@pixiv/three-vrm"; import * as react_jsx_runtime0 from "react/jsx-runtime"; //#region src/vrm-model/vrm-model.d.ts interface VRMModelRef { /** The loaded VRM instance */ vrm: VRM; /** Animation state machine — trigger animations and query state */ animationManager: { /** Trigger an animation by name. Returns its duration in seconds */send: (name: T) => number; /** Get the current animation state name */ getState: () => T | null; }; /** Facial expression control with optional hold/decay */ expressionManager: { /** Set expressions. Pass numbers or { value, hold, decay } objects */send: (map: ExpressionMap) => void; /** Decay all active expressions to neutral over blendTime */ stop: () => void; }; } interface VRMModelProps { /** URL to the VRM model file */ url: string; /** Map of animation names to .vrma file URLs */ motions?: Record; /** Idle animation name or array of names (default: 'idle') */ idle?: NoInfer | NoInfer[]; /** Animation crossfade duration in seconds (default: 0.3) */ fadeTime?: number; /** Expression crossfade duration in seconds (default: 0.15) */ blendTime?: number; /** Enable auto-blink. Pass true for defaults or an options object */ blink?: boolean | UseVRMBlinkOptions; /** Enable breathing. Pass true for defaults or an options object */ breathing?: boolean | UseVRMBreathingOptions; /** Ref to an AnalyserNode for vowel lip-sync */ analyserRef?: React.RefObject; /** Callback with vowel amplitudes each frame */ onVowel?: VowelCallback; /** Options for vowel analyser (threshold, interval) */ vowelOptions?: UseAnalyserVowelOptions; /** Ref to access VRM model methods */ ref?: React.Ref>; } declare function VRMModel({ url, motions, idle, fadeTime, blendTime, blink, breathing, analyserRef, onVowel, vowelOptions, ref }: VRMModelProps): react_jsx_runtime0.JSX.Element; //#endregion export { VRMModel, type VRMModelProps, type VRMModelRef };