import { BaseGroup, type InstanceObject } from 'u-space'; import type { ElevatorMesh } from './ElevatorMesh'; import type { FloorMesh, FloorSemanticKind } from './FloorMesh'; import type { VentMesh } from './VentMesh'; export type BuildingFloorReference = FloorMesh | number; export type BuildingFacilityReference = InstanceObject | string; export declare class BuildingGroup extends BaseGroup { #private; isBuildingGroup: boolean; type: string; semanticId: string; semanticKind: string; semanticName: string; floorMeshes: FloorMesh[]; elevatorMeshes: ElevatorMesh[]; ventMeshes: VentMesh[]; constructor(); setSemanticIdentity(identity: { id?: string | null; kind?: string | null; name?: string | null; }): this; addFloor(mesh: FloorMesh): this; hasFloor(mesh: FloorMesh): boolean; getFloorAt(index: number): FloorMesh; getFloorById(id: string): FloorMesh | undefined; removeFloor(mesh: FloorMesh): this; addElevator(mesh: ElevatorMesh): this; getElevatorAt(index: number): ElevatorMesh; getElevatorById(id: string): ElevatorMesh | undefined; removeElevator(mesh: ElevatorMesh): this; addVent(mesh: VentMesh): this; getVentAt(index: number): VentMesh; getVentById(id: string): VentMesh | undefined; removeVent(mesh: VentMesh): this; isolateFloor(floor: BuildingFloorReference | BuildingFloorReference[]): this; isolateFloors(floors: BuildingFloorReference[]): this; showAllFloors(): this; showAllFacilities(): this; hideAllFacilities(): this; getFacilityById(id: string): InstanceObject | undefined; syncFacilityIndexes(): this; get facilityIndexVersion(): number; getFacilityIndexIds(): MapIterator; getFacilityIndexObjects(): MapIterator; planishFloors(kind?: FloorSemanticKind): this; unplanishFloors(kind?: FloorSemanticKind): this; }