import { Rect, BaseTool, TreeItem, ZeaPointerEvent, XRControllerEvent, ScreenSpaceMaterial } from '@zeainc/zea-engine';
import { AppData } from '../../types/types';
import { SelectionManager } from '..';
/**
 * Class representing a selection tool.
 *
 * @extends BaseTool
 */
declare class SelectionTool extends BaseTool {
    private appData;
    private dragging;
    private selectionManager;
    private selectionRectXfo;
    private rectItem;
    private pointerDownPos;
    selectionRect: Rect;
    selectionRectMat: ScreenSpaceMaterial;
    selectionFilterFn: (treeItem: TreeItem) => TreeItem | null;
    /**
     * Creates an instance of SelectionTool.
     *
     * @param appData - The appData value
     */
    constructor(appData: AppData);
    /**
     * Activates selection tool.
     */
    activateTool(): void;
    /**
     * Deactivates the selection tool.
     */
    deactivateTool(): void;
    /**
     * Activates selection tool.
     */
    setSelectionManager(selectionManager: SelectionManager): void;
    setSelectionFilter(fn: (treeItem: TreeItem) => TreeItem | null): void;
    /**
     *
     *
     * @param viewport - The viewport value
     * @param delta - The delta value
     */
    private resizeRect;
    /**
     *
     *
     * @param event - The event param.
     * @private
     */
    onPointerDoublePress(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is pressed while the pointer is over the tool.
     *
     * @param event - The event param.
     * @return {boolean} The return value.
     */
    onPointerDown(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device is moved while the cursor's hotspot is inside it.
     *
     * @param event - The event param.
     * @return {boolean} The return value.
     */
    onPointerMove(event: ZeaPointerEvent): void;
    /**
     * Event fired when a pointing device button is released while the pointer is over the tool.
     *
     * @param event - The event param.
     * @return {boolean} The return value.
     */
    onPointerUp(event: ZeaPointerEvent): void;
    /**
     * Event fired when a VR controller button is pressed over a tool.
     *
     * @param event - The event param.
     * @return {boolean} The return value.
     */
    onXRControllerButtonDown(event: XRControllerEvent): void;
}
export { SelectionTool };
//# sourceMappingURL=SelectionTool.d.ts.map