import Handle from './Handle';
import { Parameter, ZeaPointerEvent, XRControllerEvent, XfoParameter, XRPoseEvent } from '@zeainc/zea-engine';
import SelectionGroup from '../SelectionGroup';
/**
 * Class representing a planar movement scene widget.
 *
 * @extends Handle
 */
declare class PlanarMovementHandle extends Handle {
    param: Parameter<unknown>;
    private fullXfoManipulationInVR;
    private grabOffset;
    private baseXfo;
    private change;
    selectionGroup: SelectionGroup;
    /**
     * Create a planar movement scene widget.
     *
     * @param name - The name value.
     */
    constructor(name: string);
    /**
     * Sets selectionGroup so this handle can modify the items.
     *
     * @param selectionGroup - The SelectionGroup.
     */
    setSelectionGroup(selectionGroup: SelectionGroup): void;
    /**
     * Sets global xfo target parameter.
     *
     * @param param - The parameter that will be modified during manipulation
     */
    setTargetParam(param: XfoParameter): void;
    /**
     * Returns target's global xfo parameter.
     *
     * @return {Parameter} - returns handle's target global Xfo.
     */
    getTargetParam(): Parameter<unknown>;
    /**
     * Handles the initially drag of the handle.
     *
     * @param event - The event param.
     */
    onDragStart(event: ZeaPointerEvent): void;
    /**
     * Handles drag action of the handle.
     *
     * @param event - The event param.
     */
    onDrag(event: ZeaPointerEvent): void;
    /**
     * Handles the end of dragging the handle.
     *
     * @param event - The event param.
     */
    onDragEnd(event: ZeaPointerEvent): void;
    /**
     * Event fired when a VR controller button is pressed over the handle.
     *
     * @param event - The event param.
     * @return {boolean} The return value.
     */
    onXRControllerButtonDown(event: XRControllerEvent): void;
    /**
     * The onXRPoseChanged method.
     *
     * @param event - The event param.
     */
    onXRPoseChanged(event: XRPoseEvent): void;
    /**
     * Event fired when a VR controller button is released over the handle.
     *
     * @param event - The event param.
     */
    onVRControllerButtonUp(event: XRControllerEvent): void;
}
export default PlanarMovementHandle;
export { PlanarMovementHandle };
//# sourceMappingURL=PlanarMovementHandle.d.ts.map