import { Xfo, ZeaMouseEvent, ZeaPointerEvent } from '@zeainc/zea-engine';
import { AppData } from '../../../types/types';
import { PointerTool } from './PointerTool';
/**
 * Class representing a VR hold objects tool.
 * @extends BaseTool
 */
declare class VRHoldObjectsTool extends PointerTool {
    treeWalkSteps: number;
    smoothFactor: number;
    private pressedButtonCount;
    private vrControllers;
    private heldObjectCount;
    private heldTreeItems;
    private highlighteTreeItemIds;
    private heldTreeItemItemIds;
    private heldTreeItemItemRefs;
    private heldTreeItemItemOffsets;
    private change;
    private prevUpdateGrabXfos;
    /**
     * Create a VR hold objects tool.
     * @param appData - The appData value.
     */
    constructor(appData: AppData);
    /**
     * The computeGrabXfo method.
     * @param refs - The refs param.
     * @return {Xfo} The return value.
     */
    computeGrabXfo(refs: number[]): Xfo;
    /**
     * The initAction method.
     */
    initAction(): void;
    /**
     * Event fired when a pointing device button is pressed
     *
     * @param event - The event param.
     */
    onPointerDown(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is released while the pointer is over the tool.
     *
     * @param event - The event param.
     */
    onPointerUp(event: ZeaPointerEvent): void;
    onPointerClick(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device is moved
     *
     * @param event - The event param.
     */
    onPointerMove(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is double clicked on the tool.
     *
     * @param event - The event param.
     */
    onPointerDoublePress(event: ZeaMouseEvent): void;
}
export default VRHoldObjectsTool;
export { VRHoldObjectsTool };
//# sourceMappingURL=VRHoldObjectsTool.d.ts.map