import type { Intersection, Mesh, Object3D, Raycaster } from 'three'; import type { CubeEventType, EventHandleFn } from '../type'; type RaycastFnType = (raycaster: Raycaster, intersects: Intersection[]) => void; interface EventPrototype { natureEventMap: Map; entered: boolean; handleBubble: (object3d: Object3D | undefined) => void; cancelAncestorsBubble: (object3d: Object3D | undefined) => void; raycast: RaycastFnType; } /** * process mesh created by the loader, eg: gltf, fbx ... * this mesh not support raycaster, so we need to process it */ declare const provideEventPrototype: (raycast: RaycastFnType, mesh: Mesh) => EventPrototype; export default provideEventPrototype;