type XY = [number, number];
type XYDXDY = [number, number, number, number];
export default class Mouse {
    private readonly agentName?;
    private onDragCamera?;
    private readonly mouse;
    private position;
    private isDragging;
    constructor(agentName?: string | undefined, onDragCamera?: ((dx: number, dy: number) => void) | undefined);
    mount(): void;
    move(pos: XY): void;
    getPosition(): XY;
    click(pos: XY): HTMLElement | SVGElement | null;
    startDrag(pos: XY): void;
    drag(pos: XYDXDY): void;
    stopDrag(): void;
    private readonly pScrEl;
    private lastScrEl;
    private readonly resetLastScrEl;
    private readonly handleWScroll;
    scroll(delta: XY): void;
    remove(): void;
}
export {};
