import { BaseTool, CADAsset, XRController, Xfo, ZeaKeyboardEvent, ZeaPointerEvent, ZeaTouchEvent } from '@zeainc/zea-engine';
import { AppData } from '../../../types/types';
declare class HandHeldTool extends BaseTool {
    appData: AppData;
    cadAsset: CADAsset;
    toolController: XRController;
    constructor(assetUrl: string, offsetXfo: Xfo, appData: AppData);
    /**
     * Enables tools usage. This method is called by either the Viewport when a tool is removed, or the ToolManage if it is installed.
     */
    activateTool(): void;
    /**
     * Disables tool usage. This method is called by either the Viewport when a tool is removed, or the ToolManage if it is installed.
     */
    deactivateTool(): void;
    /**
     * Event fired when either the mouse button is pressed, or a touch start event occurs.
     *
     * @param event - The event param.
     */
    onPointerDown(event: ZeaPointerEvent): void;
    /**
     * Event fired when either the mouse cursor is moved, or a touch point moves.
     *
     * @param event - The event param.
     */
    onPointerMove(event: ZeaPointerEvent): void;
    /**
     * Event fired when either the mouse button is released, or a touch end event occurs.
     *
     * @param event - The event param.
     */
    onPointerUp(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is clicked.
     *
     * @param event - The event param.
     */
    onPointerClick(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is double clicked.
     *
     * @param event - The event param.
     */
    onPointerDoubleClick(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is held for a long time..
     *
     * @param event - The event param.
     */
    onPointerLongPress(event: ZeaPointerEvent): void;
    /**
     * Event fired when a mouse pointer enters the viewport
     *
     * @param event - The event param.
     */
    onPointerEnter(event: ZeaPointerEvent): void;
    /**
     * Event fired when a mouse pointer leaves the viewport
     *
     * @param event - The event param.
     */
    onPointerLeave(event: ZeaPointerEvent): void;
    /**
     * Event fired when the user rotates the pointing device wheel.
     *
     * @param event - The event param.
     */
    onWheel(event: ZeaPointerEvent): 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;
    /**
     * Event fired when one or more touch points have been disrupted in an implementation-specific manner.
     *
     * @param event - The event param.
     */
    onTouchCancel(event: ZeaTouchEvent): void;
}
export { HandHeldTool };
//# sourceMappingURL=HandHeldTool.d.ts.map