import { Camera, Intersection, Object3D, Plane, Vector2, Vector3 } from "three";
export declare class Snapper {
    camera: Camera;
    clippingPlanes: Plane[];
    canvas: HTMLCanvasElement;
    threshold: number;
    private raycaster;
    private detectRadiusInPixels;
    private edgesCache;
    constructor(camera: Camera, clippingPlanes: Plane[], canvas: HTMLCanvasElement);
    isMobile(): boolean;
    getMousePosition(event: MouseEvent, target: Vector2): Vector2;
    getPointerIntersects(mouse: Vector2, objects: Object3D[], recursive?: boolean, clip?: boolean): Array<Intersection<Object3D>>;
    getDetectRadius(point: Vector3): number;
    getSnapPoint(mouse: Vector2, objects: Object3D[]): Vector3 | undefined;
}
