import { Object3D } from 'three'; import * as THREE from 'three'; import { MotionController } from './motionHelper'; declare class XRControllerModel extends Object3D { motionController: MotionController | null; envMap: THREE.Texture | null; constructor(); setEnvironmentMap(envMap: THREE.Texture): this; /** * Polls data from the XRInputSource and updates the model's components to match * the real world data */ updateMatrixWorld(force: boolean): void; } declare class XRControllerModelFactory { path: string; _assetCache: any; gltfLoader: { load: (url: string, callback: (result: { scene: THREE.Object3D; }) => void) => any; } | null; constructor(gltfLoader?: { load: () => any; } | null); createControllerModel(controller: any): XRControllerModel; } export { XRControllerModelFactory };