import { Box3, Object3D } from "three";
import { IInfo } from "@inweb/viewer-core";
import { IModelImpl } from "./IModelImpl";
export declare class ModelImpl implements IModelImpl {
    id: string;
    scene: Object3D;
    constructor(scene: Object3D);
    dispose(): void;
    getUnits(): string;
    getUnitScale(): number;
    getUnitString(): string;
    getPrecision(): number;
    getInfo(): IInfo;
    getExtents(target: Box3): Box3;
    getObjects(): Object3D[];
    getVisibleObjects(): Object3D[];
    hasObject(object: Object3D): boolean;
    hasHandle(handle: string): boolean;
    getOwnObjects(objects: Object3D | Object3D[]): Object3D[];
    getOwnHandles(handles: string | string[]): string[];
    getObjectsByHandles(handles: string | string[]): Object3D[];
    getHandlesByObjects(objects: Object3D | Object3D[]): string[];
    hideObjects(objects: Object3D | Object3D[]): this;
    hideAllObjects(): this;
    isolateObjects(objects: Object3D | Object3D[]): this;
    showObjects(objects: Object3D | Object3D[]): this;
    showAllObjects(): this;
    showOriginalObjects(objects: Object3D | Object3D[]): this;
    hideOriginalObjects(objects: Object3D | Object3D[]): this;
    explode(scale?: number, coeff?: number): this;
}
