import { Box3, Camera, Intersection, Ray, Scene, Vector2 } from 'three';
import { ObjectLayers } from './SpeckleRenderer';
export declare class Intersections {
    private raycaster;
    private boxBuffer;
    private vec0Buffer;
    private vec1Buffer;
    constructor();
    private onObjectIntersection;
    intersect(scene: Scene, camera: Camera, point: Vector2, nearest?: boolean, bounds?: Box3, castLayers?: Array<ObjectLayers>, firstOnly?: boolean): Array<Intersection>;
    intersectRay(scene: Scene, camera: Camera, ray: Ray, nearest?: boolean, bounds?: Box3, castLayers?: Array<ObjectLayers>, firstOnly?: boolean): Array<Intersection>;
    private intersectInternal;
}
