import { InputDevice, InputState } from "../input-device"; export declare enum Button { LEFT = 0, MIDDLE = 1, RIGHT = 2 } export declare class ButtonState extends InputState { private _posX; private _posY; constructor(); get posX(): number; get posY(): number; _setPosition(posX: number, posY: number): ButtonState; } export declare class Mouse extends InputDevice { private _element; private _isPaused; private _posX; private _posY; private _movX; private _movY; private readonly _lockPointerPromises; private readonly _unlockPointerPromises; constructor(); get posX(): number; get posY(): number; setup(element?: HTMLElement | null): void; pause(): void; resume(): void; update(): void; /** * Requests for the mouse pointer to be locked and become invisible. This is an Async process. * * @returns - Promise to be resolved */ lockPointer(): Promise; /** * Requests for the mouse pointer to be unlocked and become visible. This is an Async process. * * @returns - Promise to be resolved */ unlockPointer(): Promise; /** * Check if the current Mouse pointer is in a locked or unlocked state */ get isPointerLocked(): boolean; private readonly _pointerLockChange; private readonly _pointerLockError; private readonly _updatePosition; }