// Generated by dts-bundle-generator v9.5.1 import { VRM } from '@pixiv/three-vrm'; import { VRMAnimation } from '@pixiv/three-vrm-animation'; import * as THREE from 'three'; import { DefineComponent } from 'vue'; // biome-ignore lint/complexity/noBannedTypes: For Vue SFCs, we often don't have explicit prop types, so we allow empty interfaces here. // biome-ignore lint/suspicious/noExplicitAny: For Vue SFCs, we often don't have explicit prop types, so we allow 'any' here. declare const _default: import("vue").DefineComponent<{}, {}, any>; /** * Load a single VRMA animation from an ArrayBuffer. * Validates the GLB binary first, then parses with three-vrm-animation. * * @param buffer The GLB file as an ArrayBuffer. * @returns The loaded VRMAnimation instance. * @throws If the buffer is not a valid VRMA GLB or if parsing fails. */ export declare function loadVRMAnimation(buffer: ArrayBuffer): Promise; /** * Replace the AnimationMixer with a new one created against `vrm.scene` and * register all clips with the given weights. * * @example * // Create a mixer with two animations, weighted 70% and 30%. * const mixer = createMixerWithClips(vrm, [anim1, anim2], [0.7, 0.3]); * // Create a mixer with three animations, with equal weights (1/3 each). * const mixer = createMixerWithClips(vrm, [anim1, anim2, anim3]); * // Create a mixer with two animations, with equal weights (1/2 each) even though weights are invalid. * const mixer = createMixerWithClips(vrm, [anim1, anim2], [10, 20]); * * Weight validation rules: * - Empty/undefined weights → equal split (1 / N). * - Length mismatch → equal split (1 / N). * - Sum > 1.0 (with epsilon) → throws. * * Does not dispose the old mixer or its actions; caller is responsible for that if needed. * * @param vrm The VRM instance to animate. * @param animations The VRMAnimation instances to create clips from. * @param weights Optional weights for each animation; if not provided or invalid, defaults to equal split. * @returns The new AnimationMixer instance. * @throws If the weights are invalid (sum exceeds 1.0). */ export declare function createMixerWithClips(vrm: VRM, animations: VRMAnimation[], weights?: number[] | null): THREE.AnimationMixer; /** * Stop and dispose the given mixer. * Does not throw if the mixer is already stopped or has no root. * * @param mixer The AnimationMixer instance to dispose. */ export declare function disposeMixer(mixer: THREE.AnimationMixer): void; /** * Load a VRM 1.0 model from an ArrayBuffer. * Validates the GLB binary first, then parses with three-vrm. * * @param buffer The GLB file as an ArrayBuffer. * @returns The loaded VRM instance. * @throws If the buffer is not a valid VRM 1.0 GLB or if parsing fails. */ export declare function loadVrm(buffer: ArrayBuffer): Promise; /** * Position a freshly loaded VRM so that its feet rest on y=0. * Assumes the VRM's root is at the model origin and that the model is properly centered. * Modifies the VRM's scene position in-place. * Does not throw if the VRM has no scene or if bounding box calculation fails; in that case, the VRM is left unmodified. * * @param vrm The VRM instance to adjust. */ export declare function autoPositionY(vrm: VRM): void; /** * Dispose a VRM instance and free its GPU resources. * Does not throw if the VRM is already disposed or has no scene. * * @param vrm The VRM instance to dispose. */ export declare function disposeVrm(vrm: VRM): void; /** Build information meta data */ export interface MetaInterface { /** Version */ version: string; /** Build date */ date: string; } export declare const meta: MetaInterface; /** * GLB (glTF Binary) validation utilities for VRM 1.0 / VRMA buffers. */ /** * Validate if the buffer is a valid VRM 1.0 model * Checks for the presence of the VRMC_vrm extension and absence of the older VRM extension. * @param buffer The GLB file as an ArrayBuffer. * @throws If the buffer is not a valid VRM 1.0 GLB. */ export declare function validateVrm(buffer: ArrayBuffer): void; /** * Validate if the buffer is a valid VRMA (VRM Animation) model * Checks for the presence of the VRMC_vrm_animation extension. * @param buffer The GLB file as an ArrayBuffer. * @throws If the buffer is not a valid VRMA GLB. */ export declare function validateVrma(buffer: ArrayBuffer): void; export type VrmCanvasExposed = { resetCamera: () => void; resetCameraPose?: () => void; }; export declare function resetVrmCanvasCamera(instance: VrmCanvasExposed | null | undefined): void; export { _default as VrmCanvas, }; export {};