import { InputHandler } from "./inputHandler";
import { Vector2 } from "../utils/math3d";
type DragCallback = (delta: Vector2, button: number) => void;
export declare class MouseHandler extends InputHandler {
    private _lastMouseDownPosition;
    private _capture;
    private _dragHandler;
    onButtonDown: (pos: Vector2, button: number) => void;
    onButtonUp: (pos: Vector2, button: number) => void;
    onMouseMove: (event: Vector2) => void;
    onDrag: DragCallback;
    onClick: (position: Vector2, ctrl: boolean) => void;
    onDoubleClick: (position: Vector2) => void;
    onWheel: (value: number, ctrl: boolean) => void;
    constructor(canvas: HTMLCanvasElement);
    protected addListeners(): void;
    dispose(): void;
    private onPointerDown;
    private onPointerUp;
    private handleMouseClick;
    private onPointerMove;
    private _onDoubleClick;
    private onMouseScroll;
    private relativePosition;
}
export {};
