import { RpcSafeClient } from "./rpcSafeClient";
import * as THREE from "three";
export declare class SectionBox {
    private _visible;
    private _interactible;
    private _clip;
    private _box;
    private _rpc;
    private _interval;
    private _animationFrame;
    private _pullId;
    private _onUpdate;
    get onUpdate(): import("ste-signals").ISignal;
    private get needUpdate();
    constructor(rpc: RpcSafeClient);
    onConnect(): Promise<void>;
    scheduleUpdate(): void;
    private pull;
    private push;
    get visible(): boolean;
    set visible(value: boolean);
    get interactive(): boolean;
    set interactive(value: boolean);
    get clip(): boolean;
    set clip(value: boolean);
    /**
     * Fits the given box, invalid dimensions will be reversed.
     * @param box - The new bounding box.
     */
    setBox(box: THREE.Box3): void;
    getBox(): THREE.Box3 | undefined;
    dispose(): void;
}
