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