import { Quaternion, Vector2, Vector3 } from "three";
import { TransformControls } from "three/examples/jsm/controls/TransformControls.js";
import type { Viewer } from "../Viewer";
import { PlaneHelper2 } from "../helpers/PlaneHelper2";
import { Snapper } from "../measurement/Snapper";
import { OrbitDragger } from "./OrbitDragger";
export declare class CuttingPlaneDragger extends OrbitDragger {
    protected helpers: PlaneHelper2[];
    protected activeHelper: PlaneHelper2 | undefined;
    protected snapper: Snapper;
    protected downPosition: Vector2;
    protected position0: Vector3;
    protected quaternion0: Quaternion;
    protected translate: TransformControls;
    protected rotate: TransformControls;
    constructor(viewer: Viewer);
    dispose(): void;
    transformUpdate: () => void;
    transformChange: () => void;
    translateDrag: (event: any) => void;
    rotateDrag: (event: any) => void;
    syncHelpers: () => void;
    clearHelpers: () => void;
    updateTransformCamera: () => void;
    onKeyDown: (event: KeyboardEvent) => void;
    onKeyUp: (event: KeyboardEvent) => void;
    onPointerDown: (event: PointerEvent) => void;
    onPointerUp: (event: PointerEvent) => void;
    onPointerCancel: (event: PointerEvent) => void;
    onDoubleClick: (event: MouseEvent) => void;
    private addHelper;
    private setActiveHelper;
    private saveState;
    private reset;
    addPlane(normal: Vector3): void;
    addPlaneX(): void;
    addPlaneY(): void;
    addPlaneZ(): void;
    deleteActivePlane(): void;
}
