import { XRController, XRControllerEvent, XRPoseEvent, ZeaKeyboardEvent, ZeaPointerEvent } from '@zeainc/zea-engine'; import { AppData } from '../../../types/types'; import { PointerTool } from './PointerTool'; interface UIIntersection { clientX: number; clientY: number; } /** * Class representing a VR UI tool. * * @extends BaseTool */ declare class VRUITool extends PointerTool { private vrUIDOMElement; private controllerUI; private uiOpen; private uiOpenedByMouse; private triggerHeld; private visibilityStates; private uiController; private element; private listenerIds; openUIKeyboardHotkey: string; openUiAngleTolerance: number; /** * Create a VR UI tool. * @param appData - The appData value. * @param vrUIDOMElement - The dom element we will use as the VR UI */ constructor(appData: AppData, vrUIDOMElement: HTMLElement); /** * The getName method. * * @return {string} The return value. */ getName(): string; /** * The activateTool method. */ activateTool(): void; /** * The deactivateTool method. */ deactivateTool(): void; /** * The openUI method. * @param uiController - The uiController param. * @param : VRController - The pointerController param. * @param headXfo - The headXfo param. */ openUI(uiController: XRController, pointerController: XRController): void; private childAdded; private restoreVisibility; /** * The closeUI method. */ closeUI(): void; private calcUIIntersection; private getDOMElementFromPoint; /** * The sendEventToUI method. * @param eventName - The eventName param. * @param args - The args param. * @return The return value. */ sendEventToUI(controller: XRController, element: Element, eventName: string, hit: UIIntersection, args?: Record): void; /** * The onXRControllerButtonDown method. * @param event - The event param. */ onPointerDown(event: XRControllerEvent): void; /** * Event fired when a pointing device button is clicked. * * @param event - The event param. */ onPointerClick(event: ZeaPointerEvent): void; onPointerDoubleClick(event: ZeaPointerEvent): void; /** * The onVRControllerButtonUp method. * @param event - The event param. */ onPointerUp(event: ZeaPointerEvent): void; /** * The onXRPoseChanged method. * @param event - The event param. */ onPointerMove(event: XRPoseEvent): void; /** * Event fired when the user presses down a key on the keyboard. * * @param event - The event param. */ onKeyDown(event: ZeaKeyboardEvent): void; /** * Event fired when the user releases a key on the keyboard. * * @param event - The event param. */ onKeyUp(event: ZeaKeyboardEvent): void; } export default VRUITool; export { VRUITool }; //# sourceMappingURL=VRUITool.d.ts.map