import { CBARSurface, CBARSurfaceProperties } from "./CBARSurface"; import { CBAREventType, CBARMouseEvent, CBARSurfaceType, CBARToolMode } from "../CBARTypes"; import { CBARObject3DContainer } from "./CBARObject3DContainer"; import { CBARObject3D, CBARObject3DProperties } from "./CBARObject3D"; import * as THREE from "three"; import { RenderOptions } from "./CBARScene"; export interface CBARSceneGeometryProperties extends CBARObject3DProperties { verticalAxis?: "y" | "z"; surfaces: CBARSurfaceProperties[]; } export declare class CBARSceneGeometry extends CBARObject3DContainer { private _surfaces; get values(): { [id: string]: CBARSurface; }; get surfaces(): CBARSurface[]; add(surface: CBARSurface): void; containsKey(key: string): boolean; remove(surface: CBARSurface): void; length(): number; first(): CBARSurface | undefined; last(): CBARSurface | undefined; all(): CBARSurface[]; clearAll(): void; load(basePath: string | undefined, json: CBARSceneGeometryProperties, groundRotation: number, surfaceTypes?: CBARSurfaceType[], room?: string | null | undefined, subroom?: string | null | undefined): Promise; data(): any; render(options: RenderOptions): void; protected getObject3D(event: CBARMouseEvent): CBARObject3D | undefined; get description(): string; sceneLoaded(): void; toolModeChanged(mode: CBARToolMode): void; getEventObjects(eventType: CBAREventType): THREE.Object3D[]; }