/** * @webxr-input-profiles/motion-controllers 1.0.0 https://github.com/immersive-web/webxr-input-profiles */ declare const Constants: { Handedness: Readonly<{ NONE: "none"; LEFT: "left"; RIGHT: "right"; }>; ComponentState: Readonly<{ DEFAULT: "default"; TOUCHED: "touched"; PRESSED: "pressed"; }>; ComponentProperty: Readonly<{ BUTTON: "button"; X_AXIS: "xAxis"; Y_AXIS: "yAxis"; STATE: "state"; }>; ComponentType: Readonly<{ TRIGGER: "trigger"; SQUEEZE: "squeeze"; TOUCHPAD: "touchpad"; THUMBSTICK: "thumbstick"; BUTTON: "button"; }>; ButtonTouchThreshold: number; AxisTouchThreshold: number; VisualResponseProperty: Readonly<{ TRANSFORM: "transform"; VISIBILITY: "visibility"; }>; }; declare function fetchProfilesList(basePath: string): Promise; declare function fetchProfile(xrInputSource: XRInputSource, basePath: string, defaultProfile?: string | null, getAssetPath?: boolean): Promise<{ profile: any; assetPath: any; }>; /** * @description Builds a motion controller with components and visual responses based on the * supplied profile description. Data is polled from the xrInputSource's gamepad. * @author Nell Waliczek / https://github.com/NellWaliczek */ declare class MotionController { /** * @param {Object} xrInputSource - The XRInputSource to build the MotionController around * @param {Object} profile - The best matched profile description for the supplied xrInputSource * @param {Object} assetUrl */ xrInputSource: XRInputSource; assetUrl: string; id: any; layoutDescription: any; components: any; constructor(xrInputSource: XRInputSource, profile: any, assetUrl: string); get gripSpace(): XRSpace | undefined; get targetRaySpace(): XRSpace; /** * @description Returns a subset of component data for simplified debugging */ get data(): any[]; /** * @description Poll for updated data based on current gamepad state */ updateFromGamepad(): void; } export { Constants, MotionController, fetchProfile, fetchProfilesList };