import { events as createWebEvents, type EventManager, type RootStore } from '@react-three/fiber'; import * as THREE from 'three'; /** Opt in only when the raycast appends hits without reading prior hits or mutating scene/query state. */ export declare function markPureRaycast(raycast: T): T; export declare function choosePointerEvents(search?: string): typeof createWebEvents; /** * Whether a mesh has a material for everything a raycast reads: three indexes * a material array by each geometry group, and one with no entry throws on * `material.side`. A mesh caught mid-swap (a preview restored an older array * over a rebuilt geometry) is skipped for this move instead of taking the whole * pointer event down; its children are still tested. */ export declare function hasMaterialsForGroups(object: THREE.Object3D): boolean; export declare function createPascalPointerEvents(store: RootStore): EventManager; //# sourceMappingURL=pointer-events.d.ts.map