import type { BVHVector3, BVHIntersect } from './bvhMath'; export type BVHAttr = { array: ArrayLike; stride?: number; offset?: number; }; export declare class BVHObject { position: BVHAttr; indices?: BVHAttr | undefined; rootNodePacked?: ArrayBuffer; offsetArray?: ArrayLike; constructor(position: BVHAttr, indices?: BVHAttr | undefined); getPositionCount(): number; getPositionByIndex(index: number, target: BVHVector3): BVHVector3; createTree(maxTrianglesPerNode: number, maxDepth: number, extents?: number[]): this; trianglesInSphere(center: BVHVector3, radius: number): Float32Array; intersectRay(rayOrigin: BVHVector3, rayDirection: BVHVector3, threshold?: number, onlyFirst?: boolean, filter?: (intersect: BVHIntersect) => boolean): BVHIntersect[]; }