import { TreeItem, Vec3, Xfo, XRControllerEvent, ZeaKeyboardEvent, ZeaPointerEvent } from '@zeainc/zea-engine';
import CreateGeomTool from './CreateGeomTool';
import { AppData } from '../../../types/types';
import CreateGeomChange from './Change/CreateGeomChange';
declare class CreateMultiLineTool extends CreateGeomTool {
    change: CreateGeomChange;
    length: number;
    inverseXfo: Xfo;
    vertices: Vec3[];
    distanceToSnap: number;
    pointerVertex: Vec3;
    tailVertex: Vec3;
    lastClickTime: number;
    lastClickPt: Vec3;
    doubleClickTime: number;
    doubleClickMaxDistance: number;
    /**
     * Create a create line tool.
     * @param appData - The appData value.
     */
    constructor(appData: AppData, parentItem: TreeItem);
    /**
     * Starts line geometry creation.
     *
     * @param xfo - The xfo param.
     */
    createStart(xfo: Xfo, event: ZeaPointerEvent): void;
    /**
     * Updates line structural data.
     *
     * @param pt - The pt param.
     * @param event - The event param.
     */
    createMove(pt: Vec3, event: ZeaPointerEvent): void;
    snapToClosestAxis(vertex: Vec3): Vec3;
    /**
     * Add vertex or finish Line geometry creation.
     *
     * @param pt - The pt param.
     */
    createRelease(pt: Vec3, event: ZeaPointerEvent): void;
    protected shouldClosePolygon(event: ZeaPointerEvent): boolean;
    onKeyUp(event: ZeaKeyboardEvent): void;
    resetTool(): void;
    /**
     * The onXRControllerButtonDown method.
     *
     * @param event - The event param.
     */
    onXRControllerButtonDown(event: XRControllerEvent): void;
}
export default CreateMultiLineTool;
export { CreateMultiLineTool };
//# sourceMappingURL=CreateMultiLineTool.d.ts.map