import { Intersection, Object3D, Raycaster } from "three"; //#region src/events/raycastHelpers.d.ts /** Result of a local Z=0 plane intersection. Scratch values — consume * immediately or go through createIntersection (which clones). */ interface RayPlaneHit { localX: number; localY: number; distance: number; } /** * Intersect the raycaster's ray with `object`'s local Z=0 plane. * Returns local hit coordinates + world distance, or null when the ray * is parallel, the plane is behind the origin, or the hit falls * outside `raycaster.near`/`far`. Allocation-free. */ declare function rayPlaneZ0(raycaster: Raycaster, object: Object3D): RayPlaneHit | null; /** * Build a standard three.js Intersection from a RayPlaneHit. The world * point is freshly allocated per call — safe to store (spec §11.2). */ declare function createIntersection(hit: RayPlaneHit, object: Object3D, u: number, v: number): Intersection; //#endregion export { RayPlaneHit, createIntersection, rayPlaneZ0 }; //# sourceMappingURL=raycastHelpers.d.ts.map