///
import { ContextManager, Observable } from '@zcomponent/core';
import { Group } from '../Group';
export declare enum MovementMode {
ControllerWalk = "ControllerWalk",
ControllerFly = "ControllerFly",
Teleport = "Teleport"
}
/**
* Place your scene's `PerspectiveCamera` inside this component to allow the user to move around in the
* scene using their device controller.
*
* Represents a movement control group in a WebXR environment. It allows users to move in the virtual space using
* different movement modes like walking with the controller, flying, or teleporting. The movement is influenced by
* device controller inputs.
*
* Root element: [THREE.Group](https://threejs.org/docs/index.html#api/en/objects/Group)
*
* @zcomponent
* @zicon location_on
* @zgroup Deprecated
* @ztag three/Object3D/Group/WebXRMovementGroup
* @zparents three/Object3D/Group/**
*/
export declare class WebXRMovementGroup extends Group {
/**
* Observable property for user's controller preference.
* Determines the preferred hand (left or right) for controller-based movements.
* @zui
* @zgroup WebXRMovementGroup
* @zgrouppriority 20
* @zdefault "left"
*/
controllerPreference: Observable;
/**
* Observable property defining the current movement mode, such as ControllerWalk, ControllerFly, or Teleport.s
* @zui
* @zgroup WebXRMovementGroup
* @zgrouppriority 20
* @zdefault "Teleport"
*/
mode: Observable;
/**
* Observable property representing the walking speed in the virtual environment when using ControllerWalk mode.
* @zui
* @zgroup WebXRMovementGroup
* @zgrouppriority 20
* @zdefault 2
*/
walkSpeed: Observable;
/**
* Observable property representing the flying speed in the virtual environment when using ControllerFly mode.
* @zui
* @zgroup WebXRMovementGroup
* @zgrouppriority 20
* @zdefault 2
*/
flySpeed: Observable;
/**
* Observable property specifying the tag of the ground object in the scene.
* Used for raycasting and interactions with the virtual ground.
*
* @zui
* @zgroup WebXRMovementGroup
* @zgrouppriority 20
*/
groundTag: Observable;
private _innerGroup;
private _inputSource;
private _sourceSpace;
private _isChoosing;
private _newWorldPosition;
private _newWorldPositionValid;
constructor(contextManager: ContextManager, constructorProps: {});
private _updateHitSource;
private _frame;
private _raycastToGround;
}