/**
 * @module viw-webgl-viewer/inputs
 */
import { InputHandler } from './inputHandler';
import { Viewer } from '../viewer';
/**
 * Manages mouse user inputs
 */
export declare class MouseHandler extends InputHandler {
    private readonly _idleDelayMs;
    /**
     * The speed factor for zoom movements using the scroll wheel.
     * Range: [0.1, 10]
     */
    get scrollSpeed(): number;
    set scrollSpeed(value: number);
    private _scrollSpeed;
    /**
     * The speed factor for zoom movements when using zoom mode.
     */
    zoomSpeed: number;
    /**
     * The speed factor for rotations movements.
     */
    rotateSpeed: number;
    /**
     * The speed factor for orbit movements.
     */
    orbitSpeed: number;
    private _buttonDown;
    private _hasMouseMoved;
    private _hasCameraMoved;
    private _idleTimeout;
    private _idlePosition;
    private _lastPosition;
    private _downPosition;
    constructor(viewer: Viewer);
    private get camera();
    private get viewport();
    private get canvas();
    private get raycaster();
    private get inputs();
    private get gizmoRect();
    protected addListeners(): void;
    reset: () => void;
    private resetIdle;
    private onMouseOut;
    private onMouseIdle;
    private onCameraMoved;
    private onMouseMove;
    private onMouseDown;
    private onMouseDrag;
    private toRotation;
    private onMouseMainDrag;
    private onMouseMiddleDrag;
    private pan;
    private onMouseRightDrag;
    private onMouseWheel;
    private getButton;
    private onMouseUp;
    private onRectEnd;
    private onDoubleClick;
    private onMouseClick;
    private getModifier;
    private updateRectangle;
}
