/**
 @module viw-webgl-viewer/gizmos/sectionBox
*/
import { Viewer } from '../../viewer';
import * as THREE from 'three';
/**
 * Gizmo for section box, serving as a proxy between the renderer and the user.
 */
export declare class SectionBox {
    private _viewer;
    private _inputs;
    private _cube;
    private _outline;
    private _highlight;
    private _normal;
    private _clip;
    private _visible;
    private _interactive;
    private _onStateChanged;
    private _onBoxConfirm;
    private _onHover;
    /**
     * Signal dispatched when clip, show, or interactive are updated.
     */
    get onStateChanged(): import("ste-signals").ISignal;
    /**
     * Signal dispatched when user is done manipulating the box.
     */
    get onBoxConfirm(): import("ste-simple-events").ISimpleEvent<THREE.Box3>;
    /**
     * Signal dispatched with true when pointer enters box and false when pointer leaves.
     */
    get onHover(): import("ste-simple-events").ISimpleEvent<boolean>;
    private get renderer();
    private get section();
    constructor(viewer: Viewer);
    /**
     * Section bounding box, to update the box use fitBox.
     */
    get box(): THREE.Box3;
    /**
     * Determines whether the section gizmo will section the model with clipping planes.
     */
    get clip(): boolean;
    set clip(value: boolean);
    /**
     * Determines whether the gizmo reacts to user inputs.
     */
    get interactive(): boolean;
    set interactive(value: boolean);
    /**
     * Determines whether the gizmo will be rendered.
     */
    get visible(): boolean;
    set visible(value: boolean);
    /**
     * Sets the section gizmo size to match the given box.
     * @param {THREE.Box3} box - The box to match the section gizmo size to.
     * @param {number} [padding=1] - The padding to apply to the box.
     */
    fitBox(box: THREE.Box3, padding?: number): void;
    /**
     * Call this if there were direct changes to renderer.section
     */
    update(): void;
    /**
     * Removes gizmo from rendering and inputs and dispose all resources.
     */
    dispose(): void;
}
