import { BaseInputHandler } from "./baseInputHandler";
import * as THREE from 'three';
type DragCallback = (delta: THREE.Vector2, button: number) => void;
export declare class MouseHandler extends BaseInputHandler {
    private _lastMouseDownPosition;
    private _capture;
    private _dragHandler;
    private _doubleClickHandler;
    onButtonDown: (pos: THREE.Vector2, button: number) => void;
    onButtonUp: (pos: THREE.Vector2, button: number) => void;
    onMouseMove: (event: THREE.Vector2) => void;
    onDrag: DragCallback;
    onClick: (position: THREE.Vector2, ctrl: boolean) => void;
    onDoubleClick: (position: THREE.Vector2) => void;
    onWheel: (value: number, ctrl: boolean) => void;
    constructor(canvas: HTMLCanvasElement);
    protected addListeners(): void;
    dispose(): void;
    private handlePointerDown;
    private handlePointerUp;
    private handleMouseClick;
    private handlePointerMove;
    private handleDoubleClick;
    private onMouseScroll;
    private relativePosition;
}
export {};
