import * as THREE from "three"; import { XRController } from "@react-three/xr"; declare type Interaction = { uuid: string; object?: THREE.Object3D; onPointerMove?: (...args: any[]) => void; onPointerOver?: (...args: any[]) => void; onPointerOut?: (...args: any[]) => void; onPointerDown?: (...args: any[]) => void; onPointerUp?: (...args: any[]) => void; }; declare type Interactive = { disabled: boolean; enabled: boolean; lastInteractionUuid: string; interactions: Interaction[]; interactionsState: { [uuid: string]: { downFired: boolean; upFired: boolean; overFired: boolean; outFired: boolean; }; }; pointerDown: boolean; cleanUp: boolean; cleanDown: boolean; cleanMove: boolean; create: () => void; add: (interaction: Interaction) => void; remove: (uuid: string) => void; handle: (camera: THREE.PerspectiveCamera, raycaster: THREE.Raycaster) => void; update: (camera: THREE.Camera, raycaster: THREE.Raycaster, controllers: XRController[]) => void; }; declare const interactive: Interactive; export default interactive;