import { AmbientLight, type Box3, CameraHelper, DirectionalLight, type Light, Mesh, MeshBasicMaterial, type Object3D, type OrthographicCamera, type PerspectiveCamera, Scene } from "three";
import { TransformControls } from "three/examples/jsm/controls/TransformControls";
import type { ViralViewerApi } from "../../viral-viewer-api";
import { ViralBIMWorld } from "../custom-objects/viral-bim-world";
export declare class ViralScene {
    viralViewerApi: ViralViewerApi;
    scene: Scene;
    objects: Object3D[];
    models: Object3D[];
    bimWorld: ViralBIMWorld;
    outlineModel: Mesh;
    hideables: Object3D[];
    selectables: Object3D[];
    edges: Object3D[];
    directionalLight1: DirectionalLight | null;
    directionalLight2: DirectionalLight | null;
    directionalLight3: DirectionalLight | null;
    ambientLight: AmbientLight | null;
    sunLight: DirectionalLight | null;
    sunSphere: Mesh;
    lights: Light[];
    transformControls: TransformControls | null;
    lightHelpers: CameraHelper[];
    constructor(viralViewerApi: ViralViewerApi);
    addObject(object: Object3D): void;
    addModel(object: Object3D): void;
    addEdge(object: Object3D): void;
    /**
     * //* add merged mesh into merged model
     * @param object
     */
    addMergedObject(object: Object3D): void;
    getObjectByName(name: string): Object3D<import("three").Object3DEventMap> | undefined;
    addLights(): void;
    turnOffLight(): void;
    turnOnLight(): void;
    addPivotPoint(): void;
    addTransformControls(camera: PerspectiveCamera | OrthographicCamera): void;
    addCube(): void;
    addAxes(): void;
    enableLightHelper(value: boolean): void;
    /**
     * Add box helper to check mesh
     */
    addBoxHelper(mesh: Object3D): void;
    addBox3Helper(mesh: Box3): void;
    fullScreenQuadMaterial: MeshBasicMaterial;
    fullScreenQuad: Mesh<any, MeshBasicMaterial> | null;
    addFullscreenQuad(): void;
}
