export namespace SectionBoxEvent {
    let DRAG_START: string;
    let DRAG_END: string;
}
export default class SectionBox extends EventEmitter {
    constructor(viewer: any);
    viewer: any;
    dragging: boolean;
    display: THREE.Group;
    boxGeometry: THREE.BufferGeometry;
    material: THREE.MeshStandardMaterial;
    cube: THREE.Mesh<THREE.BufferGeometry, THREE.MeshStandardMaterial>;
    boxHelper: THREE.Box3Helper;
    sphere: THREE.Mesh<THREE.SphereGeometry, THREE.MeshStandardMaterial>;
    plane: THREE.PlaneGeometry;
    hoverPlane: THREE.Mesh<THREE.PlaneGeometry, THREE.MeshStandardMaterial>;
    sidesSimple: {
        256: {
            verts: number[];
            axis: string;
        };
        152: {
            verts: number[];
            axis: string;
        };
        407: {
            verts: number[];
            axis: string;
        };
        703: {
            verts: number[];
            axis: string;
        };
        327: {
            verts: number[];
            axis: string;
        };
        726: {
            verts: number[];
            axis: string;
        };
        450: {
            verts: number[];
            axis: string;
        };
        '051': {
            verts: number[];
            axis: string;
        };
        312: {
            verts: number[];
            axis: string;
        };
        '013': {
            verts: number[];
            axis: string;
        };
        546: {
            verts: number[];
            axis: string;
        };
        647: {
            verts: number[];
            axis: string;
        };
    };
    currentRange: any;
    prevPosition: THREE.Vector3;
    attachedToBox: boolean;
    selectionHelper: SelectionHelper;
    _setupControls(): void;
    controls: TransformControls;
    _draggingChangeHandler(): void;
    _clickHandler(args: any): void;
    _generateSimpleCube(width?: number, depth?: number, height?: number): THREE.BufferGeometry;
    _generateOrUpdatePlanes(): void;
    planes: any;
    _attachControlsToBox(): void;
    setBox(targetBox: any, offset?: number): void;
    toggle(): void;
    disable(): void;
    enable(): void;
    displayOff(): void;
    displayOn(): void;
    getCurrentBox(): THREE.Box3;
}
import EventEmitter from './EventEmitter';
import * as THREE from 'three';
import SelectionHelper from './legacy/SelectionHelper';
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
