// Generated by dts-bundle-generator v9.5.1

import { ActionManager } from '@babylonjs/core/Actions/actionManager';
import { ExecuteCodeAction } from '@babylonjs/core/Actions/directActions';
import { AnimationGroup } from '@babylonjs/core/Animations/animationGroup';
import { AssetContainer, InstantiatedEntries } from '@babylonjs/core/assetContainer';
import { PointerDragBehavior } from '@babylonjs/core/Behaviors/Meshes/pointerDragBehavior';
import { VertexBuffer } from '@babylonjs/core/Buffers/buffer';
import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
import { Camera } from '@babylonjs/core/Cameras/camera';
import { ICameraInput } from '@babylonjs/core/Cameras/cameraInputsManager';
import { PickingInfo } from '@babylonjs/core/Collisions/pickingInfo';
import { BoundingBox } from '@babylonjs/core/Culling/boundingBox';
import { BoundingInfo } from '@babylonjs/core/Culling/boundingInfo';
import { Ray, TrianglePickingPredicate } from '@babylonjs/core/Culling/ray';
import { Engine } from '@babylonjs/core/Engines/engine';
import { ICanvasRenderingContext } from '@babylonjs/core/Engines/ICanvas';
import { PointerEventTypes, PointerInfo } from '@babylonjs/core/Events/pointerEvents';
import { Gizmo } from '@babylonjs/core/Gizmos/gizmo';
import { GizmoManager } from '@babylonjs/core/Gizmos/gizmoManager';
import { EngineInstrumentation } from '@babylonjs/core/Instrumentation/engineInstrumentation';
import { SceneInstrumentation } from '@babylonjs/core/Instrumentation/sceneInstrumentation';
import { EffectLayer, IEffectLayerOptions } from '@babylonjs/core/Layers/effectlayer';
import { GlowLayer } from '@babylonjs/core/Layers/glowLayer';
import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
import { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
import { BackgroundMaterial } from '@babylonjs/core/Materials/Background/backgroundMaterial';
import { ColorCurves } from '@babylonjs/core/Materials/colorCurves';
import { Effect } from '@babylonjs/core/Materials/effect';
import { FresnelParameters } from '@babylonjs/core/Materials/fresnelParameters';
import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration';
import { Material } from '@babylonjs/core/Materials/material';
import { NodeMaterial } from '@babylonjs/core/Materials/Node/nodeMaterial';
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
import { BaseTexture } from '@babylonjs/core/Materials/Textures/baseTexture';
import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
import { EquiRectangularCubeTexture } from '@babylonjs/core/Materials/Textures/equiRectangularCubeTexture';
import { Texture } from '@babylonjs/core/Materials/Textures/texture';
import { Color3, Color4 } from '@babylonjs/core/Maths/math.color';
import { Plane } from '@babylonjs/core/Maths/math.plane';
import { Scalar } from '@babylonjs/core/Maths/math.scalar';
import { Matrix, Quaternion, Vector2, Vector3, Vector4 } from '@babylonjs/core/Maths/math.vector';
import { SphericalPolynomial } from '@babylonjs/core/Maths/sphericalPolynomial';
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
import { CreateBox } from '@babylonjs/core/Meshes/Builders/boxBuilder';
import { CreateCylinder } from '@babylonjs/core/Meshes/Builders/cylinderBuilder';
import { CreateGround } from '@babylonjs/core/Meshes/Builders/groundBuilder';
import { CreateLineSystem, CreateLines } from '@babylonjs/core/Meshes/Builders/linesBuilder';
import { CreatePlane } from '@babylonjs/core/Meshes/Builders/planeBuilder';
import { CreateSphere } from '@babylonjs/core/Meshes/Builders/sphereBuilder';
import { CreateTube } from '@babylonjs/core/Meshes/Builders/tubeBuilder';
import { Geometry } from '@babylonjs/core/Meshes/geometry';
import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
import { LinesMesh } from '@babylonjs/core/Meshes/linesMesh';
import { Mesh } from '@babylonjs/core/Meshes/mesh';
import { VertexData } from '@babylonjs/core/Meshes/mesh.vertexData';
import { SubMesh } from '@babylonjs/core/Meshes/subMesh';
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
import { EnvironmentTextureTools } from '@babylonjs/core/Misc/environmentTextureTools';
import { Observer } from '@babylonjs/core/Misc/observable';
import { Tools } from '@babylonjs/core/Misc/tools';
import { Node as Node$1 } from '@babylonjs/core/node';
import { ParticleHelper } from '@babylonjs/core/Particles/particleHelper';
import { ParticleSystem } from '@babylonjs/core/Particles/particleSystem';
import { Scene } from '@babylonjs/core/scene';
import { FloatArray, Nullable } from '@babylonjs/core/types';
import { AdvancedDynamicTexture } from '@babylonjs/gui/2D/advancedDynamicTexture';
import { Button } from '@babylonjs/gui/2D/controls/button';
import { Container } from '@babylonjs/gui/2D/controls/container';
import { Control } from '@babylonjs/gui/2D/controls/control';
import { Ellipse } from '@babylonjs/gui/2D/controls/ellipse';
import { Image as Image$1 } from '@babylonjs/gui/2D/controls/image';
import { InputText } from '@babylonjs/gui/2D/controls/inputText';
import { Line as Line2D } from '@babylonjs/gui/2D/controls/line';
import { Rectangle } from '@babylonjs/gui/2D/controls/rectangle';
import { StackPanel } from '@babylonjs/gui/2D/controls/stackPanel';
import { TextBlock } from '@babylonjs/gui/2D/controls/textBlock';
import { Measure } from '@babylonjs/gui/2D/measure';
import { GridMaterial } from '@babylonjs/materials/grid';
import { Easing, Tween } from '@tweenjs/tween.js';

declare class ArchiveDoor extends Component {
	/**
	 * 实例化一个密集架门对象
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	/**
	 * 获取密集架对象
	 */
	get group(): ArchiveCabinetGroup;
	/**
	 * 获取或设置可见性
	 */
	get visible(): boolean;
	set visible(value: boolean);
	private _nearst;
	/**
	 * 获取最近的密集架列
	 */
	get nearest(): ArchiveCabinet;
	/**
	 * 获取或设置与前一列的偏移位置（单位：厘米）
	 */
	get offsetPos(): number;
	set offsetPos(value: number);
}
declare class AutoRotate {
	/**
	 * 管理器
	 */
	readonly mgr: CameraMgr;
	/**
	 * 获取或设置是否启用
	 */
	enable: boolean;
	/**
	 * 间隔时间
	 */
	timeout: number;
	/**
	 * 旋转速度
	 */
	speed: number;
	private _timeoutId;
	private _mouseIndex;
	private _cacheMouseIndex;
	/**
	 * 实例化一个自动旋转对象
	 * @param mgr 管理器
	 */
	constructor(mgr: CameraMgr);
	private _update;
	private _onMouseEvent;
	/**
	 * 检查，true=无操作，false=有操作
	 */
	private _check;
}
declare class Background extends Base {
	private _img;
	_skybox: SkyBox;
	constructor(app: App);
	/**
	 * 设置背景效果
	 */
	setBackgroundEffect(): Promise<void>;
}
declare class Container$1 {
	/** 图片 */
	img: Img;
	/** 线 */
	line: Line$1;
	/** 文本列表 */
	txts: Txt[];
	/** 构造函数 */
	constructor();
}
declare class Decoration extends Base {
	private _grid;
	constructor(app: App);
	/**
	 * 设置装饰效果
	 */
	setDecorationEffect(): Promise<void>;
}
declare class EnvironmentTexture extends Base {
	private _texture;
	private _intensity;
	private _rotationY;
	/**
	 * 实例化一个环境贴图对象
	 * @param app 应用
	 * @param texture 贴图资源
	 */
	constructor(app: App);
	/**
	 * 设置环境贴图
	 */
	setEnvEffect(): Promise<void>;
}
declare class Glow extends Base {
	private _layer;
	/**
	 * 实例化一个发光层对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置启用
	 */
	get enable(): boolean;
	set enable(value: boolean);
	/**
	 * 获取或设置强度
	 */
	get intensity(): number;
	set intensity(value: number);
	/**
	 * 获取或设置模糊系数
	 */
	get blurSize(): number;
	set blurSize(value: number);
	/**
	 * 添加网格
	 * @param mesh 网格
	 */
	addMesh(mesh: Mesh): void;
	/**
	 * 移除网格
	 * @param mesh 网格
	 */
	removeMesh(mesh: Mesh): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
declare class HighLight extends Base {
	_layer: SelectionOutlineLayer;
	private _entites;
	/**
	 * 实例化一个高亮层对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 轮廓颜色，默认为绿色#00ff00
	 */
	get outlineColor(): string;
	set outlineColor(value: string);
	/**
	 * 添加实体
	 * @param entites 实体
	 */
	add(...entites: Entity[]): void;
	/**
	 * 是否包含指定的实体
	 * @param item 实体
	 */
	includes(item: Entity): boolean;
	/**
	 * 移除实体
	 * @param entites 实体
	 */
	remove(...entites: Entity[]): void;
	/**
	 * 清理
	 */
	clean(): void;
	/**
	 * 获取或设置启用
	 */
	get enable(): boolean;
	set enable(value: boolean);
	/**
	 * 释放
	 */
	dispose(): void;
}
declare class ImageProcessing extends Base {
	private _config;
	/**
	 * 实例化一个图像处理对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置启用
	 */
	get enable(): boolean;
	set enable(value: boolean);
	/**
	 * 获取或设置启用色调映射
	 */
	get toneMapping(): boolean;
	set toneMapping(value: boolean);
	/**
	 * 获取或设置色调映射类型
	 */
	get toneMappingType(): ToneMappingType;
	set toneMappingType(value: ToneMappingType);
	/**
	 * 获取或设置效果对比度值。范围[0,4]，默认值1。
	 */
	get contrast(): number;
	set contrast(value: number);
	/**
	 * 获取或设置效果曝光值。范围[0,4]，默认值1。
	 */
	get exposure(): number;
	set exposure(value: number);
	/**
	 * 释放
	 */
	dispose(): void;
}
declare class Img {
	/** 资源ID */
	resId: string;
	/** 原始宽度 */
	srcWidth: number;
	/** 原始高度 */
	srcHeight: number;
	/** 实际宽度 */
	width: number;
	/** 实际高度 */
	height: number;
	/** X 坐标 */
	x: number;
	/** Y 坐标 */
	y: number;
	/** 构造函数 */
	constructor();
}
declare class Light extends Base {
	/**
	 * 环境光1
	 */
	ambientLight1: HemisphericLight;
	/**
	 * 环境光2
	 */
	ambientLight2: HemisphericLight;
	/**
	 * 太阳光
	 */
	sunLight: DirectionalLight;
	private _shadowGenerator;
	private _shadowMap;
	/**
	 * 实例化一个灯光对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 设置灯光生效
	 * @param generateShadow 是否生成阴影
	 */
	setLightEffect(generateShadow?: boolean): void;
	/**
	 * 设置阴影生效
	 */
	setShadowEffect(): void;
}
declare class Line$1 {
	points: Point2D[];
	/** 线宽 */
	width: number;
	/** 颜色 */
	color: string;
	/** 是否显示 */
	enable: boolean;
	/** 构造函数 */
	constructor();
}
declare class ManualWallBuilder {
	/**
	 * 拥有者
	 */
	readonly owner: ManualWall;
	/**
	 * 开始墙角左面底部点
	 */
	startCornerLeftBottom: [
		number,
		number,
		number
	];
	/**
	 * 开始墙角左面顶部点
	 */
	startCornerLeftTop: [
		number,
		number,
		number
	];
	/**
	 * 开始墙角右面底部点
	 */
	startCornerRightBottom: [
		number,
		number,
		number
	];
	/**
	 * 开始墙角右面顶部点
	 */
	startCornerRightTop: [
		number,
		number,
		number
	];
	/**
	 * 结束墙角左面底部点
	 */
	endCornerLeftBottom: [
		number,
		number,
		number
	];
	/**
	 * 结束墙角左面顶部点
	 */
	endCornerLeftTop: [
		number,
		number,
		number
	];
	/**
	 * 结束墙角右面底部点
	 */
	endCornerRightBottom: [
		number,
		number,
		number
	];
	/**
	 * 结束墙角右面顶部点
	 */
	endCornerRightTop: [
		number,
		number,
		number
	];
	/**
	 * 把墙旋转到与Z轴重合需要用到的四元数
	 */
	rotateQuaternion: Quaternion;
	/**
	 * 把墙还原到原始位置需要用到的四元数
	 */
	restoreQuaternion: Quaternion;
	/**
	 * 楼层世界矩阵
	 */
	floorWorldMatrix: Matrix;
	/**
	 * 楼层世界矩阵的逆矩阵
	 */
	floorInvertWorldMatrix: Matrix;
	/**
	 * 开始墙角世界矩阵
	 */
	startCornerWorldMatrix: Matrix;
	/**
	 * 开始墙角世界矩阵的逆矩阵
	 */
	startCornerInvertWorldMatrix: Matrix;
	/**
	 * 洞
	 */
	holes: number[][][];
	/**
	 * 顶部加点
	 */
	topAdded: number[][];
	/**
	 * 底部加点
	 */
	bottomAdded: number[][];
	/**
	 * 左面网格数据
	 */
	leftMeshData: MeshFaceData;
	/**
	 * 右面网格数据
	 */
	rightMeshData: MeshFaceData;
	/**
	 * 边缘网格数据
	 */
	edgeMeshData: MeshFaceData;
	/**
	 * 开始墙角左面邻居
	 */
	startCornerLeftNeighbor: ManualWall;
	/**
	 * 结束墙角左面邻居
	 */
	endCornerLeftNeighbor: ManualWall;
	/**
	 * 开始墙角右面邻居
	 */
	startCornerRightNeighbor: ManualWall;
	/**
	 * 结束墙角右面邻居
	 */
	endCornerRightNeighbor: ManualWall;
	/**
	 * 实例化一个手绘墙创建器对象
	 * @param owner 拥有者
	 */
	constructor(owner: ManualWall);
	/**
	 * 创建
	 */
	build(): void;
	/**
	 * 创建左面
	 */
	buildLeft(): void;
	/**
	 * 创建右面
	 */
	buildRight(): void;
	/**
	 * 创建边缘
	 */
	buildEdge(): void;
	/**
	 * 将楼层坐标系下的点转换到开始墙角坐标系下
	 * @param point 楼层坐标系下的点
	 */
	transferToStartCorner(point: [
		number,
		number,
		number
	]): [
		number,
		number,
		number
	];
	/**
	 * 将楼层坐标系下的点转换到开始墙角坐标系下（丢弃指定坐标轴）
	 * @param point 楼层坐标系下的点
	 * @param ignoredFlag 忽略的坐标轴标记，0表示X轴，1=Y轴，2=Z轴，默认值0
	 */
	transferToStartCorner2D(point: [
		number,
		number,
		number
	], ignoredFlag?: number): [
		x: number,
		y: number
	];
	/**
	 * 将开始墙角坐标系下的点转到到楼层坐标系下
	 * @param point 开始墙角坐标系下的点
	 */
	transferToFloor(point: [
		number,
		number,
		number
	]): [
		number,
		number,
		number
	];
	/**
	 * 设置坐标转换参数
	 */
	setTransferParameters(): void;
	/**
	 * 设置洞
	 */
	setHoles(): void;
	/**
	 * 计算墙角挤压出来的点的位置（即墙交点，有8个点）
	 */
	computeCornerPoints(): void;
}
declare class Particle extends Base {
	private _levelId;
	private _particles;
	constructor(app: App);
	setParticleEffect(): Promise<void>;
	private _createParticle;
	private _setParticle;
}
declare class PerformancePanel extends StackPanel {
	private _meshesLength;
	private _activeMeshesLength;
	private _materialsLength;
	private _texturesLength;
	private _animationLength;
	private _drawCalls;
	private _frameTimeMax;
	private _evalTimeMax;
	private _particlesFrameTime;
	private _interFrameTime;
	private _gpuFrameTime;
	private _shaderCompTime;
	private _shaderTotal;
	private _sceneRenderTime;
	private _cameraRenderTime;
	private _targetsRenderTime;
	private _fpsValue;
	private _heapSize;
	private _heapTotal;
	private _heapLimit;
	private _deltaTimeValue;
	private _activeFaces;
	private _totalVertices;
	private _sceneInstrumentation;
	private _engineInstrumentation;
	app: App;
	/**
	 * 实例化一个性能面板对象
	 */
	constructor(app: App);
	/**
	 * 获取或设置可见性
	 */
	get visible(): boolean;
	set visible(value: boolean);
	private _update;
}
declare class ToolTip extends Rectangle {
	static _root: AdvancedDynamicTexture;
	private _textBlock;
	/**
	 * 应用
	 */
	app: App;
	/**
	 * 实例化一个提示信息对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置字体大小
	 */
	get fontSize(): number;
	set fontSize(value: number);
	/**
	 * 获取或设置文本
	 */
	get text(): string;
	set text(value: string);
	/**
	 * 获取或设置文本颜色
	 */
	get textColor(): string;
	set textColor(value: string);
	private _onFrameUpdate;
}
declare class Tracker extends Base {
	private _initialized;
	private _root;
	private _timeoutId;
	/**
	 * 实例化一个跟踪器对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 初始化
	 */
	init(): Promise<void>;
	/**
	 * 显示到指定包围盒
	 * @param boundingBox 包围盒
	 * @param time 显示时间，单位秒，不设置表示不限时间
	 */
	show(boundingBox: BoundingBox, time?: number): void;
	/**
	 * 隐藏
	 */
	hide(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
declare class Txt {
	/** 文本内容 */
	value: string;
	/** 对齐方式 */
	align: TxtAlign;
	/** 字体大小 */
	fontSize: number;
	/** 字体颜色 */
	color: string;
	/** X 坐标 */
	x: number;
	/** Y 坐标 */
	y: number;
	/** 构造函数 */
	constructor();
}
declare enum ArchiveCabinetGroupState {
	/**
	 * 默认
	 */
	Default = 1,
	/**
	 * 组
	 */
	Group = 2,
	/**
	 * 列
	 */
	Column = 4,
	/**
	 * 容量
	 */
	Capacity = 8
}
declare enum ColumnPosition {
	/**
	 * 固定列左侧
	 */
	Left = -1,
	/**
	 * 固定列
	 */
	Fixed = 0,
	/**
	 * 固定列右侧
	 */
	Right = 1
}
declare enum ToneMappingType {
	/**
	 * ACES
	 */
	Aces,
	/**
	 * 标准
	 */
	Standard
}
/**
 * 动画组件
 */
export declare class Animator extends Component {
	private _playObserves;
	private _endObserves;
	/**
	 * 实例化一个动画组件对象
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	/**
	 * 获取是否正在播放
	 */
	get isPlaying(): boolean;
	/**
	 * 获取动画组列表
	 */
	get animationGroups(): AnimationGroup[];
	/**
	 * 获取动画组名称列表
	 */
	get animationGroupNames(): string[];
	_current: AnimationGroup;
	/**
	 * 播放指定索引动画组一次（适用于常规播放一次的动话）
	 * @param index 动画索引
	 */
	once(index: number): void; /**
	 * 播放指定索引动画组一次（可以播放多次）
	 * @param index 动画索引
	 */
	once2(index: number): void;
	private _loopIndex;
	/**
	 * 获取或设置循环动画组索引（试用于需要循环播放的动画，比如人物动画）
	 */
	get loopIndex(): number;
	set loopIndex(value: number);
	/**
	 * 获取或设置门是否保持打开状态（试用于漫游时，强制打开门）
	 */
	keepOpen: boolean;
	private _doorState;
	/**
	 * 获取或设置门状态（适用于普通门、机柜、冷通道门）
	 */
	get doorState(): boolean;
	set doorState(value: boolean);
	_updateAll(): void;
	_unbuild(): void;
	_setEvents(): void;
}
/**
 * 应用
 */
export declare class App extends EventDispatcher {
	/**
	 * 加载并行限制，0表示不限制，可影响场景加载速度
	 */
	static loadLimit: number;
	private _cursor;
	version: string;
	/**
	 * 是否编辑器模式
	 */
	_isEditor: boolean;
	/**
	 * 实体字典
	 */
	_entityMap: Map<string, Entity>;
	/**
	 * 获取所有实体
	 */
	get allEntities(): Entity[];
	/**
	 * 所有组件对象
	 */
	readonly allComponents: Component[];
	/**
	 * 场景
	 */
	_scene: Scene;
	/**
	 * DOM容器
	 */
	container: HTMLDivElement;
	/**
	 * 富文本容器
	 */
	richContainer: HTMLDivElement;
	/**
	 * 根路径
	 */
	readonly basePath: string;
	/**
	 * 项目文件地址
	 */
	projectFile: string;
	/**
	 * 授权文件地址
	 */
	licenseFile: string;
	/**
	 * 画布大小
	 */
	size: Size;
	/**
	 * 画布
	 */
	canvas: HTMLCanvasElement;
	/**
	 * 运行时
	 */
	runTime: RunTime;
	/**
	 * 材质管理器
	 */
	materialMgr: MaterialMgr;
	/**
	 * 相机管理器
	 */
	cameraMgr: CameraMgr;
	/**
	 * 效果管理器
	 */
	effectMgr: EffectMgr;
	/**
	 * 资源池
	 */
	resPool: ResPool;
	/**
	 * 层级管理器
	 */
	levelMgr: LevelMgr;
	/**
	 * GUI管理器
	 */
	guiMgr: GUIMgr;
	/**
	 * 事件管理器
	 */
	eventMgr: EventMgr;
	/**
	 * 管线管理器
	 */
	pipelineMgr: PipelineMgr;
	/**
	 * 跟踪器
	 */
	tracker: Tracker;
	/**
	 * 是否已加载
	 */
	loaded: boolean;
	/**
	 * 选项
	 */
	options: AppOptions;
	/**
	 * 是否为移动端
	 */
	readonly isMobile: boolean;
	/**
	 * 实例化一个应用对象
	 * @param options 选项
	 */
	constructor(options: AppOptions);
	/**
	 * 获取或设置指针样式（与CSS一致）
	 */
	get cursor(): string;
	set cursor(value: string);
	/**
	 * 注册默认事件
	 * @param levelBack 是否注册层级后退事件，默认true
	 */
	registerDefaultEvents(levelBack?: boolean): void;
	/**
	 * 加载项目
	 */
	load(): Promise<void>;
	/**
	 * 根据ID获取实体对象
	 * @param id 实体ID
	 * @returns 实体对象
	 */
	getEntityById(id: string): Entity | undefined;
	/**
	 * 世界坐标转屏幕坐标
	 * @param world 世界坐标
	 * @returns 屏幕坐标
	 */
	worldToScreen(world: Point3D): Point2D;
	/**
	 * 创建实体
	 * @param type 实体类型
	 */
	create(type: EntityType | string): Entity;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 档案盒
 */
export declare class ArchiveBox extends Entity {
	/**
	 * 默认宽度
	 */
	static readonly defaultWidth: number;
	/**
	 * 默认高度
	 */
	static readonly defaultHeight: number;
	/**
	 * 默认深度
	 */
	static readonly defaultDepth: number;
	private _box;
	private _front;
	private _back;
	private _side;
	private _width;
	private _height;
	private _depth;
	private _frontImg;
	private _backImg;
	private _sideImg;
	private _backgroundColor;
	/**
	 * 数据
	 */
	data: any;
	/**
	 * 档案列表
	 */
	archives: any[];
	/**
	 * 实例化一个档案盒
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置宽度
	 */
	get width(): number;
	set width(value: number);
	/**
	 * 获取或设置高度
	 */
	get height(): number;
	set height(value: number);
	/**
	 * 获取或设置深度
	 */
	get depth(): number;
	set depth(value: number);
	/**
	 * 获取或设置前面图片
	 */
	get frontImg(): ResImageSource;
	set frontImg(value: ResImageSource);
	/**
	 * 获取或设置后面图片
	 */
	get backImg(): ResImageSource;
	set backImg(value: ResImageSource);
	/**
	 * 获取或设置侧面图片
	 */
	get sideImg(): SideSource;
	set sideImg(value: SideSource);
	/**
	 * 获取或设置背景颜色
	 */
	get backgroundColor(): string;
	set backgroundColor(value: string);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁
	 */
	unbuild(): void;
}
/**
 * 密集架（列）
 */
export declare class ArchiveCabinet extends Component {
	static tagStyleConfig: {
		show: boolean;
		hasBackground: boolean;
		backgroundColor: string;
		fontSize: number;
		fontColor: string;
	};
	private _eventIds;
	/**
	 * 获取或设置数据
	 */
	data: any;
	/**
	 * 标识网格
	 */
	_tagMesh: InstancedMesh;
	/**
	 * 固定列标识网格
	 */
	_fixedMesh: InstancedMesh;
	/**
	 * 档案格（层位）列表
	 */
	readonly grids: ArchiveGrid[];
	/**
	 * 实例化一个密集架列
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	/**
	 * 获取密集架对象
	 */
	get group(): ArchiveCabinetGroup;
	/**
	 * 获取是否固定列
	 */
	get isFixed(): boolean;
	/**
	 * 获取列号
	 */
	get columnId(): string;
	/**
	 * 获取列号（数字类型）
	 */
	get columnIndex(): number;
	/**
	 * 实际索引号（从0开始）
	 */
	get realIndex(): number;
	/**
	 * 获取前一列
	 */
	get front(): ArchiveCabinet;
	/**
	 * 列位置
	 */
	get columnPosition(): ColumnPosition;
	/**
	 * 获取或设置与前一列的偏移位置（单位：厘米）
	 */
	get offsetPos(): number;
	set offsetPos(value: number);
	/**
	 * 获取列类型，1=左活动列，0=固定列，2=右活动列
	 */
	get columnType(): number;
	/**
	 * 获取面类型，1=左面柜，0=双面柜，2=右面柜
	 */
	get sideType(): number;
	/**
	 * 显示层位
	 */
	_showGrid(): void;
	/**
	 * 隐藏层位
	 */
	_hideGrid(): void;
	private _afterBuild;
	/**
	 * 获取或设置显隐列标识
	 */
	get showTag(): boolean;
	set showTag(value: boolean);
	/**
	 * 左面居中显示
	 */
	leftOn(): void;
	/**
	 * 右面居中显示
	 */
	rightOn(): void;
	/**
	 * 正面居中显示
	 */
	frontOn(): void;
	/**
	 * 显示容量
	 * @param useRate 使用率
	 */
	showCapacity(useRate: number | undefined): void;
	/**
	 * 隐藏容量
	 */
	hideCapacity(): void;
	/**
	 * 清理档案盒
	 */
	removeArchiveBox(): void;
}
/**
 * 密集架组（库区）
 */
export declare class ArchiveCabinetGroup extends Component {
	/** 密集架位置移动缓动时间 */
	static positionTweenTime: number;
	/**
	 * 获取或设置数据
	 */
	data: any;
	private _cacheColumnPosition;
	private _isAlarm;
	/**
	 * 密集架当前的状态
	 */
	_state: ArchiveCabinetGroupState;
	/**
	 * 选中的列
	 */
	_selected: ArchiveCabinet;
	/**
	 * 密集架（列）列表
	 */
	readonly cabinets: ArchiveCabinet[];
	/**
	 * 密集架门列表
	 */
	readonly doors: ArchiveDoor[];
	/**
	 * 告警图标
	 */
	alarmIcon: Billboard;
	/**
	 * 鼠标移动事件
	 */
	onMouseMove: (group: ArchiveCabinetGroup, ev: EventArg) => void;
	/**
	 * 组右键菜单事件
	 */
	onGroupRightMenu: (group: ArchiveCabinetGroup, left: number, top: number) => void;
	/**
	 * 进入组事件
	 */
	onEnterGroup: (group: ArchiveCabinetGroup) => void;
	/**
	 * 退出组事件
	 */
	onExitGroup: (group: ArchiveCabinetGroup) => void;
	/**
	 * 进入列
	 */
	onEnterCabinet: (cabinet: ArchiveCabinet) => void;
	/**
	 * 离开列
	 */
	onExitCabinet: (cabinet: ArchiveCabinet) => void;
	/**
	 * 列右键菜单事件
	 */
	onCabinetRightMenu: (cabinet: ArchiveCabinet, left: number, top: number) => void;
	/**
	 * 组告警变化事件
	 */
	onAlarmChanged: (group: ArchiveCabinetGroup) => void;
	/**
	 * 层位右键菜单事件
	 */
	onGridRightMenu: (grid: ArchiveGrid, left: number, top: number) => void;
	/**
	 * 实例化一个密集架组对象
	 * @param entity 实体（组）
	 */
	constructor(entity: Entity);
	/**
	 * 获取起始列号
	 */
	get startIndex(): number;
	/**
	 * 获取已排序的密集架列表（列号从小到大排序）
	 */
	get sortedCabinets(): ArchiveCabinet[];
	/**
	 * 获取排序标识，true=从左往右，false=从右往左
	 */
	get sortFlag(): boolean;
	/**
	 * 实体ID
	 */
	get entityId(): string;
	/**
	 * 获取密集架ID
	 */
	get deviceId(): string;
	/**
	 * 获取或设置是否告警
	 */
	get isAlarm(): boolean;
	set isAlarm(value: boolean);
	private _positionTween;
	/**
	 * 获取或设置列位置
	 */
	get columnPosition(): number[];
	set columnPosition(value: number[]);
	updateJTColumnPosition(value: number[]): void;
	/**
	 * 固定列
	 */
	get fixedColumn(): ArchiveCabinet;
	/**
	 * 设置固定列标识
	 */
	setFixedTag(): void;
	/**
	 * 移除固定列标识
	 */
	removeFixedTag(): void;
	/**
	 * 在相机中居中显示
	 */
	centerOn(): void;
	/**
	 * 显示容量模式
	 * @param data 容量数据
	 */
	showCapacity(data: ArchiveCabinetGroupCount): void;
	/**
	 * 隐藏容量
	 */
	hideCapacity(): void;
	/**
	 * 隐藏
	 */
	hide(): void;
	/**
	 * 显示
	 */
	show(): void;
	/**
	 * 手动触发进入组
	 */
	triggerEnterGroup(): void;
	/**
	 * 手动触发进入列
	 * @param cabinet 列
	 */
	triggerEnterCabinet(cabinet: ArchiveCabinet): void;
	/**
	 * 手动离开组
	 */
	triggerExistGroup(): void;
	/**
	 * 手动触发离开列
	 */
	triggerExistCabinet(): void;
	/**
	 * 更新包围盒
	 */
	private _updateBoundingBox;
}
/**
 * 档案格（层位）
 */
export declare class ArchiveGrid {
	/**
	 * 档案盒列表
	 */
	readonly boxes: ArchiveBox[];
	/**
	 * 所属列
	 */
	readonly cabinet: ArchiveCabinet;
	/**
	 * 节号
	 */
	readonly sectionId: string;
	/**
	 * 层号
	 */
	readonly layerId: string;
	/**
	 * 面标识（节号区分左右面），1=左侧，2=右侧
	 */
	readonly sideFlag: "1" | "2" | undefined;
	/**
	 * 实例化档案格对象
	 * @param cabinet 所属列
	 * @param sectionId 节号
	 * @param layerId 层号
	 */
	constructor(cabinet: ArchiveCabinet, sectionId: string, layerId: string, sideFlag?: "1" | "2");
	/**
	 * 获取网格
	 */
	get mesh(): Mesh;
	/**
	 * 获取层位在列的哪面，false=左，true=右
	 */
	get side(): boolean;
	/**
	 * 清理档案盒
	 */
	removeArchiveBox(): void;
}
/**
 * 档案管理
 */
export declare class ArchiveMgr extends Component {
	/**
	 * 密集架组（库区）列表
	 */
	readonly groups: ArchiveCabinetGroup[];
	/**
	 * 当前选中的密集架
	 */
	_selected: ArchiveCabinetGroup;
	/**
	 * 定位的层位
	 */
	_tracked: ArchiveGrid;
	/**
	 * 实例化一个档案管理对象
	 * @param entity 实体（楼层或园区）
	 */
	constructor(entity: Entity);
	/**
	 * 显示容量
	 * @param countList 统计数据
	 */
	showCapcity(countList: ArchiveCabinetGroupCount[]): void;
	/**
	 * 重置
	 */
	hideCapacity(): void;
}
/**
 * 基类
 */
export declare class Base extends EventDispatcher {
	/**
	 * 应用
	 */
	app: App;
	/**
	 * 类名称
	 */
	className: string;
	/**
	 * 实例化一个基类对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 广告牌
 */
export declare class Billboard extends EventDispatcher {
	/**
	 * 2D广告牌根
	 */
	static _root2d: AdvancedDynamicTexture | null;
	private _data;
	/**
	 * 锚点
	 */
	private _anchor;
	/**
	 * 根
	 */
	private _root;
	/**
	 * 容器
	 */
	private _container;
	/**
	 * 上一次点击的时间点，用于计算双击事件
	 */
	private _lastClickTime;
	/**
	 * 提示信息
	 */
	tip: string;
	/**
	 * 初始化2D广告牌根
	 */
	static _init2DRoot(): void;
	private _canvas;
	/**
	 * 实例化一个广告牌对象
	 * @param type 类型
	 * @param options 选项
	 */
	constructor(type: "2D" | "3D", options: BillboardOptions);
	private _onResize;
	/**
	 * 获取类型
	 */
	get type(): "2D" | "3D";
	/**
	 * 获取或设置渲染顺序（仅3D有效）
	 */
	get renderOrder(): number;
	set renderOrder(value: number);
	/**
	 * 获取或设置是否响应鼠标指针事件，默认true
	 */
	get isPointerBlocker(): boolean;
	set isPointerBlocker(value: boolean);
	/**
	 * 获取或设置位置（世界坐标）
	 */
	get position(): Point3D;
	set position(value: Point3D);
	/**
	 * 获取或设置旋转
	 */
	get rotation(): number;
	set rotation(value: number);
	/**
	 * 获取或设置可见性
	 */
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置指针样式
	 */
	get cursor(): string;
	set cursor(value: string);
	/**
	 * 获取或设置数据
	 */
	get data(): {
		[key: string]: string;
	};
	set data(value: {
		[key: string]: string;
	});
	/**
	 * 设置颜色
	 * @param value 值
	 */
	setColor(value: {
		[key: string]: string;
	}): void;
	/**
	 * 获取指定顺序索引的图片地址
	 * @param index 顺序索引，0、1、2...
	 */
	getImageUrlAt(index: number): string;
	/**
	 * 设置指定顺序索引的图片地址
	 * @param index 顺序索引，0、1、2...
	 * @param value 图片地址
	 */
	setImageUrlAt(index: number, value: string): void;
	private _observer;
	private _scale;
	private _direction;
	/**
	 * 获取或设置是否开启缩放动画
	 */
	get scaleAnimation(): boolean;
	set scaleAnimation(value: boolean);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 板卡
 */
export declare class BoardCard extends Entity {
	private _box;
	private _front;
	private _width;
	private _height;
	private _depth;
	private _frontImg;
	private _backgroundColor;
	/**
	 * 实例化一个板卡对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置宽度
	 */
	get width(): number;
	set width(value: number);
	/**
	 * 获取或设置高度
	 */
	get height(): number;
	set height(value: number);
	/**
	 * 获取或设置深度
	 */
	get depth(): number;
	set depth(value: number);
	/**
	 * 获取或设置前面图片
	 */
	get frontImg(): ResImageSource;
	set frontImg(value: ResImageSource);
	/**
	 * 获取或设置背景颜色
	 */
	get backgroundColor(): string;
	set backgroundColor(value: string);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁
	 */
	unbuild(): void;
}
/**
 * 自定义建筑
 */
export declare class Building extends Entity {
	/**
	 * 鼠标移入楼层链接的颜色
	 */
	static floorLinkColor: string;
	/**
	 * 鼠标移入楼层链接的透明度
	 */
	static floorLinkAlpha: number;
	/**
	 * 链接ID
	 */
	linkId: string | null;
	/**
	 * 链接名称
	 */
	linkName: string | null;
	/**
	 * 获取楼层是否已经展开
	 */
	expanded: boolean;
	/**
	 * 进入建筑是否显示外立面和楼层链接（仅在存在楼层链接时生效）
	 */
	showFacadesAndLinks: boolean;
	/**
	 * 合并网格的父节点
	 */
	mergedMeshNode: TransformNode;
	/**
	 * 楼层展开偏移量
	 */
	expandOffset: Point3D;
	private _tweenExpand;
	/**
	 * 实例化一个建筑对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 注册默认事件
	 */
	registerDefaultEvents(): void;
	/**
	 * 获取外立面
	 */
	get facades(): Placement[];
	/**
	 * 获取楼层链接外立面
	 */
	get floorLinks(): Thing[];
	/**
	 * 获取楼层
	 */
	get floors(): Floor[];
	/**
	 * 获取当前是否正在执行楼层动画
	 */
	get expanding(): boolean;
	/**
	 * 是否有外立面
	 */
	hasFacades(): boolean;
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 展开楼层
	 * @param time 时间，默认值500，单位毫秒
	 * @param complete 完成时的回调函数
	 */
	expandFloors(time?: number, complete?: () => void): void;
	/**
	 * 合并楼层
	 * @param time 时间，默认值500，单位毫秒
	 * @param complete 完成时的回调函数
	 */
	unexpandFloors(time?: number, complete?: () => void): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param {*} json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 设置子节点列表
	 */
	setSubNodes(): void;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 创建合并的网格（在园区层级时调用）
	 */
	buildMergedMesh(): Promise<void>;
}
/**
 * 机柜
 */
export declare class Cabinet extends Component {
	/**
	 * 机柜编号标签样式配置
	 */
	static tagStyleConfig: CabinetTagStyleConfig;
	private _eventIds;
	private _tagMesh;
	_showAssetId: string;
	private _alarmAssetIds;
	/**
	 * 资产设备列表
	 */
	readonly assets: RackMounted[];
	/**
	 * 进入机柜事件
	 */
	onEnterCabinet: (cabinet: Cabinet) => void;
	/**
	 * 退出机柜事件
	 */
	onExistCabinet: (cabinet: Cabinet) => void;
	/**
	 * 机柜右键点击事件
	 */
	onCabinetRightClick: (cabinet: Cabinet, left: number, top: number) => void;
	/**
	 * 实例化一个机柜对象
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	/**
	 * 获取实体ID
	 */
	get entityId(): string;
	/** 获取或设置机柜唯一ID */
	cabinetId: string;
	private _cabinetName;
	/**
	 * 获取或设置机柜名称
	 */
	get cabinetName(): string;
	set cabinetName(value: string);
	/** 获取或设置机柜区域ID */
	areaId: string;
	/**
	 * 显示容量
	 * @param data 容量数据
	 */
	showCapacity(data: CabinetCapacityData): void;
	/**
	 * 隐藏容量
	 */
	hideCapacity(): void;
	/**
	 * 隐藏
	 */
	hide(): void;
	/**
	 * 显示
	 */
	show(): void;
	/**
	 * 前面居中显示
	 * @param callback 回调函数
	 */
	frontOn(callback?: () => void): void;
	/**
	 * 后面居中显示
	 * @param callback 回调函数
	 */
	backOn(callback?: () => void): void;
	/**
	 * 获取挂接点
	 * @param flag 标记，true=前面，false=后面
	 */
	getPoint(flag?: boolean): TransformNode;
	/**
	 * 手动触发退出机柜事件
	 */
	triggerExist(): void;
	/**
	 * 添加编号
	 */
	private _afterBuild;
	/**
	 * 更新顶部编号标签
	 */
	updateTag(): void;
	/**
	 * 添加资产
	 * @param item 机架设备
	 * @param flag 挂接点标记，true=前面，false=后面
	 */
	add(item: RackMounted, flag?: boolean): void;
	/**
	 * 加载资产
	 * @param list 资产配置列表
	 */
	loadAssets(list: AssetData[]): Promise<void>;
	/***
	 * 清理资产
	 */
	clear(): void;
	/**
	 * 更新告警状态
	 * @param asset_ids 资产ID列表
	 */
	updateAlarmStates(asset_ids?: string[]): void;
	_updateAssetsAlarmStatus(): void;
	_resetCabinetAlarmStatus(): void;
}
/**
 * 机柜管理器
 */
export declare class CabinetMgr extends Component {
	/**
	 * 资产模型配置字典
	 */
	private static readonly _assetModelConfigDic;
	/**
	 *
	 * @param model_id 模型ID
	 * @param data 资产模型数据
	 */
	static setAssetModel(model_id: string, data: RackMountedData): void;
	/**
	 * 获取资产模型数据
	 * @param model_id 模型ID
	 * @param uheight U高
	 */
	static getAssetModel(model_id: string, uheight?: number): RackMountedData;
	/**
	 * 当前场景机柜列表
	 */
	readonly cabinets: Cabinet[];
	_capacity: boolean;
	/**
	 * 当前选中的机柜
	 */
	_selected: Cabinet;
	/**
	 * 定位的资产设备
	 */
	_tracked: RackMounted;
	/**
	 * 实例化一个机柜管理器对象
	 * @param entity 实体（楼层或园区）
	 */
	constructor(entity: Entity);
	/**
	 * 显示容量
	 * @param data 容量数据
	 */
	showCapacity(data: CabinetCapacityData[]): void;
	/**
	 * 隐藏容量
	 */
	hideCapacity(): void;
}
/**
 * 相机管理器
 */
export declare class CameraMgr extends Base {
	/**
	 * 相机
	 */
	camera: ArcRotateCamera;
	private _updateObserver;
	private _flyTween;
	private _cache;
	private _radiusLimit;
	private _flyStartData;
	private _flyEndData;
	private _flyingData;
	private _person;
	/**
	 * 是否锁定拖动的灵敏度（直径小于5时生效，用于资产模型编辑）
	 */
	lockPanning: boolean;
	/**
	 * 自动旋转
	 */
	readonly autoRotate: AutoRotate;
	/**
	 * 实例化一个相机管理器对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置左移键
	 */
	get keyLeft(): KeyCode;
	set keyLeft(value: KeyCode);
	/**
	 * 获取或设置右移键
	 */
	get keyRight(): KeyCode;
	set keyRight(value: KeyCode);
	/**
	 * 获取或设置上移键
	 */
	get keyUp(): KeyCode;
	set keyUp(value: KeyCode);
	/**
	 * 获取或设置下移键
	 */
	get keyDown(): KeyCode;
	set keyDown(value: KeyCode);
	get mapPanning(): boolean;
	set mapPanning(value: boolean);
	/** 当前层级Y轴世界坐标 */
	get levelWorldY(): number;
	/**
	 * 获取或设置人称
	 */
	get person(): CameraPerson;
	set person(value: CameraPerson);
	get roaming(): Roaming;
	get isRoaming(): boolean;
	_setCameraByRoaming(): Promise<void>;
	/**
	 * 获取相机是否在飞行
	 */
	get flying(): boolean;
	/**
	 * 获取或设置近裁剪面距离
	 */
	get near(): number;
	set near(value: number);
	/**
	 * 获取或设置远裁剪面距离
	 */
	get far(): number;
	set far(value: number);
	/**
	 * 获取或设置是否开启相机操作（包括旋转、平移、缩放）
	 */
	get inputEnabled(): boolean;
	set inputEnabled(value: boolean);
	/**
	 * 获取或设置旋转启用（仅左键，中键不禁用）
	 */
	get enableRotate(): boolean;
	set enableRotate(value: boolean);
	/**
	 * 获取或设置缩放启用
	 */
	get enableZoom(): boolean;
	set enableZoom(value: boolean);
	/**
	 * 获取或设置平移启用
	 */
	get enablePan(): boolean;
	set enablePan(value: boolean);
	_setButtonEnable(button: 0 | 1 | 2, enable: boolean): void;
	/**
	 * 获取或设置相机沿Y轴的旋转角度（弧度）
	 */
	get alpha(): number;
	set alpha(value: number);
	/**
	 * 获取或设置相机沿X轴的旋转角度（弧度）
	 */
	get beta(): number;
	set beta(value: number);
	/**
	 * 获取或设置相机到目标点的半径
	 */
	get radius(): number;
	set radius(value: number);
	/**
	 * 获取或设置目标点位置
	 */
	get target(): Point3D;
	set target(value: Point3D);
	/**
	 * 获取或设置相机位置
	 */
	get position(): Point3D;
	set position(value: Point3D);
	/**
	 * 获取或设置当前在Y轴上的惯性值。这个数字越大，相机停止的时间就越长。
	 */
	get inertialAlphaOffset(): number;
	set inertialAlphaOffset(value: number);
	/**
	 * 获取或设置当前在X轴上的惯性值。这个数字越大，相机停止的时间就越长。
	 */
	get inertialBetaOffset(): number;
	set inertialBetaOffset(value: number);
	/**
	 * 获取或设置Y轴上允许的最小角度。这可以帮助限制相机在场景中移动的方式。
	 */
	get lowerAlphaLimit(): number;
	set lowerAlphaLimit(value: number);
	/**
	 * 获取或设置Y轴上允许的最大角度。这可以帮助限制相机在场景中移动的方式。
	 */
	get upperAlphaLimit(): number;
	set upperAlphaLimit(value: number);
	/**
	 * 获取或设置X轴上允许的最小角度。这可以帮助限制相机在场景中移动的方式。
	 */
	get lowerBetaLimit(): number;
	set lowerBetaLimit(value: number);
	/**
	 * 获取或设置X轴上允许的最大角度。这可以帮助限制相机在场景中移动的方式。
	 */
	get upperBetaLimit(): number;
	set upperBetaLimit(value: number);
	/**
	 * 获取或设置相机与目标允许的最小距离(相机不能靠近)。这可以帮助限制相机在场景中移动的方式。
	 */
	get lowerRadiusLimit(): number;
	set lowerRadiusLimit(value: number);
	/**
	 * 获取或设置相机与目标的最大允许距离(相机不能再远)。这可以帮助限制相机在场景中移动的方式。
	 */
	get upperRadiusLimit(): number;
	set upperRadiusLimit(value: number);
	/**
	 * 获取或设置摄像机沿X轴平移期间使用的当前惯性值。
	 */
	get inertialPanningX(): number;
	set inertialPanningX(value: number);
	/**
	 * 获取或设置摄像机沿Y轴平移期间使用的当前惯性值。
	 */
	get inertialPanningY(): number;
	set inertialPanningY(value: number);
	/**
	 * 获取或设置在平移模式和捏/缩放模式下考虑相机的距离。基本上，如果你的手指移开超过这个距离，你会被认为在捏模式。
	 */
	get pinchToPanMaxDistance(): number;
	set pinchToPanMaxDistance(value: number);
	/**
	 * 获取或设置相机可以平移的最大距离。这可以帮助相机始终在你的场景中。
	 */
	get panningDistanceLimit(): number;
	set panningDistanceLimit(value: number);
	/**
	 * 获取或设置相机的平移目标
	 */
	get panningOriginTarget(): [
		number,
		number,
		number
	];
	set panningOriginTarget(value: [
		number,
		number,
		number
	]);
	/**
	 * 获取或设置在平移过程中使用的惯性值。0表示停止惯性，1表示没有减速。
	 */
	get panningInertia(): number;
	set panningInertia(value: number);
	/**
	 * 获取或设置指针沿X轴的角度灵敏度或摄像机旋转的速度。
	 */
	get angularSensibilityX(): number;
	set angularSensibilityX(value: number);
	/**
	 * 获取或设置指针沿Y轴的角度灵敏度或摄像机旋转的速度。
	 */
	get angularSensibilityY(): number;
	set angularSensibilityY(value: number);
	/**
	 * 获取或设置指针缩放精度或相机缩放的速度。
	 */
	get pinchPrecision(): number;
	set pinchPrecision(value: number);
	/**
	 * 获取或设置指针缩放增量百分比或摄像机缩放的速度。如果不为0，则使用它来代替pinchDeltaPrecision。它定义了当前相机的百分比。缩放时使用的半径作为增量。
	 */
	get pinchDeltaPercentage(): number;
	set pinchDeltaPercentage(value: number);
	/**
	 * 获取或设置指针使用自然缩放来覆盖缩放精度和缩放增量百分比。当usennaturalpinchzoom是真实的，多点触摸变焦将在这样的任何物体在飞机上的相机的目标点将缩放完美的手指运动。
	 */
	get useNaturalPinchZoom(): boolean;
	set useNaturalPinchZoom(value: boolean);
	/**
	 * 获取或设置指针平移的灵敏度或相机移动的速度。
	 */
	get panningSensibility(): number;
	set panningSensibility(value: number);
	/**
	 * 获取或设置鼠标滚轮精度或摄像机缩放的速度。
	 */
	get wheelPrecision(): number;
	set wheelPrecision(value: number);
	/**
	 * 获取或设置鼠标滚轮增量百分比或摄像机缩放的速度。如果不为0，则使用它来代替pinchDeltaPrecision。它定义了当前相机的百分比。缩放时使用的半径作为增量。
	 */
	get wheelDeltaPercentage(): number;
	set wheelDeltaPercentage(value: number);
	/**
	 * 通过zoomOn函数定义在一个特定的网格上缩放半径的大小。
	 */
	get zoomOnFactor(): number;
	set zoomOnFactor(value: number);
	/**
	 * 定义相机位置的屏幕偏移量。
	 */
	get targetScreenOffset(): [
		x: number,
		y: number
	];
	set targetScreenOffset(value: [
		x: number,
		y: number
	]);
	/**
	 * 允许相机完全反转。如果是假的，相机不能倒过来。
	 */
	get allowUpsideDown(): boolean;
	set allowUpsideDown(value: boolean);
	/**
	 * 获取或设置相机的模式，0=透视，1=正交
	 */
	get mode(): CameraMode;
	set mode(value: CameraMode);
	/**
	 * 获取或设置正交投影的左边距
	 */
	get orthoLeft(): number;
	set orthoLeft(value: number);
	/**
	 * 获取或设置正交投影的右边距
	 */
	get orthoRight(): number;
	set orthoRight(value: number);
	/**
	 * 获取或设置正交投影的顶边距
	 */
	get orthoTop(): number;
	set orthoTop(value: number);
	/**
	 * 获取或设置正交投影的底边距
	 */
	get orthoBottom(): number;
	set orthoBottom(value: number);
	/**
	 * 获取正交投影的宽度
	 */
	get orthoWidth(): number;
	/**
	 * 获取正交投影的高度
	 */
	get orthHeight(): number;
	/**
	 * 获取或设置相机的平移因子（仅在透视模式下有效），默认值2，越大越慢。
	 */
	panningFactor: number;
	/**
	 * 获取或设置相机的最大平移灵敏度（最慢时的值），默认值1000
	 */
	maxPanningSensibility: number;
	/**
	 * 获取或设置相机的最小平移灵敏度（最快时的值），默认值0.1
	 */
	minPanningSensibility: number;
	/**
	 * 从给定位置和目标重建角度(alpha, beta)和半径
	 */
	rebuildAnglesAndRadius(): void;
	/**
	 * 从给定位置和目标重置相机
	 */
	reset(target: Point3D, position: Point3D): void;
	/**
	 * 使用一个位置来定义当前相机的相关信息，如alpha, beta和半径
	 * @param position 定义要设置摄像机的位置
	 */
	setPosition(position: Point3D): void;
	/**
	 * 定义相机应该查看的目标。这将自动调整alpha、beta和半径以适应新的目标。
	 * @param target 新目标
	 */
	setTarget(target: Point3D): void;
	private _onPerspectiveUpdate;
	private _onOrthographicUpdate;
	private _onUpdate;
	/**
	 * 更新限制（切换场景后调用）
	 */
	updateLimit(): void;
	/**
	 * 自适应观察指定物体
	 * @param obj 物体
	 * @param time 花费的时间，默认值500毫秒
	 * @param callback 完成回调函数
	 */
	fit(obj: Entity | BoundingInfo, time?: number, callback?: () => void): void;
	/**
	 * 自适应观察指定物体数组
	 * @param arr 物体数组
	 * @param time 花费的时间，默认值500毫秒
	 * @param callback 完成回调函数
	 */
	fitArray(arr: Entity[], time?: number, callback?: () => void): void;
	/**
	 * 飞行
	 * @param position 相机位置
	 * @param target 目标
	 * @param time 花费的时间，默认值2000毫秒
	 * @param callback 完成回调函数
	 * @param easing 缓动函数类型
	 */
	flyTo(position: Point3D, target: Point3D, time?: number, callback?: () => void, easing?: EasingFunction): void;
	private _updateOrthographic;
	/**
	 * 停止飞行
	 */
	stopFlying(): void;
	private _updateAngelLimit;
	/**
	 * 切换到正交投影
	 * @param time 事件，默认500毫秒
	 * @param callback 回调函数，默认为空
	 * @param view 视图，默认顶视图
	 */
	toOrthographic(time?: number, callback?: () => void, view?: OrthographicView): void;
	/**
	 * 切换到透视投影
	 */
	toPerspective(time?: number, callback?: () => void): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 打印日志
	 */
	log(): void;
}
/**
 * （泛）园区[片区]
 */
export declare class Campus extends Floor {
	/**
	 * 实例化一个（泛）园区对象
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取所有建筑
	 */
	get buildings(): Building[];
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * 色彩校正
 */
export declare class ColorCorrection extends Base {
	/**
	 * 图像处理配置对象
	 */
	private _config;
	/**
	 * 颜色曲线
	 */
	private _colorCurves;
	/**
	 * 实例化一个图像校正对象
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置是否启用色彩校正
	 */
	get enable(): boolean;
	set enable(value: boolean);
	/**
	 * 获取或设置全局密度值。
	 * 密度值在[-100，+100]范围内，0表示颜色滤镜没有效果，+100表示颜色滤镜有最大效果。
	 *小于零的值提供了一个相反色调的过滤器。
	 */
	get globalDensity(): number;
	set globalDensity(value: number);
	/**
	 * 获取或设置全局曝光值。
	 * 这是一个范围为[-100，+100]的调整值，其中默认值0.0不进行调整，正值增加曝光，负值减少曝光。
	 */
	get globalExposure(): number;
	set globalExposure(value: number);
	/**
	 * 获取或设置全局色调值。
	 * 色调值是HSB在[0,360]范围内的标准色调值，其中0=红色，120=绿色和240=蓝色。默认值为30度(橙色)。
	 */
	get globalHue(): number;
	set globalHue(value: number);
	/**
	 * 获取或设置全局饱和值。
	 * 这是一个范围[-100，+100]的调整值，默认值0.0不进行调整，正值增加饱和度，负值减少饱和度。
	 */
	get globalSaturation(): number;
	set globalSaturation(value: number);
	/**
	 * 获取或设置高亮区域密度值。
	 * 密度值在[-100，+100]范围内，0表示颜色滤镜没有效果，+100表示颜色滤镜有最大效果。
	 *小于零的值提供了一个相反色调的过滤器。
	 */
	get highlightsDensity(): number;
	set highlightsDensity(value: number);
	/**
	 * 获取或设置高亮区域曝光值。
	 * 这是一个范围为[-100，+100]的调整值，其中默认值0.0不进行调整，正值增加曝光，负值减少曝光。
	 */
	get highlightsExposure(): number;
	set highlightsExposure(value: number);
	/**
	 * 获取或设置高亮区域色调值。
	 * 色调值是HSB在[0,360]范围内的标准色调值，其中0=红色，120=绿色和240=蓝色。默认值为30度(橙色)。
	 */
	get highlightsHue(): number;
	set highlightsHue(value: number);
	/**
	 * 获取或设置高亮区域饱和值。
	 * 这是一个范围[-100，+100]的调整值，默认值0.0不进行调整，正值增加饱和度，负值减少饱和度。
	 */
	get highlightsSaturation(): number;
	set highlightsSaturation(value: number);
	/**
	 * 获取或设置中亮区域密度值。
	 * 密度值在[-100，+100]范围内，0表示颜色滤镜没有效果，+100表示颜色滤镜有最大效果。
	 *小于零的值提供了一个相反色调的过滤器。
	 */
	get midtonesDensity(): number;
	set midtonesDensity(value: number);
	/**
	 * 获取或设置中亮区域曝光值。
	 * 这是一个范围为[-100，+100]的调整值，其中默认值0.0不进行调整，正值增加曝光，负值减少曝光。
	 */
	get midtonesExposure(): number;
	set midtonesExposure(value: number);
	/**
	 * 获取或设置中亮区域色调值。
	 * 色调值是HSB在[0,360]范围内的标准色调值，其中0=红色，120=绿色和240=蓝色。默认值为30度(橙色)。
	 */
	get midtonesHue(): number;
	set midtonesHue(value: number);
	/**
	 * 获取或设置中亮区域饱和值。
	 * 这是一个范围[-100，+100]的调整值，默认值0.0不进行调整，正值增加饱和度，负值减少饱和度。
	 */
	get midtonesSaturation(): number;
	set midtonesSaturation(value: number);
	/**
	 * 获取或设置阴影区域（低亮）密度值。
	 * 密度值在[-100，+100]范围内，0表示颜色滤镜没有效果，+100表示颜色滤镜有最大效果。
	 *小于零的值提供了一个相反色调的过滤器。
	 */
	get shadowsDensity(): number;
	set shadowsDensity(value: number);
	/**
	 * 获取或设置阴影区域（低亮）曝光值。
	 * 这是一个范围为[-100，+100]的调整值，其中默认值0.0不进行调整，正值增加曝光，负值减少曝光。
	 */
	get shadowsExposure(): number;
	set shadowsExposure(value: number);
	/**
	 * 获取或设置阴影区域（低亮）色调值。
	 * 色调值是HSB在[0,360]范围内的标准色调值，其中0=红色，120=绿色和240=蓝色。默认值为30度(橙色)。
	 */
	get shadowsHue(): number;
	set shadowsHue(value: number);
	/**
	 * 获取或设置阴影区域（低亮）饱和值。
	 * 这是一个范围[-100，+100]的调整值，默认值0.0不进行调整，正值增加饱和度，负值减少饱和度。
	 */
	get shadowsSaturation(): number;
	set shadowsSaturation(value: number);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 组件
 */
export declare class Component implements IDisposable {
	/**
	 * 实体
	 */
	readonly entity: Entity;
	/**
	 * 获取3D应用
	 */
	get app(): App;
	/**
	 * 实例化一个组件对象
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	dispose(): void;
}
/**
 * 墙角
 */
export declare class Corner extends Entity {
	/**
	 * 获取墙列表
	 */
	readonly walls: Wall[];
	/**
	 * 实例化一个墙角对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取索引
	 */
	get index(): number;
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * 装饰网格
 */
export declare class DecorateGrid extends Entity {
	private _mesh;
	private _mat;
	private _onAfterFrameObserver;
	/**
	 * 实例化一个装饰网格对象
	 * @param app 应用
	 */
	constructor(app: App);
	build(): Promise<void>;
	private _onAfterFrame;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
}
/**
 * 测距工具
 */
export declare class DistanceTool {
	/**
	 * 应用对象
	 */
	app: App;
	private _started;
	private _eventIds;
	private _poins;
	private _mesh;
	private _tips;
	private _nodes;
	/**
	 * 提示文本颜色
	 */
	tipColor: string;
	/**
	 * 提示文本X轴偏移，默认值0
	 */
	tipOffsetX: number;
	/**
	 * 提示文本Y轴偏移，默认值0
	 */
	tipOffsetY: number;
	/**
	 * 线颜色
	 */
	lineColor: string;
	/**
	 * 点颜色
	 */
	pointColor: string;
	/**
	 * 点大小
	 */
	pointSize: number;
	/**
	 * 最小距离
	 */
	minDistance: number;
	/**
	 * 构造函数
	 * @param app 应用对象
	 */
	constructor(app: App);
	private _onLeftPointerDown;
	private _onRightPointerUp;
	/**
	 * 开始
	 */
	start(): void;
	/**
	 * 停止
	 */
	stop(): void;
}
/**
 * 门窗
 */
export declare class DoorWindow extends Thing {
	private _isOpen;
	/**
	 * 是否是窗户，默认false表示门
	 */
	isWindow: boolean;
	/**
	 * 实例化一个门窗对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置打开状态
	 */
	get isOpen(): boolean;
	set isOpen(value: boolean);
	/**
	 * 获取二维边界（用于判断门窗是否在水平方向越界）
	 */
	get bound2D(): Point2D;
	/**
	 * 获取或设置左边距（到开始墙点的距离）
	 */
	left: number;
	/**
	 * 判断给定的左边距在指定墙体是否有效
	 * @param left 左边距
	 * @param parent 墙体
	 */
	isLeftEnabled(left: number, parent: Wall): boolean;
	/**
	 * 左边距转换成坐标，仅在build中使用
	 */
	leftToPosition(): Point3D;
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取或设置朝向，取值0、1、2、3
	 */
	get direction(): DoorWindowDirection;
	set direction(value: DoorWindowDirection);
	/**
	 * 获取或设置位置
	 */
	get position(): Point3D;
	set position(value: Point3D);
	/**
	 * 获取或设置底边距（离地高度）
	 */
	get bottom(): number;
	set bottom(value: number);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * 效果管理器
 */
export declare class EffectMgr extends Base {
	/**
	 * 环境贴图
	 */
	environmentTexture: EnvironmentTexture;
	/**
	 * 背景
	 */
	background: Background;
	/**
	 * 雾效
	 */
	fog: Fog;
	/**
	 * 发光层
	 */
	glow: Glow;
	/**
	 * 高亮
	 */
	highlight: HighLight;
	/**
	 * 灯光
	 */
	light: Light;
	/**
	 * 图像处理
	 */
	imageProcessing: ImageProcessing;
	/**
	 * 颜色校正
	 */
	colorCorrection: ColorCorrection;
	/**
	 * 装饰
	 */
	decoration: Decoration;
	/**
	 * 粒子
	 */
	particle: Particle;
	/**
	 * 实例化一个效果管理器对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置背景色
	 */
	get backgroundColor(): string;
	set backgroundColor(value: string);
	/**
	 * 加载粒子系统
	 * @param fileName 文件名称
	 */
	loadParticle(fileName: string): Promise<void>;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 场景加载前设置效果
	 */
	setEffectBeforeLevelLoad(): Promise<void>;
	/**
	 * 场景加载后设置效果
	 */
	setEffectAfterLevelLoad(): void;
}
/**
 * 实体
 */
export declare class Entity extends Base {
	/**
	 * 自定义检查函数，用于管线模块查找端点实体
	 */
	static customCheckFun: (data: {
		type: "\u8BBE\u5907" | "\u7AEF\u53E3";
		fields: string[];
	}) => Entity;
	protected _viewInfo: ViewInfo | null;
	protected _cursor: string;
	_boundingInfoNode: TransformNode;
	protected _boxContainer: TransformNode;
	/**
	 * 最大观察距离（包围球半径倍数）
	 */
	maxRadiusScale: number;
	/**
	 * 包围盒
	 */
	boundingInfo: BoundingInfo;
	/**
	 * 节点
	 */
	node: TransformNode;
	/**
	 * 偏移节点
	 */
	offsetNode: TransformNode;
	/**
	 * 子元素
	 */
	readonly children: Entity[];
	/**
	 * 组件列表
	 */
	readonly _components: Component[];
	/**
	 * 是否已创建
	 */
	built: boolean;
	/**
	 * 父元素
	 */
	parent: Entity | null;
	/**
	 * 前置层级（用于存储园区转场、热点跳转、POI跳转、楼层跳转时的返回层级）
	 */
	preLevel: Entity | null;
	/**
	 * 获取子节点列表
	 */
	readonly subNodes: TransformNode[];
	/**
	 * 标签
	 */
	readonly tags: Set<string>;
	/**
	 * 用户数据
	 */
	readonly userData: any;
	/**
	 * 效果数据
	 */
	effectData: EffectData;
	/**
	 * 获取或设置路径动画移动速度
	 */
	moveSpeed: number;
	/**
	 * 实体注册的应用事件ID列表，当实体销毁时自动移除集合中的事件
	 */
	appEventIds: string[];
	protected _enablePointerMoveEvents: boolean;
	protected _pickable: boolean;
	private _castShadow;
	/**
	 * 是否投射阴影
	 */
	get castShadow(): boolean;
	set castShadow(value: boolean);
	/**
	 * 获取或设置提示信息
	 */
	tip: string;
	/**
	 * 实例化一个实体对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置编号
	 */
	get id(): string;
	set id(value: string);
	/**
	 * 获取实体类型
	 */
	get type(): EntityType;
	/**
	 * 获取或设置名称
	 */
	get name(): string;
	set name(value: string);
	/**
	 * 获取或设置可见性
	 */
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置观察视角
	 */
	get viewInfo(): ViewInfo | null;
	set viewInfo(value: ViewInfo | null);
	/**
	 * 获取子网格列表
	 */
	get subMeshes(): Mesh[];
	/**
	 * 获取材质列表
	 */
	get materials(): Material[];
	/**
	 * 获取或设置位置
	 */
	get position(): Point3D;
	set position(value: Point3D);
	/**
	 * 获取内部位置，避免多选保存时移位
	 */
	get _internalPosition(): Point3D;
	/**
	 * 获取或设置偏移量
	 */
	get offset(): Point3D;
	set offset(value: Point3D);
	/**
	 * 获取或设置允许指针移动事件
	 */
	get enablePointerMoveEvents(): boolean;
	set enablePointerMoveEvents(value: boolean);
	/**
	 * 获取或设置是否可被拾取
	 */
	get pickable(): boolean;
	set pickable(value: boolean);
	/**
	 * 获取或设置指针样式，与CSS保持一致
	 */
	get cursor(): string;
	set cursor(value: string);
	/**
	 * 获取或设置旋转（四元数）
	 */
	get rotation(): Point4D;
	set rotation(value: Point4D);
	/**
	 * 获取或设置欧拉角（弧度）
	 */
	get euler(): Point3D;
	set euler(value: Point3D);
	/**
	 * 获取或设置角度
	 */
	get angles(): Point3D;
	set angles(value: Point3D);
	/**
	 * 获取或设置缩放
	 */
	get scale(): Point3D;
	set scale(value: Point3D);
	/**
	 * 获取包围盒中心点坐标（世界坐标）
	 */
	get center(): Point3D;
	/**
	 * 获取包围盒半径
	 */
	get radius(): number;
	/**
	 * 获取包围盒大小
	 */
	get size(): Point3D;
	/**
	 * 获取该对象下的所有层级数量（包含自身）
	 */
	get levelCount(): number;
	private _boundingColor;
	/**
	 * 获取或设置包围盒颜色
	 */
	get boundingColor(): string;
	set boundingColor(value: string);
	/**
	 * 获取或设置是否显示包围盒
	 */
	get showBoundingBox(): boolean;
	set showBoundingBox(value: boolean);
	/**
	 * 获取或设置是否显示轮廓
	 */
	get outline(): boolean;
	set outline(value: boolean);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取是否允许被冻结世界矩阵
	 */
	get canFreezeWorldMatrix(): boolean;
	/**
	 * 获取是否允许被冻结材质
	 */
	get canFreezeMaterial(): boolean;
	/**
	 * 是否是当前层级
	 */
	get isCurrentLevel(): boolean;
	/**
	 * 冻结世界矩阵
	 * @param recursive 是否递归调用冻结子元素的世界矩阵，默认true
	 */
	freezeWorldMatrix(recursive?: boolean): void;
	/**
	 * 解除冻结世界矩阵
	 * @param recursive 是否递归调用解除冻结子元素的世界矩阵，默认true
	 */
	unfreezeWorldMatrix(recursive?: boolean): void;
	/**
	 * 计算世界矩阵
	 * @param recursive 是否递归调用计算子元素的世界矩阵，默认true
	 */
	computeWorldMatrix(recursive?: boolean): void;
	/**
	 * 设置总是激活，用于性能优化，切换场景后失效
	 * @param recursive 是否递归调用设置子元素总是激活，默认true
	 */
	setAlwaysActive(recursive?: boolean): void;
	/**
	 * 设置包围盒同步机制
	 * @param value 值，默认true
	 * @param recursive 是否递归调用设置子元素的包围盒同步机制，默认true
	 */
	setDoNotSyncBoundingInfo(value?: boolean, recursive?: boolean): void;
	/**
	 * 冻结材质
	 * @param recursive 是否递归调用冻结子元素的材质，默认true
	 */
	freezeMaterial(recursive?: boolean): void;
	/**
	 * 解除冻结材质
	 * @param recursive 是否递归调用解除冻结子元素的材质，默认true
	 */
	unfreezeMaterial(recursive?: boolean): void;
	/**
	 * 获取所有子网格（递归获取子元素的网格）
	 */
	getAllSubMeshes(): Mesh[];
	/**
	 * 获取所有子网格（递归获取子元素的网格），含实例网格
	 */
	_getAllSubMeshes2(): Mesh[];
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
	/**
	 * 世界坐标转局部坐标
	 * @param world 世界坐标
	 * @returns 局部坐标
	 */
	worldToLocal(world: Point3D): Point3D;
	/**
	 * 局部坐标转世界坐标
	 * @param local 局部坐标
	 * @returns 世界坐标
	 */
	localToWorld(local: Point3D): Point3D;
	/**
	 * 世界坐标转屏幕坐标
	 * @param world 世界坐标
	 * @returns 屏幕坐标
	 */
	worldToScreen(world: Point3D): Point2D;
	/**
	 * 局部坐标转屏幕坐标
	 * @param local 局部坐标
	 * @returns 屏幕坐标
	 */
	localToScreen(local: Point3D): Point2D;
	/**
	 * 获取指针与当前实体平面的交点（局部坐标，可能为空）
	 * @param ray 射线
	 */
	getLocalPointerInThisPlane(ray?: Ray): Point3D | null;
	/**
	 * 获取指针与当前实体平面的交点（世界坐标，可能为空）
	 * @param ray 射线
	 */
	getWorldPointerInThisPlane(ray?: Ray): Point3D | null;
	/**
	 * 获取指针世界坐标（当前实体平面+相机裁剪面，不为空）
	 * @param ray 射线
	 */
	getPointer3D(ray?: Ray): Point3D;
	/**
	 * 添加子元素
	 * @param item 子元素
	 * @param index 索引
	 */
	add(item: Entity, index?: number): void;
	/**
	 * 移除子元素
	 * @param item 子元素
	 */
	remove(item: Entity): void;
	/**
	 * 从父元素中移除自身
	 */
	removeSelf(): void;
	/**
	 * 是否是当前层级的子孙
	 */
	descendantOfCurrentLevel(): boolean;
	/**
	 * 添加指定组件（不可重复添加）
	 * @param type 组件类型
	 */
	addComponent<T extends Component>(type: new (entity: Entity) => T): T;
	/**
	 * 获取指定类型的组件
	 * @param type 组件类型
	 */
	getComponent<T extends Component>(type: new (entity: Entity) => T): T | null;
	/**
	 * 获取所属房间
	 */
	get ownerRoom(): any;
	/**
	 * 获取或设置是否显示为盒子模式
	 */
	get showBox(): boolean;
	set showBox(value: boolean);
	/**
	 * 释放盒子
	 */
	disposeBox(): void;
	/**
	 * 标记节点
	 * @param id 唯一ID
	 * @param recursive 是否递归调用标记子元素的节点
	 */
	markNode(id?: string, recursive?: boolean): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 对象创建完成后执行的操作
	 */
	afterBuild(): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 设置子节点列表
	 */
	setSubNodes(): void;
	/**
	 * 拆毁（销毁网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 事件调度器
 */
export declare class EventDispatcher implements IDisposable {
	/**
	 * 事件字典
	 */
	private _eventMap;
	/**
	 * 是否已经销毁
	 */
	_disposed: boolean;
	/**
	 * 监听事件
	 * @param type 事件类型
	 * @param callback 回调函数
	 * @param once 是否只执行一次
	 * @param data 自定义事件数据
	 * @returns 事件唯一编号
	 */
	on(type: EventType | string, callback: (ev: EventArg) => void, once?: boolean, data?: any): string;
	/**
	 * 监听事件仅一次
	 * @param type 事件类型
	 * @param callback 回调函数
	 * @param data 自定义事件数据
	 * @returns 事件唯一编号
	 */
	once(type: EventType | string, callback: (ev: EventArg) => void, data?: any): string;
	/**
	 * 触发指定类型的事件
	 * @param type 事件类型
	 * @param data 自定义事件数据
	 */
	trigger(type: EventType | string, data?: any): void;
	/**
	 * 移除指定编号的事件
	 * @param id 事件唯一编号
	 */
	off(id: string): void;
	/**
	 * 移除指定类型的事件
	 * @param type 事件类型
	 */
	offType(type: EventType | string): void;
	/**
	 * 移除所有事件
	 */
	offAll(): void;
	/**
	 * 暂停事件响应
	 * @param ids 事件唯一编号列表
	 */
	pause(...ids: string[]): void;
	/**
	 * 恢复事件响应
	 * @param ids 事件唯一编号列表
	 */
	resume(...ids: string[]): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 事件管理器
 */
export declare class EventMgr extends Base {
	private _observer;
	/**
	 * 指针处的网格
	 */
	_pointerMesh: Mesh | null;
	/**
	 * 拾取对象
	 */
	_pickInfo: PickingInfo | null;
	/**
	 * 长按定时器ID
	 */
	private _longDownId;
	private _pointerCanvas;
	/**
	 * 鼠标X轴坐标
	 */
	mouseX: number;
	/**
	 * 鼠标Y轴坐标
	 */
	mouseY: number;
	private _onPointerEnterCanvas;
	private _onPointerLeaveCanvas;
	/**
	 * 热键字典
	 */
	private _hotKeyMap;
	_pressedKeys: Set<KeyCode>;
	/**
	 * 实例化一个事件管理器对象
	 * @param app
	 */
	constructor(app: App);
	/**
	 * 获取指针是否在画布之上
	 */
	get pointerCanvas(): boolean;
	/**
	 * 注册热键
	 * @param keys 键
	 * @param action 动作
	 */
	registerHotKey(keys: KeyCode[], action: () => void): string;
	/**
	 * 取消注册热键
	 * @param id 热键注册返回的ID
	 */
	unRegisterHotKey(id: string): void;
	/**
	 * 是否按下了某个键
	 * @param key 键
	 */
	isPressed(key: KeyCode): boolean;
	private _onKeyDown;
	private _onKeyUp;
	/**
	 *
	 * @param eventData
	 */
	private _handleEvent;
	/**
	 *
	 * @param eventData
	 */
	private _onMove;
	/**
	 *
	 * @param eventData
	 */
	private _onWheel;
	/**
	 *
	 * @param {PointerInfo} eventData
	 */
	private _onDown;
	private _clearLongDown;
	/**
	 *
	 * @param eventData
	 */
	private _onUp;
	/**
	 *
	 * @param eventData
	 */
	private _onPick;
	/**
	 *
	 * @param eventData
	 */
	private _onTap;
	/**
	 *
	 * @param eventData
	 */
	private _onDoubleTap;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 帧率
 */
export declare class FPSBar extends TextBlock {
	/**
	 * 应用
	 */
	app: App;
	private _fps;
	/**
	 * 实例化一个帧率对象
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 获取帧率
	 */
	get fps(): number;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 电子围栏
 */
export declare class Fence extends Entity {
	/** 点集 */
	points: Point3D[];
	/**
	 * 实例化一个电子围栏对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): typeof Fence;
	toJson(): any;
	fromJson(json: any): void; /**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * 电子围栏管理器组件
 */
export declare class FenceMgr extends Component {
	private _edit;
	private _curPoints;
	private _curMeshes;
	private _curRoot;
	private _lastPointMesh;
	private _lastLineMesh;
	private _appEvents;
	/**
	 * 离地高度
	 */
	static offsetY: number;
	/**
	 * 区域颜色
	 */
	static areaColor: string;
	/**
	 * 区域透明度
	 */
	static areaAlpha: number;
	/**
	 * 点颜色
	 */
	static pointColor: string;
	/**
	 * 线宽度
	 */
	static lineWidth: number;
	/**
	 * 线颜色
	 */
	static lineColor: string;
	/**
	 * 文本
	 */
	static text: string;
	/**
	 * 文本颜色
	 */
	static textColor: string;
	/**
	 * 文本缩放
	 */
	static textScale: number;
	/** 结束编辑时触发的回调函数 */
	onEndEdit: (face: Fence) => void;
	/** 电子围栏列表 */
	get fenceList(): Fence[];
	/**
	 * 添加一个电子围栏
	 * @param json 电子围栏JSON对象
	 */
	addOne(json: any): Fence;
	/**
	 * 创建所有电子围栏
	 */
	build(): Promise<void>;
	/**
	 * 实例化一个围栏管理器组件
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	/**
	 * 开始编辑
	 */
	startEdit(): void;
	private _setAppEvents;
	private _onLeftClick;
	private _addPointMesh;
	private _addLineMesh;
	private _onAfterFrame;
	/**
	 * 结束编辑
	 */
	endEdit(): Promise<void>;
}
/**
 * 楼层
 */
export declare class Floor extends Entity {
	/**
	 * 楼层默认高度
	 */
	static defaultHeight: number;
	/**
	 * 楼层高度
	 */
	height: number;
	/**
	 * 墙默认厚度
	 */
	defaultWallThickness: number;
	/**
	 * 是否隐藏所有房间地板（编辑器用）
	 */
	_hideAllRoomFloors: boolean;
	/**
	 * 合并网格的父节点
	 */
	mergedMeshNode: TransformNode;
	_mergedTransparent: boolean;
	/**
	 * 实例化一个楼层对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 注册默认事件
	 */
	registerDefaultEvents(): void;
	/**
	 * 获取所有墙角
	 */
	get corners(): Corner[];
	/**
	 * 获取所有墙
	 */
	get walls(): Wall[];
	/**
	 * 获取所有房间
	 */
	get rooms(): Room[];
	/**
	 * 获取所有摆件
	 */
	get placements(): Placement[];
	/**
	 * 获取其它实体
	 */
	get others(): OtherEntity[];
	/**
	 * 获取所有路径
	 */
	get paths(): Path[];
	/** 获取所有联合体 */
	get unions(): Union[];
	/**
	 * 获取当前层级的所有图层
	 */
	get layers(): string[];
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): any;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 添加热力图组件
	 */
	_addHeatmap(): void;
	/**
	 * 创建合并的网格
	 */
	buildMergedMesh(transparent?: boolean): Promise<void>;
	/**
	 * 创建轮廓线
	 */
	buildOutline(): void;
	/**
	 * 更新手绘墙uvs2（共线手绘墙环境贴图uv重置，使之连为一体）
	 */
	updateManualWallUVS2(): void;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 设置子节点列表
	 */
	setSubNodes(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 创建指定图层
	 * @param layers 图层列表
	 */
	createLayers(...layers: string[]): Promise<void>;
	/**
	 * 销毁指定图层
	 * @param layer 图层列表
	 */
	destroyLayers(...layers: string[]): Promise<void>;
}
/**
 * 雾效
 */
export declare class Fog extends Base {
	/**
	 * 实例化一个雾效对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 设置雾效
	 */
	setFogEffect(): void;
}
/**
 * GUI管理器
 */
export declare class GUIMgr extends Base {
	/**
	 * 根
	 */
	root: AdvancedDynamicTexture;
	/**
	 * 项目加载进度条
	 */
	projectProgress: RectangleProgress;
	/**
	 * 帧率
	 */
	fpsBar: FPSBar;
	/**
	 * 性能面板
	 */
	performancePanel: PerformancePanel;
	/**
	 * 提示信息
	 */
	toolTip: ToolTip;
	/**
	 * 实例化一个GUI管理器
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 渐变矩形
 */
export declare class GradientRectangle extends Container {
	private _thickness;
	private _cornerRadius;
	private _gradientStart;
	private _gradientMiddle;
	private _gradientEnd;
	private _gradientVertical;
	private _gradient2;
	/**
	 * 实例化一个渐变矩形对象
	 * @param name 控件名称
	 */
	constructor(name?: string);
	/**
	 * 获取或渐变开始颜色
	 */
	get gradientStart(): string;
	set gradientStart(value: string);
	/**
	 * 获取或设置渐变中间颜色
	 */
	get gradientMiddle(): string;
	set gradientMiddle(value: string);
	/**
	 * 获取或设置渐变结束颜色
	 */
	get gradientEnd(): string;
	set gradientEnd(value: string);
	/**
	 * 获取或设置是否垂直渐变
	 */
	get gradientVertical(): boolean;
	set gradientVertical(value: boolean);
	/**
	 * 获取或设置边框厚度
	 */
	get thickness(): number;
	set thickness(value: number);
	/**
	 * 获取或设置转角半径
	 */
	get cornerRadius(): number;
	set cornerRadius(value: number);
	protected _getTypeName(): string;
	/**
	 *
	 * @param context
	 */
	protected _localDraw(context: ICanvasRenderingContext): void;
	protected _additionalProcessing(parentMeasure: Measure, context: ICanvasRenderingContext): void;
	protected _drawRoundedRect(context: ICanvasRenderingContext, offset?: number): void;
	protected _clipForChildren(context: ICanvasRenderingContext): void;
}
/**
 * 组
 */
export declare class Group extends Entity {
	/**
	 * 实例化一个组对象
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取摆件
	 */
	get placements(): Entity[];
	/**
	 * 序列化成JSON对象
	 */
	toJson(): void;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param {*} json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * 热力图
 */
export declare class Heatmap extends Component {
	/**
	 * 最小值
	 */
	static min: number;
	/**
	 * 最大值
	 */
	static max: number;
	/**
	 * 缩放倍数
	 */
	static scale: number;
	/**
	 * 单位（显示数值时使用）
	 */
	static unit: string;
	/**
	 * 图层
	 */
	static layers: {
		name: string;
		offsetY: number;
	}[];
	private _heattype;
	private _layerName;
	private _built;
	_meshes: Mesh[];
	_particleSystems: ParticleSystem[];
	_tips: Billboard[];
	private _renderType;
	private _renderLayerName;
	/**
	 * 数据点位列表
	 */
	readonly points: Entity[];
	/**
	 * 房间列表
	 */
	readonly rooms: Room[];
	private _showValues;
	/**
	 * 获取或设置是否显示值
	 */
	get showValues(): boolean;
	set showValues(value: boolean);
	/**
	 * 获取或设置热力图类型
	 */
	get heattype(): HeatmapType;
	set heattype(value: HeatmapType);
	/**
	 * 获取或设置热力图图层名称（仅水平图有效）
	 */
	get layerName(): string;
	set layerName(value: string);
	/**
	 * 实例化一个热力图对象
	 * @param entity 楼层
	 */
	constructor(entity: Entity);
	private _fixMirrorBug;
	/**
	 * 创建
	 */
	private _build;
	/**
	 * 拆毁
	 */
	unbuild(): void;
	/**
	 * 渲染
	 */
	render(): Promise<void>;
	/**
	 * 清理
	 */
	clean(): void;
	/**
	 * 显示指定类型的热力图
	 * @param type 类型
	 * @param layerName 层名称
	 */
	show(type: HeatmapType, layerName?: string): Promise<void>;
	dispose(): void;
}
/**
 * 标高工具
 */
export declare class HeightTool {
	/**
	 * 应用对象
	 */
	app: App;
	private _started;
	private _eventIds;
	private _point;
	private _mesh;
	private _tip;
	private _nodes;
	/**
	 * 提示文本颜色
	 */
	tipColor: string;
	/**
	 * 提示文本X轴偏移，默认值0
	 */
	tipOffsetX: number;
	/**
	 * 提示文本Y轴偏移，默认值0
	 */
	tipOffsetY: number;
	/**
	 * 线颜色
	 */
	lineColor: string;
	/**
	 * 点颜色
	 */
	pointColor: string;
	/**
	 * 点大小
	 */
	pointSize: number;
	/**
	 * 最小距离
	 */
	minDistance: number;
	/**
	 * 构造函数
	 * @param app 应用对象
	 */
	constructor(app: App);
	private _onLeftPointerDown;
	private _onRightPointerUp;
	private _clearElements;
	/**
	 * 开始
	 */
	start(): void;
	/**
	 * 停止
	 */
	stop(): void;
}
/**
 * 图片广告牌
 */
export declare class IconBillboard extends Entity {
	private _options;
	private _visible;
	private _pivot;
	private _img2D;
	private _canvas;
	private _pointerClickObserver;
	private _pointerEnterObserver;
	private _pointerLeaveObserver;
	private _pointerDownObserver;
	private _pointerUpObserver;
	private _mesh;
	private _renderingGroupId;
	/**
	 * 上一次点击的时间点，用于计算双击事件
	 */
	private _lastClickTime;
	constructor(app: App, options: IconBillboardOptions);
	private _onResize;
	/**
	 * 获取显示模式
	 */
	get mode(): "2D" | "3D";
	/**
	 * 获取或设置图片地址
	 */
	get url(): string;
	set url(value: string);
	/**
	 * 获取或设置渲染顺序，默认为0（仅3D模式生效）
	 */
	get renderOrder(): number;
	set renderOrder(value: number);
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置轴心点
	 */
	get pivot(): Point2D;
	set pivot(value: Point2D);
	get pickable(): boolean;
	set pickable(value: boolean);
	get cursor(): string;
	set cursor(value: string);
	build(force?: boolean): Promise<void>;
	unbuild(): void;
	toJson(): any;
	fromJson(json: any): void;
	private _build2D;
	private _build3D;
	private _updatePovit;
	dispose(): void;
}
/**
 * 信息列表面板
 */
export declare class InfoListPanel extends EventDispatcher {
	/**
	 * 顶部图片地址
	 */
	static top_url: string;
	/**
	 * 中间图片地址
	 */
	static center_url: string;
	/**
	 * 底部图片地址
	 */
	static bottom_url: string;
	private _list;
	/**
	 * 锚点
	 */
	private _anchor;
	/**
	 * 根
	 */
	private _root;
	/**
	 * 容器
	 */
	private _container;
	/**
	 * 上一次点击的时间点，用于计算双击事件
	 */
	private _lastClickTime;
	/**
	 * 提示信息
	 */
	tip: string;
	private _canvas;
	private _grid;
	private _title;
	private _size;
	_height_percent: number;
	/**
	 *
	 * @param type 类型
	 * @param title 标题
	 * @param list 数据列表
	 */
	constructor(type: "2D" | "3D", title: string, list: InfoListDataItem[]);
	private _onResize;
	/**
 * 获取类型
 */
	get type(): "2D" | "3D";
	/**
	 * 获取尺寸大小（2D模式是像素，3D模式是长度）
	 */
	get size(): Point2D;
	/**
	 * 获取或设置渲染顺序（仅3D有效）
	 */
	get renderOrder(): number;
	set renderOrder(value: number);
	/**
	 * 获取或设置是否响应鼠标指针事件，默认true
	 */
	get isPointerBlocker(): boolean;
	set isPointerBlocker(value: boolean);
	/**
	 * 获取或设置位置（世界坐标）
	 */
	get position(): Point3D;
	set position(value: Point3D);
	/**
	 * 获取或设置旋转
	 */
	get rotation(): number;
	set rotation(value: number);
	/**
	 * 获取或设置可见性
	 */
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置指针样式
	 */
	get cursor(): string;
	set cursor(value: string);
	/**
	 * 获取或设置数据列表
	 */
	get list(): InfoListDataItem[];
	set list(value: InfoListDataItem[]);
	/**
	 * 获取或设置标题
	 */
	get title(): string;
	set title(value: string);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 漏水线
 */
export declare class LeakLine extends Entity {
	/**
	 * 点集
	 */
	readonly points: Point3D[];
	/**
	 * 贴图ID
	 */
	textureId: string;
	private _material;
	/**
	 * 实例化一个漏水线对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 层级管理器
 */
export declare class LevelMgr extends Entity {
	/**
	 * 项目权限（编辑器用）
	 */
	_permission: boolean;
	/**
	 * 当前层级
	 */
	current: Entity | null;
	/**
	 * 前一个层级
	 */
	previous: Entity | null;
	/**
	 * 单个对象加载权重
	 */
	private _perWeight;
	/**
	 * 加载进度值
	 */
	private _progressValue;
	private _changing;
	/**
	 * 实例化一个层级管理器
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取是否正在切换场景
	 */
	get changing(): boolean;
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取（泛）园区集合
	 */
	get campuses(): Campus[];
	/**
	 * 添加子元素
	 * @param item 子元素
	 * @param index 索引
	 */
	add(item: Entity, index?: number): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): Promise<any>;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param {*} json JSON对象
	 */
	fromJson(json: any): void;
	/**.
	 * 切换到指定层级
	 * @param level 层级
	 * @param fit 自适应
	 * @param callback 切换完成后的回调函数
	 */
	change(level: Entity, fit?: boolean, callback?: () => void): Promise<void>;
	/**
	 * 增加单个对象的加载进度
	 */
	addPerLoadProgress(): void;
	/**
	 * 标记节点
	 */
	markNode(): void;
	/**
	 * 返回到上一层级（父层级）
	 */
	back(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 手绘墙
 */
export declare class ManualWall extends Wall {
	/**
	 * 普通墙截面演示（默认科技风）
	 */
	static sectionColor: string;
	/**
	 * 左面贴图唯一编号
	 */
	leftTextureId: string;
	/**
	 * 右面贴图唯一编号
	 */
	rightTextureId: string;
	/**
	 * 建造器
	 */
	builder: ManualWallBuilder;
	/**
	 * 独立网格的父节点
	 */
	independentMeshNode: TransformNode;
	/**
	 * 实例化一个手绘墙对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 找两面墙的相交墙角，有则表示相交，否则表示未相交
	 * @param other 另一面墙
	 */
	getSameCorner(other: ManualWall): Corner | null;
	/**
	 * 获取与另一面墙的夹角（当前墙到另一面墙的逆时针夹角）
	 * @param {ManualWall} other 另一面墙
	 */
	getAngle(other: ManualWall): number;
	/**
	 * 获取指定墙角的左面邻居
	 * @param {Corner} corner 墙角
	 */
	getLeftNeighbor(corner: Corner): ManualWall | null;
	/**
	 * 获取指定墙角的右面邻居
	 * @param {Corner} corner 墙角
	 */
	getRightNeighbor(corner: Corner): ManualWall | null;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param {*} json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
}
/**
 * 材质管理器
 */
export declare class MaterialMgr extends Base {
	/**
	 * 实例化一个材质管理器对象
	 * @param app 应用对象
	 */
	constructor(app: App);
	/**
	 * 创建节点材质
	 * @param fileName 文件名称
	 */
	createNodeMaterial(fileName: string): Promise<NodeMaterial>;
}
/**
 * 网口
 */
export declare class NetworkPort extends Thing {
	private _direction;
	/**
	 * 实例化一个网口对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置X轴坐标
	 */
	get positionX(): number;
	set positionX(value: number);
	/**
	 * 获取或设置Y轴坐标
	 */
	get positionY(): number;
	set positionY(value: number);
	/**
	 * 获取或设置方向
	 */
	get direction(): boolean;
	set direction(value: boolean);
	/**
	 * 获取或设置Z轴旋转角度
	 */
	get angleZ(): number;
	set angleZ(value: number);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
}
/**
 * POI标记
 */
export declare class POI extends Entity {
	/**
	 * 父物体计算包围盒时是否排除此物体，默认排除
	 */
	excludeBoundingBox: boolean;
	/**
	 * 模式
	 */
	mode: "2D" | "3D";
	/**
	 * 贴图编号
	 */
	textureId: string;
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 高度
	 */
	height: number;
	/**
	 * 像素宽度
	 */
	pixWidth: number;
	/**
	 * 是否默认隐藏
	 */
	defaultHidden: boolean;
	/**
	 * 链接ID
	 */
	linkId: string | null;
	/**
	 * 像素高度
	 */
	pixHeight: number;
	private _img2D;
	private _canvas;
	private _pointerClickObserver;
	private _pointerEnterObserver;
	private _pointerLeaveObserver;
	private _pointerDownObserver;
	private _pointerUpObserver;
	private _mesh;
	private _showBoundingBox;
	private _visible;
	private _pivot;
	/**
	 * 上一次点击的时间点，用于计算双击事件
	 */
	private _lastClickTime;
	/**
	 * 构造函数
	 * @param app 应用
	 */
	constructor(app: App);
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置轴心点
	 */
	get pivot(): Point2D;
	set pivot(value: Point2D);
	get pickable(): boolean;
	set pickable(value: boolean);
	get cursor(): string;
	set cursor(value: string);
	get showBoundingBox(): boolean;
	set showBoundingBox(value: boolean);
	build(force?: boolean): Promise<void>;
	unbuild(): void;
	toJson(): any;
	fromJson(json: any): void;
	private _build2D;
	private _onResize;
	private _build3D;
	private _updatePovit;
	dispose(): void;
	/**
	 * 获取原始贴图的像素大小，编辑器中用来实现等比缩放
	 */
	get _ssize(): Point2D;
}
/**
 * POI加强版
 */
export declare class POIPlus extends Entity {
	/** 容器 */
	container: Container$1;
	/**
	 * 父物体计算包围盒时是否排除此物体，默认排除
	 */
	excludeBoundingBox: boolean;
	/**
	 * 模式
	 */
	mode: "2D" | "3D";
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 高度
	 */
	height: number;
	/**
	 * 像素宽度
	 */
	pixWidth: number;
	/**
	 * 是否默认隐藏
	 */
	defaultHidden: boolean;
	/**
	 * 链接ID
	 */
	linkId: string | null;
	/**
	 * Base64图片
	 */
	base64: string;
	/**
	 * Base64图片原始宽度
	 */
	srcWidth: number;
	/**
	 * Base64图片原始高度
	 */
	srcHeight: number;
	/**
	 * 像素高度
	 */
	pixHeight: number;
	private _img2D;
	private _canvas;
	private _pointerClickObserver;
	private _pointerEnterObserver;
	private _pointerLeaveObserver;
	private _pointerDownObserver;
	private _pointerUpObserver;
	private _mesh;
	private _showBoundingBox;
	private _visible;
	private _pivot;
	/**
	 * 上一次点击的时间点，用于计算双击事件
	 */
	private _lastClickTime;
	/**
	 * 构造函数
	 * @param app 应用
	 */
	constructor(app: App);
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取或设置轴心点
	 */
	get pivot(): Point2D;
	set pivot(value: Point2D);
	get pickable(): boolean;
	set pickable(value: boolean);
	get cursor(): string;
	set cursor(value: string);
	get showBoundingBox(): boolean;
	set showBoundingBox(value: boolean);
	/**
	 * 获取或设置贴图ID
	 */
	get textureId(): string;
	build(force?: boolean): Promise<void>;
	unbuild(): void;
	toJson(): any;
	fromJson(json: any): void;
	private _build2D;
	private _onResize;
	private _build3D;
	private _updatePovit;
	dispose(): void;
	/**
	 * 获取原始贴图的像素大小，编辑器中用来实现等比缩放
	 */
	get _ssize(): Point2D;
	/**
	 * 计算内容大小（编辑器用）
	 */
	_calaculateContentSize(): Point2D;
	/**
	 * 获取或设置所有文本
	 */
	get txts(): string[];
	set txts(value: string[]);
	/**
	 * 获取或设置所有文本的颜色
	 */
	get txtColors(): string[];
	set txtColors(value: string[]);
	/**
	 * 设置单个文本内容
	 * @param index 索引
	 * @param value 文本内容
	 */
	setTxtValue(index: number, value: string): void;
	/**
	 * 设置单个文本颜色
	 * @param index 索引
	 * @param color 颜色
	 */
	setTxtColor(index: number, color: string): void;
	/**
	 * 设置单个文本
	 * @param index 索引
	 * @param value 文本内容
	 * @param color 颜色
	 */
	setTxt(index: number, value: string, color: string): void;
}
/**
 * 路径
 */
export declare class Path extends Entity {
	private static _index;
	/**
	 * 路径点集合
	 */
	readonly points: Point3D[];
	/**
	 * 是否需要创建
	 */
	needBuild: boolean;
	/**
	 * 实例化一个路径对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁（删掉网格，仅保留层级树
	 */
	unbuild(): void;
	/**
	 * 附加拖动功能
	 */
	attachDrag(): void;
	/**
	 * 移除拖动功能
	 */
	detachDrag(): void;
	/**
	 * 设置透明度
	 * @param value 透明度
	 */
	setAlpha(value: number): void;
}
/**
 * 路径动画
 */
export declare class PathAnimation extends Component {
	private _scene;
	private _observer;
	private _path;
	private _index;
	private _step;
	private _start;
	private _end;
	private _distance;
	private _delta;
	private _dir;
	private _eventDispatcher;
	private _pause;
	private _offset;
	private _prevDir;
	private _deltaAngle;
	/**
	 * 获取或设置巡检点旋转角速度
	 */
	angleSpeed: number;
	private _cross;
	private _target;
	/**
	 * 获取垂直偏移
	 */
	get offsetY(): number;
	/**
	 * 速度
	 */
	speed: number;
	/**
	 * 获取或设置暂停
	 */
	get pause(): boolean;
	set pause(value: boolean);
	/**
	 * 实例化一个路径动画对象
	 * @param entity 实体对象
	 */
	constructor(entity: Entity);
	/**
	 * 监听事件
	 * @param type 事件类型
	 * @param callback 回调函数
	 */
	on(type: "EVENT_PAUSE" | "EVENT_CONTINUE" | "EVENT_ARRIVE", callback: (ev: EventArg) => void): string;
	/**
	 * 移除指定编号的事件
	 * @param id 事件唯一编号
	 */
	off(id: string): void;
	private _onBeforeFrame;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 管道
 */
export declare class Pipe extends Entity {
	/**
	 * 默认半径
	 */
	static defaultRadius: number;
	/**
	 * 点集
	 */
	readonly points: Point3D[];
	/**
	 * 贴图ID
	 */
	textureId: string;
	private _material;
	private _animationSpeed;
	private _radius;
	/**
	 * 是否默认隐藏
	 */
	defaultHidden: boolean;
	/**
	 * 实例化一个管道对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置动画速度
	 */
	get animationSpeed(): number;
	set animationSpeed(value: number);
	/**
	 * 获取或设置半径
	 */
	get radius(): number;
	set radius(value: number);
	/**
	 * 获取是否允许被冻结材质
	 */
	get canFreezeMaterial(): boolean;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁
	 */
	unbuild(): void;
}
/**
 * 管线管理器
 */
export declare class PipelineMgr extends Base {
	/**
	 * 管线样式列表
	 */
	readonly pipelineStyles: PipelineStyle[];
	/** 连线列表 */
	private _links;
	private _map;
	private _assetDic?;
	private _boundingInfo;
	constructor(app: App);
	/**
	 * 显示管线
	 * @param list 管线数据列表
	 * @param assetDic 资产字典，key为机柜id，value为资产列表
	 */
	show(list: PipelineData[], assetDic?: Map<string, AssetData[]>): Promise<void>;
	/**
	 * 重置
	 */
	reset(): Promise<void>;
	private _showCurrentLevel;
	private _destroyCabinetAsset;
	private _destroyPipelineLinks;
	private _createPipelineLinks;
	private _getPipelineEntity;
	/**
	 * 加载机柜资产
	 */
	private _loadCabinetAsset;
	/**
	 * 显示指定层级及其实体列表
	 * @param floor 楼层对象
	 * @param list 实体列表
	 */
	private _showLevel;
	/** 销毁当前层级的合并网格 */
	private _destroyMergedMesh;
	private _hideCurrentLevel;
	private _listToMap;
	/**
	 * 自适应
	 */
	private _fit;
	private _computeBoundingInfo;
}
/**
 * 预置墙
 */
export declare class PrefabWall extends Wall {
	/**
	 * 模型编号
	 */
	modelId: string;
	/**
	 * 科技风
	 */
	technologyWind: boolean;
	/**
	 * 实例化一个预置墙对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置高度
	 */
	get height(): number;
	set height(value: number);
	/**
	 * 获取或设置厚度
	 */
	get thickness(): number;
	set thickness(value: number);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	private _buildBody;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
}
/**
 * 机架设备
 */
export declare class RackMounted extends Entity {
	/**
	 * 1U（1.75英寸，44.45mm）
	 */
	static readonly U: number;
	/**
	 * 默认宽度（19英寸，482.6mm）
	 */
	static readonly defaultWidth: number;
	/**
	 * 默认深度（600mm）
	 */
	static readonly defaulDepth: number;
	private _box;
	private _front;
	private _back;
	private _width;
	private _height;
	private _depth;
	private _frontImg;
	private _backImg;
	private _backgroundColor;
	/**
	 * 资产数据
	 */
	data: AssetData;
	/**
	 * 所在机柜
	 */
	cabinet: Cabinet;
	/**
	 * 实例化一个机架设备
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置宽度
	 */
	get width(): number;
	set width(value: number);
	/**
	 * 获取或设置高度
	 */
	get height(): number;
	set height(value: number);
	/**
	 * 获取或设置U高
	 */
	get uHeight(): number;
	set uHeight(value: number);
	/**
	 * 获取或设置深度
	 */
	get depth(): number;
	set depth(value: number);
	/**
	 * 获取或设置U位
	 */
	get uPosition(): number;
	set uPosition(value: number);
	/**
	 * 获取或设置前面图片
	 */
	get frontImg(): ResImageSource;
	set frontImg(value: ResImageSource);
	/**
	 * 获取或设置后面图片
	 */
	get backImg(): ResImageSource;
	set backImg(value: ResImageSource);
	/**
	 * 获取或设置背景颜色
	 */
	get backgroundColor(): string;
	set backgroundColor(value: string);
	/**
	 * 居中显示
	 */
	frontOn(): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 矩形进度条
 */
export declare class RectangleProgress extends GradientRectangle {
	private _valueRect;
	private _valueText;
	private _value;
	/**
	 * 实例化一个矩形进度条对象
	 * @param name 名称
	 */
	constructor(name?: string);
	/**
	 * 获取或设置值，范围[0,1]
	 */
	get value(): number;
	set value(value: number);
	protected _getTypeName(): string;
}
/**
 * 资源池
 */
export declare class ResPool extends Base {
	/**
	 * 资源列表
	 */
	readonly resList: ResOptions[];
	_cacheVertices: number;
	/**
	 * 缓存
	 */
	_cache: Map<string, ResCacheData>;
	/**
	 * 加载中的资源列表
	 */
	private _locked;
	/**
	 * 实例化一个资源池对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 判断指定编号的的资源是否已缓存
	 * @param id 编号
	 */
	isCached(id: string): boolean;
	/**
	 * 获取资源信息
	 * @param index 索引或资源编号
	 */
	getResInfo(index: number | string): ResOptions;
	/**
	 * 获取资源编号
	 * @param index 索引
	 */
	getResId(index: number): string | undefined;
	/**
	 * 获取资源索引
	 * @param id 编号
	 */
	getResIndex(id: string): number | undefined;
	/**
	 * 加载指定资源
	 * @param id 编号
	 */
	_loadRes(info: ResOptions): Promise<void>;
	/**
	 * 获取指定资源
	 * @param id 编号
	 * @param optimizedOrInvertY 是否优化网格或贴图Y方向翻转
	 * @param archiveGrid 是否包含档案格
	 * @param unionNodeName 联合体节点名称
	 */
	getRes(id: string, optimizedOrInvertY?: boolean, archiveGrid?: boolean, unionNodeName?: string): Promise<Texture | InstantiatedEntries | NodeMaterial | any>;
	private _cloneEntires;
	private _loadModel;
	_getTexture(info: ResOptions, invertY: boolean): Texture;
	private _loadMaterial;
	private _loadParticle;
	private _getResType;
	/**
	 * 获取粒子默认数据（仅用于编辑器）
	 * @param id 编号
	 */
	getDefaultParticleData(id: string): Promise<ParticleData>;
}
/** 模型资源工具 */
export declare class ResTool {
	/**
	 * 保存回调函数
	 */
	onSave: (data: RackMountedData | BoardCardData | ArchiveBoxData) => void;
	/**
	 * 实例化一个模型资源工具对象
	 * @param options 选项参数
	 */
	constructor(options: ResToolOptions);
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 漫游
 */
export declare class Roaming extends Component {
	private static _app;
	private _edit;
	/**
	 * 路径
	 */
	_path: Path;
	/**
	 * 角色
	 */
	_character: Thing;
	/**
	 * 路径动画
	 */
	_pathAnimation: PathAnimation;
	private _appEvents;
	/**
	 * 获取或设置垂直偏移
	 */
	get offsetY(): number;
	set offsetY(value: number);
	/**
	 * 相机水平方向角度默认值
	 */
	static defaultAlpha: number;
	/**
	 * 相机垂直方向角度默认值
	 */
	static defaultBeta: number;
	/**
	 * 相机到角色距离默认值
	 */
	static defaultRadius: number;
	/**
	 * 实例化一个漫游对象
	 * @param entity 实体对象
	 */
	constructor(entity: Entity);
	/**
	 * 获取或设置路径点集合
	 */
	get points(): Point3D[];
	set points(value: Point3D[]);
	/**
	 * 获取或设置暂停
	 */
	get pause(): boolean;
	set pause(value: boolean);
	/**
	 * 获取或设置速度
	 */
	get speed(): number;
	set speed(value: number);
	/**
	 * 获取或设置路径可见性
	 */
	get pathVisible(): boolean;
	set pathVisible(value: boolean);
	/**
	 * 是否正在执行漫游
	 */
	get executing(): boolean;
	/**
	 * 监听事件
	 * @param type 事件类型
	 * @param callback 回调函数
	 */
	on(type: "EVENT_PAUSE" | "EVENT_CONTINUE" | "EVENT_ARRIVE" | "EVENT_ENDPATHEDIT" | "EVENT_POINTCLICK", callback: (ev: EventArg) => void): string;
	/**
	 * 移除指定编号的事件
	 * @param id 事件唯一编号
	 */
	off(id: string): void;
	/**
	 * 开始路径编辑
	 */
	startPathEdit(): void;
	/**
	 * 结束路径编辑
	 */
	private _endPathEdit;
	/**
	 * 创建路径
	 */
	buildPath(): void;
	/**
	 * 开始漫游
	 * @param person 人称，true表示第一人称，false表示第三人称
	 */
	startToRoam(person: boolean): Promise<void>;
	/**
	 * 结束漫游
	 */
	endToRoam(): void;
	private _setAppEvents;
	private _onLeftClick;
	private _onAfterFrame;
	/**
	 * 结束路径编辑
	 */
	endPathEdit(): Promise<void>;
	/**
	 * 清空路径
	 */
	clearPath(): void;
}
/**
 * 房间
 */
export declare class Room extends Entity {
	/**
	 * 默认高度
	 */
	static defaultHeight: number;
	/**
	 * 默认瓷砖大小
	 */
	static defaultBlockSize: number[];
	/**
	 * 地板贴图编号
	 */
	floorTextureId: string;
	private _floorHeight;
	private _roofHeight;
	private _ceilingHeight;
	/**
	 * 地板网格数据
	 */
	floorMeshData: MeshFaceData;
	/**
	 * 天花板贴图编号
	 */
	ceilingTextureId: string;
	/**
	 * 天花板网格数据
	 */
	ceilingMeshData: MeshFaceData;
	/**
	 * 屋顶贴图编号
	 */
	roofTextureId: string;
	/**
	 * 屋顶网格数据
	 */
	roofMeshData: MeshFaceData;
	/**
	 * 获取墙角列表
	 */
	corners: Corner[];
	/**
	 * 获取洞列表
	 */
	holes: Corner[][];
	private _floorBlockSize;
	private _ceilingBlockSize;
	private _roofBlockSize;
	private _showFloor;
	private _showCeiling;
	private _showRoof;
	private _floorOpacity;
	/**
	 * 原始顶点
	 */
	private _positions;
	/**
	 * 原始UV
	 */
	private _uvs;
	/**
	 * 实例化一个房间对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取或设置显示地板
	 */
	get showFloor(): boolean;
	set showFloor(value: boolean);
	/**
	 * 获取或设置显示天花板
	 */
	get showCeiling(): boolean;
	set showCeiling(value: boolean);
	/**
	 * 获取或设置显示顶部
	 */
	get showRoof(): boolean;
	set showRoof(value: boolean);
	/**
	 * 获取或设置地板块大小
	 */
	get floorBlockSize(): number[];
	set floorBlockSize(value: number[]);
	/**
	 * 获取或设置贴图长度
	 */
	get textureWidth(): number;
	set textureWidth(value: number);
	/**
	 * 获取或设置贴图宽度
	 */
	get textureHeight(): number;
	set textureHeight(value: number);
	/**
	 * 获取或设置离地高度
	 */
	get floorHeight(): number;
	set floorHeight(value: number);
	/**
	 * 获取或设置地板透明度
	 */
	get floorOpacity(): number;
	set floorOpacity(value: number);
	/**
	 * 获取或设置天花板块大小
	 */
	get ceilingBlockSize(): number[];
	set ceilingBlockSize(value: number[]);
	/**
	 * 获取或设置屋顶块大小
	 */
	get roofBlockSize(): number[];
	set roofBlockSize(value: number[]);
	/**
	 * 判断点是否在房间内
	 * @param point 二维点
	 */
	isPointIn(point: Point2D): boolean;
	/**
	 * 获取房间内部的摆件
	 */
	get innerPlacements(): Placement[];
	/**
	 * 获取面积
	 */
	getArea(): number;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
}
/**
 * 运行时
 */
export declare class RunTime implements IDisposable {
	/**
	 * 获取项目文件的资源列表（不实例化App）
	 * @param projectFile 项目文件地址
	 */
	static getProjectResList(projectFile: string): Promise<ResItem[]>;
	/**
	 * 获取项目文件的序列号
	 * @param projectFile 项目文件地址
	 */
	static getProjectSerialNum(projectFile: string): Promise<string>;
	/**
	 * 获取项目文件的园区列表
	 * @param projectFile 项目文件地址
	 */
	static getCampuses(projectFile: string): Promise<EntityItem[]>;
	/**
	 * 获取项目文件的主要层级列表
	 * @param projectFile 项目文件地址
	 */
	static getMainLevel(projectFile: string): Promise<EntityItem[]>;
	/**
	 * 获取功能模块
	 * @param projectFile 项目文件地址
	 * @param licenseFile 授权文件地址
	 */
	static getFunctionModule(projectFile: string, licenseFile: string): Promise<FunctionModule[]>;
	/**
	 * 获取完整授权信息
	 * @param projectFile 项目文件地址
	 * @param licenseFile 授权文件地址
	 */
	static getFullLicenseInfo(projectFile: string, licenseFile: string): Promise<{
		serialNum: string;
		info: string;
		modules: FunctionModule[];
	}>;
	/**
	 * 获取温度云图列表
	 * @param projectFile 项目文件地址
	 */
	static getHeatmapList(projectFile: string): Promise<EntityItem[]>;
	/**
	 * 应用
	 */
	app: any;
	private _loaded;
	/**
	 * 实例化一个运行时对象
	 * @param app 应用
	 */
	constructor(app: any);
	/**
	 * 截图
	 * @param width 宽度
	 * @param height 高度
	 * @returns base64字符串
	 */
	screenShot(width: number, height: number): Promise<string>;
	/**
	 * 创建默认截图并保存
	 */
	createDefaultScreenShotAndSave(): void;
	/**
	 * 获取授权信息
	 */
	getLicenseInfo(): string;
	/**
	 * 获取序列号
	 */
	getSerialNum(): string;
	/**
	 * 动环监控模块
	 */
	hasPowerEnvir(): boolean;
	/**
	 * 资产容量模块
	 */
	hasAssetVolume(): boolean;
	/**
	 * 配线拓扑模块
	 */
	hasLink(): boolean;
	/**
	 * 档案库房模块
	 */
	hasArchive(): boolean;
	/**
	 * IT网管模块
	 */
	hasIt(): boolean;
	/**
	 * 持久化成项目文件
	 */
	toProjectFile(): Promise<Uint8Array>;
	/**
	 * 加载项目
	 */
	loadProject(): Promise<void>;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * SelectionOutlineLayer 类
 *
 * 选择轮廓渲染层，继承自 Babylon.js 的 EffectLayer。
 * 为选中的网格渲染高亮轮廓效果。
 *
 * @example
 * ```typescript
 * // 创建轮廓层
 * const outlineLayer = new SelectionOutlineLayer('selection', scene);
 *
 * // 设置轮廓颜色和厚度
 * outlineLayer.outlineColor = new Color3(1, 0, 0);  // 红色
 * outlineLayer.outlineThickness = 3.0;
 *
 * // 添加网格到选择
 * outlineLayer.addSelection(mesh);
 *
 * // 移除网格
 * outlineLayer.removeSelection(mesh);
 * ```
 */
export declare class SelectionOutlineLayer extends EffectLayer {
	/**
	 * 效果名称常量
	 * 用于在 Babylon.js 效果系统中标识此效果
	 */
	static readonly EffectName = "SelectionOutlineLayer";
	/**
	 * 实例选择ID属性名称常量
	 * 用于实例化网格的选择ID属性
	 */
	static readonly InstanceSelectionIdAttributeName = "instanceSelectionId";
	/**
	 * 配置选项
	 */
	private _options;
	/**
	 * 选中网格信息数组
	 */
	private _selection;
	/**
	 * 网格唯一ID到选择ID的映射
	 * 用于非实例化网格快速查找选择ID
	 */
	private _meshUniqueIdToSelectionId;
	/**
	 * 下一个可用的选择ID
	 * 选择ID从1开始，0表示无选择
	 */
	private _nextSelectionId;
	/**
	 * 合并效果
	 * 用于将选择遮罩渲染为最终轮廓
	 */
	private _mergeEffect;
	/**
	 * 纹理宽度
	 */
	private _textureWidth;
	/**
	 * 纹理高度
	 */
	private _textureHeight;
	/**
	 * 轮廓颜色
	 * 默认为橙色 (1, 0.5, 0)
	 */
	outlineColor: Color3;
	/**
	 * 轮廓厚度
	 * 以像素为单位，默认为 2.0
	 */
	outlineThickness: number;
	/**
	 * 遮挡强度
	 * 控制被遮挡区域轮廓的透明度，范围 [0, 1]
	 * 默认为 0.8，表示遮挡时轮廓透明度降低80%
	 */
	occlusionStrength: number;
	/**
	 * 遮挡检测阈值
	 * 用于判断深度差异是否构成遮挡
	 * 默认为 0.0001
	 */
	occlusionThreshold: number;
	/**
	 * 构造函数
	 *
	 * @param name 层名称
	 * @param scene 目标场景（可选，默认使用当前场景）
	 * @param options 配置选项（可选）
	 */
	constructor(name: string, scene?: Scene, options?: Partial<ISelectionOutlineLayerOptions>);
	/**
	 * 获取效果名称
	 *
	 * @returns 效果名称字符串
	 */
	getEffectName(): string;
	/**
	 * 获取内部绘制次数
	 *
	 * 选择轮廓只需要一次内部绘制（渲染选择遮罩）
	 *
	 * @returns 绘制次数（1）
	 */
	protected _numInternalDraws(): number;
	/**
	 * 创建合并效果
	 *
	 * 创建用于将选择遮罩渲染为最终轮廓的效果。
	 * 使用全屏四边形渲染边缘检测结果。
	 *
	 * @returns 创建的 Effect 对象
	 */
	protected _createMergeEffect(): Effect;
	/**
	 * 创建纹理和后处理
	 *
	 * 初始化效果层所需的纹理和后处理效果。
	 * 选择轮廓层不需要额外的后处理，只需设置主纹理采样数。
	 */
	protected _createTextureAndPostProcesses(): void;
	/**
	 * 创建主纹理（重写）
	 *
	 * 在父类创建主纹理后，设置渲染列表为当前选中的网格。
	 */
	protected _createMainTexture(): void;
	/**
	 * 是否需要模板缓冲区
	 *
	 * 选择轮廓效果不需要模板缓冲区。
	 *
	 * @returns false
	 */
	needStencil(): boolean;
	/**
	 * 检查子网格是否准备好渲染
	 *
	 * 公共接口，调用内部的 _isReady 方法。
	 *
	 * @param subMesh 子网格
	 * @param useInstances 是否使用实例化
	 * @returns 是否准备好
	 */
	isReady(subMesh: SubMesh, useInstances: boolean): boolean;
	/**
	 * 检查子网格是否准备好渲染（内部方法）
	 *
	 * 检查并创建选择遮罩渲染所需的着色器效果。
	 * 根据网格特性（骨骼动画、实例化、透明度测试等）生成着色器定义。
	 *
	 * @param subMesh 子网格
	 * @param useInstances 是否使用实例化
	 * @param _emissiveTexture 自发光纹理（未使用）
	 * @returns 是否准备好渲染
	 */
	protected _isReady(subMesh: SubMesh, useInstances: boolean, _emissiveTexture: Nullable<BaseTexture>): boolean;
	/**
	 * 内部渲染方法
	 *
	 * 执行选择轮廓的最终渲染。
	 * 将选择遮罩纹理通过边缘检测着色器渲染为轮廓。
	 *
	 * @param effect 合并效果
	 * @param _renderIndex 渲染索引（未使用）
	 */
	protected _internalRender(effect: Effect, _renderIndex: number): void;
	/**
	 * 是否应该渲染
	 *
	 * 只有当存在选中的网格时才渲染轮廓。
	 *
	 * @returns 是否应该渲染
	 */
	shouldRender(): boolean;
	/**
	 * 是否应该渲染指定网格
	 *
	 * @param mesh 网格
	 * @returns 是否应该渲染
	 */
	protected _shouldRenderMesh(mesh: Mesh): boolean;
	/**
	 * 是否可以渲染指定网格
	 *
	 * 选择轮廓层可以渲染所有类型的网格。
	 *
	 * @param _mesh 网格（未使用）
	 * @param _material 材质（未使用）
	 * @returns true
	 */
	protected _canRenderMesh(_mesh: AbstractMesh, _material: Material): boolean;
	/**
	 * 添加自定义效果定义
	 *
	 * 子类可以重写此方法添加额外的着色器定义。
	 *
	 * @param defines 定义数组
	 */
	protected _addCustomEffectDefines(defines: string[]): void;
	/**
	 * 设置自发光纹理和颜色
	 *
	 * 选择轮廓层不使用自发光纹理，设置为默认值。
	 *
	 * @param _mesh 网格（未使用）
	 * @param _subMesh 子网格（未使用）
	 * @param _material 材质（未使用）
	 */
	protected _setEmissiveTextureAndColor(_mesh: Mesh, _subMesh: SubMesh, _material: Material): void;
	/**
	 * 渲染子网格（重写）
	 *
	 * 完整重写子网格渲染逻辑，确保正确设置选择ID和其他着色器参数。
	 *
	 * @param subMesh 子网格
	 * @param enableAlphaMode 是否启用Alpha模式
	 */
	protected _renderSubMesh(subMesh: SubMesh, enableAlphaMode?: boolean): void;
	/**
	 * 检查网格是否在选择列表中
	 *
	 * 精确匹配，用于检查是否已添加到选择列表。
	 *
	 * @param mesh 要检查的网格
	 * @returns 是否在选择列表中
	 */
	hasMesh(mesh: AbstractMesh): boolean;
	/**
	 * 检查网格是否应该被渲染（包括源网格关联检查）
	 *
	 * 对于实例化网格，会同时检查源网格和实例网格。
	 *
	 * @param mesh 要检查的网格
	 * @returns 是否应该渲染
	 */
	private _shouldRenderMeshOrRelated;
	/**
	 * 移除网格的销毁观察者
	 *
	 * @param info 选择网格信息
	 */
	private _removeObserver;
	/**
	 * 清空所有选择
	 *
	 * 移除所有选中的网格，清理相关资源。
	 */
	clearSelection(): void;
	/**
	 * 添加网格到选择
	 *
	 * 将一个或多个网格添加到选择列表，为其渲染轮廓效果。
	 * 同一组网格共享相同的选择ID，渲染相同颜色的轮廓。
	 *
	 * @param meshOrGroup 单个网格或网格数组
	 */
	addSelection(meshOrGroup: AbstractMesh | AbstractMesh[]): void;
	/**
	 * 从选择中移除网格
	 *
	 * 从选择列表中移除一个或多个网格，停止为其渲染轮廓。
	 *
	 * @param meshOrGroup 单个网格或网格数组
	 */
	removeSelection(meshOrGroup: AbstractMesh | AbstractMesh[]): void;
	/**
	 * 处理网格销毁
	 *
	 * 当网格被销毁时，自动从选择中移除。
	 *
	 * @param mesh 被销毁的网格
	 */
	_disposeMesh(mesh: Mesh): void;
	/**
	 * 释放资源
	 *
	 * 清理所有资源并释放效果层。
	 */
	dispose(): void;
	/**
	 * 获取类名
	 *
	 * @returns 类名字符串
	 */
	getClassName(): string;
	/**
	 * 序列化
	 *
	 * 将效果层配置序列化为JSON对象。
	 *
	 * @returns 序列化后的配置对象
	 */
	serialize(): any;
}
/**
 * 天空盒子
 */
export declare class SkyBox extends Base {
	private _mesh;
	private _size;
	_material: BackgroundMaterial;
	private _textureId;
	/**
	 * 实例化一个天空盒子对象
	 * @param app 应用
	 */
	constructor(app: App);
	dispose(): void;
	/**
	 * 设置天空盒效果
	 */
	setSkyboxEffect(): Promise<void>;
}
/**
 * 样式组件
 */
export declare class Style extends Component {
	private _buffer;
	/**
	 * 实例化一个样式组件对象
	 * @param entity 实体
	 */
	constructor(entity: Entity);
	private _color;
	/**
	 * 获取或设置颜色（十六进制）
	 */
	get color(): string;
	set color(value: string);
	/**
	 * 获取或设置透明度（取值范围[0,1]，需原始模型材质开启透明渲染才能生效）
	 */
	get alpha(): number;
	set alpha(value: number);
	/**
	 * 获取是否可以更新
	 */
	private get _canUpdate();
	private _flashTween;
	/**
	 * 开启闪烁
	 * @param target 目标颜色
	 * @param time 时间间隔
	 */
	flashOn(target: string, time?: number): void;
	/**
	 * 停止闪烁
	 */
	flashOff(): void;
	/**
	 * 获取是否开启了闪烁
	 */
	get isFlashing(): boolean;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 更新所有样式值
	 */
	_updateAll(): void;
}
/**
 * 3D文本
 */
export declare class Text3D extends Entity {
	private _text;
	private _color;
	private _isVertical;
	private _mesh;
	private _material;
	private _hasBackground;
	private _backgroundColor;
	/**
	 * 实例化一个3D文本对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): typeof Text3D;
	/**
	 * 获取文本
	 */
	get text(): string;
	set text(value: string);
	/**
	 * 获取或设置颜色
	 */
	get color(): string;
	set color(value: string);
	/**
	 * 获取或设置是否垂直
	 */
	get isVertical(): boolean;
	set isVertical(value: boolean);
	/**
	 * 获取或设置是否开启背景
	 */
	get hasBackground(): boolean;
	set hasBackground(value: boolean);
	/**
	 * 获取或设置背景颜色
	 */
	get backgroundColor(): string;
	set backgroundColor(value: string);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * 物体
 */
export declare class Thing extends Entity {
	/**
	 * 模型编号
	 */
	modelId: string;
	/**
	 * 贴图编号
	 */
	textureId: string | null;
	/**
	 * 背面剔除
	 */
	backFaceCulling: boolean | null;
	/**
	 * 透明模式
	 */
	transparencyMode: number | null;
	/**
	 * 节点材质ID
	 */
	materialId: string;
	/**
	 * 科技风
	 */
	technologyWind: boolean;
	/**
	 * 是否是电梯
	 */
	isElevator: boolean;
	/**
	 * 雾效开关
	 */
	fogEnabled: boolean | null;
	/**
	 * 辉光强度
	 */
	emissiveIntensity: number | null;
	/**
	 * 扩展动画
	 */
	animationExtension: any | null;
	/**
	 * 路径ID
	 */
	pathId: string | null;
	/**
	 * 链接ID
	 */
	linkId: string | null;
	/**
	 * 父物体计算包围盒时是否排除此物体
	 */
	excludeBoundingBox: boolean;
	/**
	 * 图层。默认物体无图层，切换场景时会被创建。当设置了图层时，场景切换时不会被创建。需要手动调用createLayer()和destroyLayer()方法。
	 */
	layers: Set<string>;
	/**
	 * 获取或设置自动动画循环索引
	 * @deprecated 已废弃，请使用新属性defaultAnimation
	 */
	get autoAnimationLoopIndex(): number;
	set autoAnimationLoopIndex(value: number);
	private _defaultAnimation;
	/**
	 * 获取或设置默认动画
	 */
	get defaultAnimation(): {
		index: number;
		loop: boolean;
	} | null;
	set defaultAnimation(value: {
		index: number;
		loop: boolean;
	} | null);
	protected _entites: InstantiatedEntries;
	/**
	 * 是否包含实例网格
	 */
	protected get _instanced(): boolean;
	/**
	 * 根
	 */
	protected _root: AbstractMesh;
	/**
	 * 颜色（与Entity冲突，待解决）
	 */
	protected __color: any;
	/**
	 * 是否加载密集架列的格子（层位）
	 */
	private _loadArchiveGrid;
	/**
	 * 实例化一个物体对象
	 * @param {App} app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取模型原始尺寸
	 */
	get modelSize(): Point3D;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	private _scrollTween;
	private _startScrollAnimation;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 设置共享透明度，影响所有同类物体
	 * @param alpha 透明度，取值范围0-1
	 */
	setSharedAlpha(alpha: number): void;
}
/**
 * 联合体
 */
export declare class Union extends Entity {
	/**
	 * 模型编号
	 */
	modelId: string;
	/** 模型节点名称 */
	nodeName: string;
	/**
	 * 父物体计算包围盒时是否排除此物体
	 */
	excludeBoundingBox: boolean;
	/**
	 * 图层。默认无图层，切换场景时会被创建。当设置了图层时，场景切换时不会被创建。需要手动调用createLayer()和destroyLayer()方法。
	 */
	layers: Set<string>;
	protected _entites: InstantiatedEntries;
	/**
	 * 根
	 */
	protected _root: AbstractMesh;
	/**
	 * 实例化一个联合体对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取模型原始尺寸
	 */
	get modelSize(): Point3D;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param {boolean} force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 拆毁（删掉网格，仅保留层级树）
	 */
	unbuild(): void;
	/**
	 * 释放
	 */
	dispose(): void;
	/**
	 * 设置共享透明度，影响所有相关连的联合体
	 * @param alpha 透明度，取值范围0-1
	 */
	setSharedAlpha(alpha: number): void;
}
/**
 * 视频融合
 */
export declare class VideoFusion extends Entity {
	private _width;
	private _height;
	private _mesh;
	private _material;
	private _coverTexture;
	private _opacityTexture;
	private _videoTexture;
	private _smoothing;
	private _visible;
	/**
	 * 是否默认隐藏
	 */
	defaultHidden: boolean;
	/**
	 * 封面贴图ID
	 */
	textureId: string;
	/**
	 * 透明度贴图ID
	 */
	opacityTextureId: string;
	/**
	 * 父物体计算包围盒时是否排除此物体
	 */
	excludeBoundingBox: boolean;
	/**
	 * 实例化一个视频融合对象
	 * @param app 应用实例
	 */
	constructor(app: App);
	get visible(): boolean;
	set visible(value: boolean);
	/**
	 * 获取是否允许被冻结材质
	 */
	get canFreezeMaterial(): boolean;
	/**
	 * 获取或设置是否平滑
	 */
	get smoothing(): boolean;
	set smoothing(value: boolean);
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	fromJson(json: any): void;
	build(force?: boolean): Promise<void>;
	unbuild(): void;
	dispose(): void;
	/**
	 * 设置视频源（需要自行控制播放）
	 * @param video 视频源
	 */
	setVideoSource(video: HTMLVideoElement | null): void;
}
/**
 * 墙基类
 */
export declare class Wall extends Entity {
	/**
	 * 默认高度
	 */
	static defaultHeight: number;
	/**
	 * 默认厚度
	 */
	static defaultThickness: number;
	protected _startCorner: Corner;
	protected _endCorner: Corner;
	protected _height: number;
	protected _thickness: number;
	/**
	 * 实例化一个墙对象
	 * @param app 应用
	 */
	constructor(app: App);
	/**
	 * 获取或设置高度
	 */
	get height(): number;
	set height(value: number);
	/**
	 * 获取或设置厚度
	 */
	get thickness(): number;
	set thickness(value: number);
	/**
	 * 获取或设置开始墙角
	 */
	get startCorner(): Corner;
	set startCorner(value: Corner);
	/**
	 * 获取或设置结束墙角
	 */
	get endCorner(): Corner;
	set endCorner(value: Corner);
	/**
	 * 获取实例类型
	 */
	get instanceClass(): any;
	/**
	 * 获取门窗
	 */
	get doorWindows(): DoorWindow[];
	/**
	 * 获取墙的长度
	 */
	get length(): number;
	/**
	 * 获取旋转的角度（Z轴正向到当前墙的逆时针角度），取值范围[0,360)
	 */
	get angle(): number;
	/**
	 * 计算包围盒
	 */
	computeBoundingInfo(): void;
	/**
	 * 序列化成JSON对象
	 */
	toJson(): any;
	/**
	 * 从JSON对象反序列化（仅生成层级树）
	 * @param json JSON对象
	 */
	fromJson(json: any): void;
	/**
	 * 创建（仅当前层级可见对象）
	 * @param force 是否强制
	 */
	build(force?: boolean): Promise<void>;
	/**
	 * 设置子节点列表
	 */
	setSubNodes(): void;
	/**
	 * 获取另一个墙角
	 * @param corner
	 */
	getOtherCorner(corner: Corner): Corner | null;
	/**
	 * 世界坐标转开始墙点参考系坐标
	 * @param world 世界坐标
	 */
	worldToStartCorner(world: Point3D): Point3D;
}
/**
 * 默认精度
 */
export declare const EPSILON: number;
/**
 * 轮廓采样模式常量 - 八向采样
 * 使用八个方向的采样点进行边缘检测（更精确但性能开销更大）
 */
export declare const OUTLINELAYER_SAMPLING_OCTADIRECTIONAL = 1;
/**
 * 轮廓采样模式常量 - 三向采样
 * 使用三个方向的采样点进行边缘检测（上方、右侧、右上角）
 */
export declare const OUTLINELAYER_SAMPLING_TRIDIRECTIONAL = 0;
/**
 * 默认效果数值
 */
export declare const defaultEffectValue: EffectData;
export declare const version: string;
/**
 * 相机模式
 */
export declare enum CameraMode {
	/**
	 * 透视投影
	 */
	Perspective = 0,
	/**
	 * 正交投影
	 */
	Orthographic = 1
}
/**
 * 相机人称
 */
export declare enum CameraPerson {
	/**
	 * 第一人称
	 */
	FirstPerson = 1,
	/**
	 * 第三人称
	 */
	ThirdPerson = 2
}
/**
 * 门窗开门朝向（缩放x、z的符号）
 */
export declare enum DoorWindowDirection {
	/**
	 * 正正
	 */
	PositivePositive = 0,
	/**
	 * 负正
	 */
	NegativePositive = 1,
	/**
	 * 负负
	 */
	NegativeNegative = 2,
	/**
	 * 正负
	 */
	PositiveNegative = 3
}
/**
 * 缓动函数枚举
 */
export declare enum EasingFunction {
	"Linear.None" = "Linear.None",
	"Quadratic.In" = "Quadratic.In",
	"Quadratic.Out" = "Quadratic.Out",
	"Quadratic.InOut" = "Quadratic.InOut",
	"Cubic.In" = "Cubic.In",
	"Cubic.Out" = "Cubic.Out",
	"Cubic.InOut" = "Cubic.InOut",
	"Quartic.In" = "Quartic.In",
	"Quartic.Out" = "Quartic.Out",
	"Quartic.InOut" = "Quartic.InOut",
	"Quintic.In" = "Quintic.In",
	"Quintic.Out" = "Quintic.Out",
	"Quintic.InOut" = "Quintic.InOut",
	"Sinusoidal.In" = "Sinusoidal.In",
	"Sinusoidal.Out" = "Sinusoidal.Out",
	"Sinusoidal.InOut" = "Sinusoidal.InOut",
	"Exponential.In" = "Exponential.In",
	"Exponential.Out" = "Exponential.Out",
	"Exponential.InOut" = "Exponential.InOut",
	"Circular.In" = "Circular.In",
	"Circular.Out" = "Circular.Out",
	"Circular.InOut" = "Circular.InOut",
	"Elastic.In" = "Elastic.In",
	"Elastic.Out" = "Elastic.Out",
	"Elastic.InOut" = "Elastic.InOut",
	"Back.In" = "Back.In",
	"Back.Out" = "Back.Out",
	"Back.InOut" = "Back.InOut",
	"Bounce.In" = "Bounce.In",
	"Bounce.Out" = "Bounce.Out",
	"Bounce.InOut" = "Bounce.InOut"
}
/**
 * 实体类型枚举
 */
export declare enum EntityType {
	/**
	 * 园区
	 */
	Campus = 1,
	/**
	 * 3D文本
	 */
	Text3D = 2,
	/**
	 * 建筑
	 */
	Building = 4,
	/**
	 * 楼层
	 */
	Floor = 8,
	/**
	 * 房间
	 */
	Room = 16,
	/**
	 * 墙点
	 */
	Corner = 32,
	/**
	 * 无框墙
	 */
	Wall = 64,
	/**
	 * 人工墙
	 */
	ManualWall = 128,
	/**
	 * 预置墙
	 */
	PrefabWall = 256,
	/**
	 * 物体
	 */
	Thing = 512,
	/**
	 * 门窗
	 */
	DoorWindow = 1024,
	/**
	 * 网口
	 */
	NetworkPort = 2048,
	/**
	 * 组
	 */
	Group = 4096,
	/**
	 * 漏水线
	 */
	LeakLine = 8192,
	/**
	 * 热力图
	 */
	Heatmap = 16384,
	/**
	 * POI标记
	 */
	POI = 32768,
	/**
	 * 管道
	 */
	Pipe = 65536,
	/**
	 * 视频融合
	 */
	VideoFusion = 131072,
	/**
	 * POI加强版
	 */
	POIPlus = 262144,
	/**
	 * 联合体
	 */
	Union = 524288,
	/**
	 * 电子围栏
	 */
	Fence = 1048576,
	/**
	 * 图片广告牌
	 */
	IconBillboard = 2097152
}
/**
 * 环境贴图资源枚举
 */
export declare enum EnvironmentTextureSource {
	/**
	 * 摄影棚
	 */
	Stage = "stage",
	/**
	 * specular（官方反射源，效果好）
	 */
	Specular = "specular",
	/**
	 * 工作室（官方反射源）
	 */
	Studio = "studio",
	/**
	 * 冷色池外
	 */
	Pool = "pool",
	/**
	 * 默认
	 */
	Default = "specular"
}
/**
 * 事件类型枚举
 */
export declare enum EventType {
	/**
	 * 层级加载前事件（App）
	 */
	BeforeLevelLoad = "BEFORE_LEVEL_LOAD",
	/**
	 * 层级创建事件，仅触发一次（App）
	 */
	LevelCreate = "LEVEL_CREATE",
	/**
	 * 层级加载进度事件（App）
	 */
	LevelLoadProgress = "LEVEL_LOAD_PROGRESS",
	/**
	 * 层级加载后事件（App）
	 */
	AfterLevelLoad = "AFTER_LEVEL_LOAD",
	/**
	 * 画布大小调整事件（App）
	 */
	Resize = "RESIZE",
	/**
	 * 指针进入事件（App、Entity）
	 */
	PointerEnter = "POINTER_ENTER",
	/**
	 * 指针离开事件（App、Entity）
	 */
	PointerLeave = "POINTER_LEAVE",
	/**
	 * 指针按下事件（App、Entity）
	 */
	PointerDown = "POINTER_DOWN",
	/**
	 * 左键按下事件（App、Entity）
	 */
	LeftDown = "LEFT_DOWN",
	/**
	 * 中键按下事件（App、Entity）
	 */
	CenterDown = "CENTER_DOWN",
	/**
	 * 右键按下事件（App、Entity）
	 */
	RightDown = "RIGHT_DOWN",
	/**
	 * 长按事件（App、Entity）
	 */
	LongDown = "LONG_DOWN",
	/**
	 * 左键长按事件（App、Entity）
	 */
	LeftLongDown = "LEFT_LONG_DOWN",
	/**
	 * 中键长按事件（App、Entity）
	 */
	CenterLongDown = "CENTER_LONG_DOWN",
	/**
	 * 右键长按事件（App、Entity）
	 */
	RightLongDown = "RIGHT_LONG_DOWN",
	/**
	 * 指针抬起事件（App、Entity）
	 */
	PointerUp = "POINTER_UP",
	/**
	 * 左键抬起事件（App、Entity）
	 */
	LeftUp = "LEFT_UP",
	/**
	 * 中键抬起事件（App、Entity）
	 */
	CenterUp = "CENTER_UP",
	/**
	 * 右键抬起事件（App、Entity）
	 */
	RightUp = "RIGHT_UP",
	/**
	 * 点击事件（App、Entity）
	 */
	Click = "CLICK",
	/**
	 * 双击事件（App、Entity）
	 */
	DoubleClick = "DOUBLE_CLICK",
	/**
	 * 左键点击事件（App、Entity）
	 */
	LeftClick = "LEFT_CLICK",
	/**
	 * 左键双击事件（App、Entity）
	 */
	LeftDoubleClick = "LEFT_DOUBLE_CLICK",
	/**
	 * 右键点击事件（App、Entity）
	 */
	RightClick = "RIGHT_CLICK",
	/**
	 * 右键双击事件（App、Entity）
	 */
	RightDoubleClick = "RIGHT_DOUBLE_CLICK",
	/**
	 * 中键点击事件（App、Entity）
	 */
	CenterClick = "CENTER_CLICK",
	/**
	 * 中键双击事件（App、Entity）
	 */
	CenterDoubleClick = "CENTER_DOUBLE_CLICK",
	/**
	 * 鼠标移动（App）
	 */
	Move = "MOVE",
	/**
	 * 鼠标滚轮事件（App）
	 */
	Wheel = "WHEEL",
	/**
	 * 帧事件（App）
	 */
	Frame = "FRAME",
	/**
	 * 帧更新后事件（App）
	 */
	AfterFrame = "AFTERFRAME",
	/**
	 * 键盘按下事件（App）
	 */
	KeyDown = "KEY_DOWN",
	/**
	 * 键盘抬起事件（App）
	 */
	KeyUp = "KEY_UP",
	/**
	 * 添加实体（App）
	 */
	AddEntity = "ADD_ENTITY",
	/**
	 * 移除实体（App）
	 */
	RemoveEntity = "REMOVE_ENTITY",
	/**
	 * 属性变化事件（App）
	 */
	PropertyChanged = "PROPERTY_CHANGED",
	/**
	 * 相机投影模式变化事件（App）
	 */
	CameraModeChanged = "CAMERA_MODE_CHANGED",
	/**
	 * 实体创建后事件（Entity）
	 */
	AfterBuild = "AFTER_BUILD",
	/**
	 * 实体拆毁后事件（Entity）
	 */
	AfterUnbuild = "AFTER_UNBUILD",
	/**
	 * 实体释放前（Entity）
	 */
	BeforeDispose = "BEFORE_DISPOSE",
	/**
	 * 动画开始事件（Thing）
	 */
	AnimationStart = "ANIMATION_START",
	/**
	 * 动画结束事件（Thing）
	 */
	AnimationEnd = "ANIMATION_END"
}
/**
 * 模块
 */
export declare enum FunctionModule {
	/**
	 * 动环监控
	 */
	PowerEnvir = 1,
	/**
	 * 资产容量
	 */
	AssetVolume = 2,
	/**
	 * 配线拓扑
	 */
	Link = 4,
	/**
	 * 档案库房
	 */
	Archive = 8,
	/**
	 * 网管
	 */
	It = 16
}
/**
 * 热力图类型
 */
export declare enum HeatmapType {
	/**
	 * 无
	 */
	None = 1,
	/**
	 * 水平
	 */
	Horizontal = 2,
	/**
	 * 垂直
	 */
	Vertical = 4
}
/**
 * 常用键盘编码枚举
 */
export declare enum KeyCode {
	A = 65,
	B = 66,
	C = 67,
	D = 68,
	E = 69,
	F = 70,
	G = 71,
	H = 72,
	I = 73,
	J = 74,
	K = 75,
	L = 76,
	M = 77,
	N = 78,
	O = 79,
	P = 80,
	Q = 81,
	R = 82,
	S = 83,
	T = 84,
	U = 85,
	V = 86,
	W = 87,
	X = 88,
	Y = 89,
	Z = 90,
	F1 = 112,
	F2 = 113,
	F3 = 114,
	F4 = 115,
	F5 = 116,
	F6 = 117,
	F7 = 118,
	F8 = 119,
	F9 = 120,
	F10 = 121,
	F11 = 122,
	F12 = 123,
	BackSpace = 8,
	Tab = 9,
	Enter = 13,
	Shift = 16,
	Ctrl = 17,
	Alt = 18,
	Space = 32,
	Left = 37,
	Up = 38,
	Right = 39,
	Down = 40,
	Delete = 46
}
/**
 * 正交视图
 */
export declare enum OrthographicView {
	/**
	 * 顶视图
	 */
	Top = 1,
	/**
	 * 前视图
	 */
	Front = 2,
	/**
	 * 后视图
	 */
	Back = 4,
	/**
	 * 右视图
	 */
	Right = 8
}
/**
 * 资源工具类型
 */
export declare enum ResToolType {
	/**
	 * 机架设备
	 */
	RackMounted = 1,
	/**
	 * 板卡
	 */
	BoardCard = 2,
	/**
	 * 档案盒
	 */
	ArchiveBox = 4
}
/**
 * 系统内置资源ID枚举
 */
export declare enum SystemResId {
	/**
	 * 自定义建筑
	 */
	CustomBuilding = "939abce2ec996ceb17190ba2915229d2",
	/**
	 * 普通墙
	 */
	ManualWall = "05bb16a31bb5e03d5f8fca9d2c9bfa7c",
	/**
	 * 3D文本
	 */
	Text = "b9d2a3e98a044d828241a55674d12fb3",
	/**
	 * 圈地（无框）
	 */
	Wall = "a4fd143c58ea17e7aeb20dab344c0231",
	/**
	 * 普通墙贴图（科技风）
	 */
	ManualWallTexture = "725c7996b1978d0bd1484d551d777e58",
	/**
	 * 默认楼顶贴图
	 */
	DefaultRoofTexture = "430eab360b8a4e371d1fb62ba2dfae9b",
	/**
	 * 默认天花板贴图
	 */
	DefaultCeilingTexture = "bd68f59792c7af353b47b68eeb43b36c",
	/**
	 * 默认地板贴图（科技风）
	 */
	DefaultFloorTexture = "3743334a2ed2df2ad6e2a2f221f87e58",
	/**
	 * 漏水线贴图
	 */
	LeakLineTexture = "bc17b3c748934e2e3a4a71095a2164bd",
	/**
	 * 漏水线
	 */
	LeakLine = "23bbbdc49de5e85d7db29b7e78097557",
	/**
	 * 热力图材质
	 */
	HeatmapMaterial = "8b103036eb2573bcd08348a58adc5ded",
	/**
	 * 热力图烟雾贴图
	 */
	HeatmapSmokeTexture = "42656a9c6ff1fb39bc10c4395c94b01c",
	/**
	 * 场景漫游人物
	 */
	SceneRoamingMan = "fa9c8432405a757bf3dcdd13d93976a3",
	/**
	 * 路径
	 */
	Path = "fb5819545e6e92a24c417eb95e0f6a3a",
	/**
	 * 数据点位
	 */
	DataPoint = "7cb64f7ab6119aba1233605791776c78",
	/**
	 * 链接
	 */
	Link = "36ada31beac6807eef7bcddc12ddb5f3",
	/**
	 * 网口
	 */
	NetworkPort = "cf1a7ec6257196ca660298ec798ebba5",
	/**
	 * 跟踪器
	 */
	Tracker = "772ffd17c14eca5c7734eb1d831e2749",
	/**
	 * 玻璃墙
	 */
	GlassWall = "8ed99c9d8cf0eb081e863a201cce3d1f",
	/**
	 * 装饰线框
	 */
	DecorateGrid = "aeb46e27018fa8aef1ab9809c442167f",
	/**
	 * 默认管道贴图
	 */
	DefaultPipeTexture = "bd276fe64d6f7270f246195792285af0",
	/**
	 * 管道
	 */
	Pipe = "79caea2506eb4a8ee18c22cb140858d4",
	/**
	 * 视频融合
	 */
	VideoFusion = "92a4a0a402d75faff81be6fd1a38123c",
	/**
	 * 视频融合默认贴图
	 */
	VideoFusionDefaultTexture = "8ef7bae1bf1a63a1bb902e8a9bd21549",
	/**
	 * 视频融合透明度贴图
	 */
	VideoFusionOpacityTexture = "f29a93b7c7a413ddbd8e5afe18c5afcf"
}
/** 文本对齐方式 */
export declare enum TxtAlign {
	/** 左对齐 */
	Left = "left",
	/** 居中对齐 */
	Center = "center",
	/** 右对齐 */
	Right = "right"
}
/**
 * 加法，返回一个新对象
 * @param a 点a
 * @param b 点b
 */
export declare function addTo(a: Point, b: Point): Point;
/**
 * AJAX
 * @param method HTTP请求的方法
 * @param url URL地址
 * @param data 发送的数据，可以是字符串或者表单数据
 * @param arraybuffer 是否返回二进制
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function ajax(method: "GET" | "POST", url: string, data?: string | FormData, arraybuffer?: boolean, onProgress?: (progress: number) => void): Promise<string | ArrayBuffer | undefined>;
/**
 * 求向量a到向量b的夹角
 * @param a 向量a
 * @param b 向量b
 */
export declare function angleTo(a: Point, b: Point): number;
/**
 * Blob转BASE64
 * @param blob Blob
 */
export declare function blobToDataURL(blob: Blob): Promise<string>;
/**
 * 求两点的中心，返回一个新对象
 * @param a 点a
 * @param b 点b
 */
export declare function centerTo(a: Point, b: Point): Point;
/**
 * 创建摆件对象
 * @param app 应用
 * @param parent 父亲
 * @param json JSON对象
 */
export declare function createPlacement(app: App, parent: Entity, json: any): any;
/**
 * 叉乘（顺序相关，必须为三维点）
 * @param left 左向量
 * @param right 右向量
 */
export declare function cross(left: Point, right: Point): Point;
/**
 * BASE64转Blob
 * @param dataURL BASE64字符串
 */
export declare function dataURLtoBlob(dataURL: string): Blob;
/**
 * 深度拷贝对象
 * @param obj 对象
 */
export declare function deepClone(obj: any): any;
/**
 * 删除指定的键
 * @param {string} key 键
 */
export declare function delCookie(key: string): void;
/**
 * 获取两点之间的距离
 * @param a 点a
 * @param b 点b
 */
export declare function distanceTo(a: Point, b: Point): number;
/**
 * 计算平行线之间的距离
 * @param a 直线a
 * @param b 直线b
 */
export declare function distanceToParallelLine(a: Line, b: Line): number;
/**
 * 求点到直线的投影距离（垂直距离、最短距离）
 * @param p 点p
 * @param line 直线
 */
export declare function distanceToProjection(p: Point, line: Line): number;
/**
 * 点乘（顺序无关）
 * @param left 左向量
 * @param right 右向量
 */
export declare function dot(left: Point, right: Point): number;
/**
 * 肢解对象（删除属性）
 * @param obj 对象
 */
export declare function explode(obj: any): void;
/**
 * 发送HTTP GET请求，返回文本或二进制数据
 * @param url URL地址
 * @param arraybuffer 是否返回二进制
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function get(url: string, arraybuffer?: boolean, onProgress?: (progress: number) => void): Promise<string | ArrayBuffer | undefined>;
/**
 * 获取指定键的Cookie
 * @param {string} key 键
 */
export declare function getCookie(key: string): string;
/**
 * 发送HTTP GET请求，返回JSON对象
 * @param url URL地址
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function getJson(url: string, onProgress?: (progress: number) => void): Promise<string | undefined>;
/**
 * 获取2条直线的交点（若不相交则返回null）
 * @param line1 直线1
 * @param line2 直线2
 * @returns 交点
 */
export declare function getLineIntersection(line1: Line, line2: Line): Point;
/**
 * 获取当前页面的根地址，避免iframe跨域问题
 */
export declare function getOrigin(): string;
/**
 * 获取URL指定名称的参数值
 * @param name 参数名称
 */
export declare function getQueryString(name: string): string;
/**
 * 获取两线段的交点
 * @param segment1 线段1
 * @param segment2 线段2
 */
export declare function getSegmentIntersection(segment1: Line, segment2: Line): Point;
/**
 * 获取线段1哪个端点与线段2部分包含
 * @param segment1 线段1
 * @param segment2 线段2
 */
export declare function getSegmentPartIncludePoint(segment1: Line, segment2: Line): Point;
/**
 * 判断数字a是否大于或等于b
 * @param a 数字a
 * @param b 数字b
 * @param epsilon 精度，默认值0.0001
 * @returns 布尔值
 */
export declare function greateThanOrEqual(a: number, b: number, epsilon?: number): boolean;
/**
 * 判断数字a是否大于数字b
 * @param a 数字a
 * @param b 数字b
 * @param epsilon 精度，默认值0.0001
 */
export declare function greaterThan(a: number, b: number, epsilon?: number): boolean;
/**
 * 去掉三维向量的Y轴，把向量投射到xz平面。
 * @param vec3 三维向量
 * @returns 二维向量
 */
export declare function ignoreYAxis(vec3: Vector3): Vector2;
/**
 * 判断是否是有效的十六进制颜色
 * @param value
 */
export declare function isHexColor(value: string): boolean;
/**
 * 是否是局域网
 */
export declare function isLAN(): boolean;
/**
 * 判断两直线是否平行
 * @param a 直线a
 * @param b 直线b
 */
export declare function isLineParallel(a: Line, b: Line): boolean;
/**
 * 判断对象是否为摆件
 * @param obj 对象
 */
export declare function isPlacement(obj: Entity): boolean;
/**
 * 求向量长度
 * @param p 点p
 */
export declare function lengthTo(p: Point): number;
/**
 * 判断数字a是否小于b
 * @param a 数字a
 * @param b 数字b
 * @param epsilon 精度，默认值0.0001
 */
export declare function lessThan(a: number, b: number, epsilon?: number): boolean;
/**
 * 判断数字a是否小于或等于b
 * @param a 数字a
 * @param b 数字b
 * @param epsilon 精度，默认值0.0001
 */
export declare function lessThanOrEqual(a: number, b: number, epsilon?: number): boolean;
/**
 * 乘法，返回一个新对象
 * @param a 点a
 * @param b 点b
 */
export declare function multiplyTo(a: Point, b: Point): Point;
/**
 * 生成一个指定长度的GUID字符串
 * @param length 长度
 * @returns GUID字符串
 */
export declare function newGuid(length: number): string;
/**
 * 生成一个16位长度的GUID字符串
 * @returns GUID字符串
 */
export declare function newGuid16(): string;
/**
 * 生成一个32位长度的GUID字符串
 * @returns GUID字符串
 */
export declare function newGuid32(): string;
/**
 * 生成一个8位长度的GUID字符串
 * @returns GUID字符串
 */
export declare function newGuid8(): string;
/**
 * 标准化，返回一个新对象
 * @param p 点
 */
export declare function normalizeTo(p: Point): Point;
/**
 * 判断点是否在线段上
 * @param p 点p
 * @param segment 线段
 */
export declare function onSegment(p: Point, segment: Line): boolean;
/**
 * 发送HTTP POST请求，返回文本或二进制数据
 * @param url URL地址
 * @param data 数据，可以是字符串或者表单数据
 * @param arraybuffer 是否返回二进制
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function post(url: string, data: string | FormData, arraybuffer?: boolean, onProgress?: (progress: number) => void): Promise<string | ArrayBuffer | undefined>;
/**
 * HTTP POST上传单个文件
 * @param url URL地址
 * @param fileData 文件数据
 * @param arraybuffer 是否返回二进制
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function postFile(url: string, fileData: any, arraybuffer?: boolean, onProgress?: (progress: number) => void): Promise<string | ArrayBuffer | undefined>;
/**
 * HTTP POST上传多个文件
 * @param url URL地址
 * @param fileDatas 文件数据数组
 * @param arraybuffer 是否返回二进制
 * @param onProgress 进度回调函数，函数参数为0~100之间的数值
 */
export declare function postFiles(url: string, fileDatas: any[], arraybuffer?: boolean, onProgress?: (progress: number) => void): Promise<string | ArrayBuffer | undefined>;
/**
 * 求点到直线的投影点
 * @param p 点p
 * @param line 直线
 */
export declare function project(p: Point, line: Line): Point;
/**
 * 判断点与直线的关系，0=共线，1=右侧，-1=左侧
 * @param p 点p
 * @param line 直线（线段，点的顺序不能互换）
 */
export declare function relateToPoint(p: Point, line: Line): number;
/**
 * 四舍五入
 * @param value 数值
 * @param fractionDigits 保留的小数位数，默认4
 */
export declare function round(value: number, fractionDigits?: number): number;
/**
 * 缩放，返回一个新对象
 * @param p 点p
 * @param scale 缩放倍数
 */
export declare function scaleTo(p: Point, scale: number): Point;
/**
 * 判断线段1是否完全包含线段2
 * @param segment1 线段1
 * @param segment2 线段2
 * @returns 布尔值
 */
export declare function segmentFullInclude(segment1: Line, segment2: Line): boolean;
/**
 * 设置Cookie
 * @param {string} key 键
 * @param {string} value 值
 * @param {number} minutes 过期时间（分钟）
 */
export declare function setCookie(key: string, value: string, minutes: number): void;
/**
 * 减法，返回一个新对象
 * @param a 点a
 * @param b 点b
 */
export declare function subtractTo(a: Point, b: Point): Point;
/**
 * 执行Promise
 * @param promise
 */
export declare function to<T>(promise: Promise<T>): Promise<[
	err: any,
	data: T
]>;
/**
 * 将三维向量转换成点
 * @param a 参考点
 * @param p 三维向量
 */
export declare function toPoint(a: Point, p: Vector3): Point;
/**
 * 将点转换成三维向量
 * @param p 点
 */
export declare function toVector3(p: Point): Vector3;
/**
 * 变量对象（改良版递归）
 * @param obj 对象
 * @param callback 回调函数
 */
export declare function traverse(obj: any, callback: (obj: any) => void): Promise<void>;
/**
 * 求二维向量的垂直向量
 * @param vector2 二维向量
 * @returns 垂直向量
 */
export declare function verticalVector(vector2: Vector2): Vector2;
/**
 * 判断2个变量（数字、数组、二维向量、三维向量、四维向量、四元数）的值是否近似相等
 * @param a 变量a
 * @param b 变量b
 * @param epsilon 精度，默认值0.0001
 */
export declare function withinEpsilon<T = number | number[] | Point | Vector4 | Quaternion>(a: T, b: T, epsilon?: number): boolean;
export interface Entity {
	linkDecorator?(): void;
}
/**
 * 显式释放接口
 */
export interface IDisposable {
	/**
	 * 释放
	 */
	dispose(): void;
}
/**
 * SelectionOutlineLayer 配置选项接口
 *
 * 继承自 IEffectLayerOptions，添加了选择轮廓特有的配置项。
 */
export interface ISelectionOutlineLayerOptions extends IEffectLayerOptions {
	/**
	 * 主纹理采样数
	 * 用于多重采样抗锯齿，默认为1（无抗锯齿）
	 */
	mainTextureSamples?: number;
	/**
	 * 是否存储相机空间Z值
	 * true: 使用相机空间Z值进行深度计算（更精确）
	 * false: 使用归一化深度值（默认）
	 */
	storeCameraSpaceZ?: boolean;
	/**
	 * 轮廓检测方法
	 * OUTLINELAYER_SAMPLING_TRIDIRECTIONAL: 三向采样（默认）
	 * OUTLINELAYER_SAMPLING_OCTADIRECTIONAL: 八向采样
	 */
	outlineMethod?: number;
}
/**
 * 资源项
 */
export interface ResItem {
	/**
	 * ID
	 */
	id: string;
	/**
	 * 文件扩展名
	 */
	ext: string;
	/**
	 * 名称
	 */
	name: string;
}
/**
 * App选项
 */
export type AppOptions = {
	/**
	 * DOM容器
	 */
	container: HTMLDivElement;
	/**
	 * 项目文件地址
	 */
	projectFile?: string;
	/**
	 * 授权文件地址
	 */
	licenseFile?: string;
	/**
	 * 根路径，默认为“/”
	 */
	basePath?: string;
	/**
	 * 是否禁止自动切换到第一个场景层级
	 */
	doNotAutoToFirstLevel?: boolean;
};
/**
 * 档案盒数据
 */
export type ArchiveBoxData = {
	/**
	 * 档案盒型号名称
	 */
	name: string;
	/**
	 * 高度
	 */
	height: number;
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 深度
	 */
	depth: number;
	/**
	 * 正面图片
	 */
	frontImg: ResImageSource;
	/**
	 * 背面图片
	 */
	backImg: ResImageSource;
	/**
	 * 侧面图片
	 */
	sideImg: SideSource;
	/**
	 * 背景颜色
	 */
	backgroundColor: string;
};
export type ArchiveCabinetGroupCount = {
	/**
	 * 库区ID
	 */
	deviceId: string;
	list: {
		/**
		 * 列ID
		 */
		columnId: string;
		/**
		 * 使用率
		 */
		useRate: number;
	}[];
};
/**
 * 资产数据
 */
export type AssetData = {
	/** 模型ID */
	model_id: string;
	/** U高 */
	uheight: number;
	/** 资产唯一ID */
	asset_id: string;
	/** 资产名称 */
	asset_name: string;
	/** 起始U位 */
	start_u: number;
	/** 方向 */
	direction: boolean;
	/** 机柜唯一ID */
	cabinet_id: string;
};
/**
 * 广告牌选项
 */
export type BillboardOptions = {
	/**
	 * 宽度，2D为字符串类型（示例 100px），3D为数字类型（示例 2）
	 */
	width: number | string;
	/**
	 * 高度，2D为字符串类型（示例 100px），3D为数字类型（示例 2）
	 */
	height: number | string;
	/**
	 * 背景色，为空表示透明
	 */
	background?: string;
	/**
	 * 子元素
	 */
	children: {
		/**
		 * 子元素类型
		 */
		type: "image" | "text";
		/**
		 * 图片地址
		 */
		url?: string;
		/**
		 * 宽度
		 */
		width?: string;
		/**
		 * 高度
		 */
		height?: string;
		/**
		 * 文本
		 */
		text?: string;
		/**
		 * 用于绑定文本的键
		 */
		key?: string;
		/**
		 * 颜色
		 */
		color?: string;
		/**
		 * 字体大小
		 */
		fontSize?: number;
		/**
		 * 左边距
		 */
		left?: string;
		/**
		 * 顶边距
		 */
		top?: string;
	}[];
};
/**
 * 板卡设备数据
 */
export type BoardCardData = {
	/**
	 * 板卡名称
	 */
	name: string;
	/**
	 * 高度
	 */
	height: number;
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 深度
	 */
	depth: number;
	/**
	 * 正面图片
	 */
	frontImg: ResImageSource;
	/**
	 * 背景颜色
	 */
	backgroundColor: string;
	/**
	 * 网口列表
	 */
	children: NetworkPortData[];
};
/**
 * 机柜容量数据
 */
export type CabinetCapacityData = {
	/**
	 * 机柜ID
	 */
	cabinet_id: string;
	/**
	 * 百分比
	 */
	percent: number;
	/**
	 * 提示文本
	 */
	tip: string;
};
/**
 * 机柜编号标签样式配置
 */
export type CabinetTagStyleConfig = {
	/**
	 * 是否显示编号标签
	 */
	show: boolean;
	/**
	 * 是否有背景
	 */
	hasBackground: boolean;
	/**
	 * 背景颜色
	 */
	backgroundColor: string;
	/**
	 * 字体大小
	 */
	fontSize: number;
	/**
	 * 字体颜色
	 */
	fontColor: string;
};
/**
 * 动态绘制图片所需的颜色
 */
export type ColorSource = {
	/**
	 * 颜色（十六进制）
	 */
	color: string;
	/**
	 * 背景颜色（十六进制）
	 */
	backgroundColor: string;
};
/**
 * 特效数据
 */
export type EffectData = {
	/**
	 * 灯光
	 */
	light?: {
		/**
		 * 环境光1
		 */
		ambientLight1?: {
			/**
			 * 是否启用
			 */
			enabled: boolean;
			/**
			 * 强度
			 */
			intensity: number;
			/**
			 * 颜色
			 */
			diffuse: string;
			/**
			 * 方向
			 */
			direction: Point3D;
		};
		/**
		 * 环境光2
		 */
		ambientLight2?: {
			/**
			 * 是否启用
			 */
			enabled: boolean;
			/**
			 * 强度
			 */
			intensity: number;
			/**
			 * 颜色
			 */
			diffuse: string;
			/**
			 * 方向
			 */
			direction: Point3D;
		};
		/**
		 * 太阳光
		 */
		sunLight?: {
			/**
			 * 是否启用
			 */
			enabled: boolean;
			/**
			 * 强度
			 */
			intensity: number;
			/**
			 * 颜色
			 */
			diffuse: string;
			/**
			 * 方向
			 */
			direction: Point3D;
			/**
			 * 阴影
			 */
			shadow: {
				/**
				 * 是否启用
				 */
				enabled: boolean;
				/**
				 * 刷新率
				 */
				refreshRate: number;
				/**
				 * 强度
				 */
				intensity: number;
			};
		};
	};
	/**
	 * 环境
	 */
	environment?: {
		/**
		 * 贴图
		 */
		textureId: string;
		/**
		 * 强度
		 */
		intensity: number;
		/**
		 * 旋转
		 */
		rotationY: number;
	};
	/**
	 * 背景
	 */
	background?: {
		/**
		 * 模式
		 */
		mode: "color" | "image" | "skybox";
		/**
		 * 颜色
		 */
		color?: string;
		/**
		 * 图片（image 模式）
		 */
		imageId?: string;
		/**
		 * 天空盒
		 */
		skybox?: {
			/**
			 * 贴图
			 */
			textureId: string;
			/**
			 * 位置
			 */
			position: Point3D;
			/**
			 * 大小
			 */
			size: number;
		};
	};
	/**
	 * 雾
	 */
	fog?: {
		/**
		 * 模式（0=禁用，1=指数，2=指数2，3=线性）
		 */
		mode: 0 | 1 | 2 | 3;
		/**
		 * 颜色
		 */
		color: string;
		/**
		 * 密度（指数模式）
		 */
		density: number;
		/**
		 * 雾效开始距离（线性模式）
		 */
		start: number;
		/**
		 * 雾效结束距离（线性模式）
		 */
		end: number;
	};
	/**
	 * 装饰
	 */
	decoration?: {
		mode: "none" | "grid";
		grid?: {
			size: number;
			blockWidth: number;
			blockHeight: number;
			offsetY: number;
			textureId?: string;
			/**
			 * 渲染模式模式：0=OPAQUE	1=ALPHATEST	2=ALPHABLEND	3=ALPHATESTANDBLEND
			 */
			transparencyMode?: number;
			alpha?: number;
			color?: string;
			mirror?: boolean;
			level?: number;
			/**
			 * 模糊系数
			 */
			adaptiveBlurKernel?: number;
		};
	};
	/**
	 * 粒子
	 */
	particles?: ParticleData[];
};
export type EntityItem = {
	id: string;
	name: string;
	children?: EntityItem[];
};
/**
 * 事件参数
 */
export type EventArg = {
	/**
	 * 目标
	 */
	target: EventDispatcher;
	/**
	 * 数据
	 */
	data: any;
};
/**
 * 事件对象
 */
export type EventObject = {
	/**
	 * 唯一编号
	 */
	id: string;
	/**
	 * 回调函数
	 */
	callback: (ev: EventArg) => void;
	/**
	 * 是否只触发一次
	 */
	once: boolean;
	/**
	 * 自定义数据
	 */
	data: any;
	/**
	 * 是否已暂停
	 */
	paused: boolean;
};
/**
 * 飞行数据
 */
export type FlyData = {
	/**
	 * 目标X坐标值
	 */
	targetX: number;
	/**
	 * 目标Y坐标值
	 */
	targetY: number;
	/**
	 * 目标Z坐标值
	 */
	targetZ: number;
	/**
	 * 半径
	 */
	radius: number;
	/**
	 * 沿Y轴的旋转角度
	 */
	alpha: number;
	/**
	 * 沿Z轴的旋转角度
	 */
	beta: number;
};
/**
 * 图片广告牌选项
 */
export type IconBillboardOptions = {
	/** 显示模式 */
	mode: "2D" | "3D";
	/** 图片地址 */
	url: string;
	/** 宽度，2D模式单位为像素，3D模式单位为米 */
	width: number;
	/** 高度，2D模式单位为像素，3D模式单位为米 */
	height: number;
};
/**
 * 信息列表数据项
 */
export type InfoListDataItem = {
	/**
	 * 名称
	 */
	name: string;
	/**
	 * 颜色
	 */
	value: string;
	/**
	 * 颜色（十六进制颜色，默认黑色）
	 */
	color?: string;
};
/**
 * 直线或线段
 */
export type Line = [
	Point,
	Point
];
/**
 * 网格面数据
 */
export type MeshFaceData = {
	/**
	 * 顶点
	 */
	positions: number[];
	/**
	 * UV
	 */
	uvs: number[];
	/**
	 * UV1
	 */
	uvs2?: number[];
	/**
	 * 长度
	 */
	length?: number;
	/**
	 * 三角形索引
	 */
	indices: number[];
};
/** 网口数据 */
export type NetworkPortData = {
	/**
	 * 名称
	 */
	name: string;
	/**
	 * 方向，true=正面，false=反面
	 */
	direction: boolean;
	/**
	 * X轴坐标
	 */
	postionX: number;
	/**
	 * Y轴坐标
	 */
	positionY: number;
	/**
	 * Z轴角度
	 */
	angleZ: number;
};
/**
 * 其它实体
 */
export type OtherEntity = Text3D | LeakLine | POI | POIPlus | Pipe | VideoFusion;
export type ParticleData = {
	id?: string;
	name?: string;
	resId?: string;
	start?: boolean;
	capacity: number;
	position: Point3D;
	direction1: Point3D;
	direction2: Point3D;
	bounding: Point3D;
	minSize: number;
	maxSize: number;
	emitRate: number;
	minEmitPower: number;
	maxEmitPower: number;
	updateSpeed: number;
	minLifeTime: number;
	maxLifeTime: number;
};
/**
 * 管线数据
 */
export type PipelineData = {
	/** 开始端点类型 */
	start_type: "\u8BBE\u5907" | "\u7AEF\u53E3";
	/** 开始端点字段1 */
	start_field1: string;
	/** 开始端点字段2 */
	start_field2: string;
	/** 开始端点字段3 */
	start_field3: string;
	/** 开始端点名称 */
	start_name: string;
	/** 结束端点类型 */
	end_type: "\u8BBE\u5907" | "\u7AEF\u53E3";
	/** 结束端点字段1 */
	end_field1: string;
	/** 结束端点字段2 */
	end_field2: string;
	/** 结束端点字段3 */
	end_field3: string;
	/** 结束端点名称 */
	end_name: string;
	/** 管线样式名称 */
	style_name: string;
	/** 扩展，保留字段 */
	extension: string;
};
/**
 * 管线样式
 */
export type PipelineStyle = {
	/** 名称 */
	name: string;
	/** 半径 */
	radius: number;
	/** 颜色1 */
	color1: string;
	/** 颜色2 */
	color2: string;
};
/**
 * 摆件
 */
export type Placement = Thing | Group;
/**
 * 点
 */
export type Point = Point2D | Point3D | Vector2 | Vector3;
/**
 * 二维点
 */
export type Point2D = [
	number,
	number
];
/**
 * 三维点
 */
export type Point3D = [
	number,
	number,
	number
];
/**
 * 四维点
 */
export type Point4D = [
	number,
	number,
	number,
	number
];
export type PollingLink = {
	building_id: string;
	building_name: string;
	link_id: string;
	link_name: string;
};
/**
 * 属性变更数据
 */
export type PropertyChangedData = {
	/**
	 * 事件发送者
	 */
	sender: any;
	/**
	 * 属性名称
	 */
	propertyName: string;
	/**
	 * 旧值
	 */
	oldValue: any;
	/**
	 * 新值
	 */
	newValue: any;
};
/**
 * 机架设备数据
 */
export type RackMountedData = {
	/**
	 * 型号名称
	 */
	name: string;
	/**
	 * U高
	 */
	uHeight: number;
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 深度
	 */
	depth: number;
	/**
	 * 正面图片
	 */
	frontImg: ResImageSource;
	/**
	 * 反面图片
	 */
	backImg: ResImageSource;
	/**
	 * 是否资产库
	 */
	lib?: boolean;
	/**
	 * 背景颜色
	 */
	backgroundColor: string;
	/**
	 * 网口列表
	 */
	children: NetworkPortData[];
};
/**
 * 资源缓存数据
 */
export type ResCacheData = {
	/**
	 * 错误信息
	 */
	err?: any;
	/**
	 * 原始数据
	 */
	data?: any;
};
/**
 * 动态模型图片（字符串表示图片base64编码，对象表示文件信息）
 */
export type ResImageSource = string | {
	/**
	 * 图片资源ID
	 */
	id: string;
	/**
	 * 扩展名
	 */
	ext: string;
};
/**
 * 资源参数选项
 */
export type ResOptions = {
	/**
	 * 唯一编号
	 */
	id: string;
	/**
	 * 扩展名
	 */
	ext?: string;
	/**
	 * 是否默认值
	 */
	isDefault?: boolean;
	/**
	 * 标题
	 */
	title?: string;
	/**
	 * 尺寸
	 */
	size?: number[];
	/**
	 * 版本号
	 */
	version?: string;
	name?: string;
	/**
	 * 资源类型ID
	 */
	res_type_id?: string;
	/**
	 * 是否资产图片
	 */
	asset?: boolean;
	/**
	 * 是否在资产库
	 */
	lib?: boolean;
	/**
	 * 偏移量，有的模型的轴心点不在底部中心
	 */
	offset?: Point3D;
	/**
	 * 离地高度
	 */
	above?: number;
	/**
	 * 透明模式（贴图）
	 */
	transparencyMode?: number;
	/**
	 * 粗糙度（贴图）
	 */
	roughness?: number;
	/**
	 * 金属度（贴图）
	 */
	metallic?: number;
	/**
	 * U缩放（贴图）
	 */
	uScale?: number;
	/**
	 * V缩放（贴图）
	 */
	vScale?: number;
	/**
	 * 颜色（贴图）
	 */
	color?: string;
	/**
	 * 贴图类型
	 */
	textureType?: "panorama" | "background" | "grid";
	/**
	 * 资源类型
	 */
	type?: string;
	/**
	 * 是否有透明通道
	 */
	hasAlpha?: boolean;
	/** 资源文件MD5值 */
	md5?: string;
};
/**
 * 模型资源工具参数选项
 */
export type ResToolOptions = {
	/**
	 * 容器
	 */
	container: HTMLDivElement;
	/**
	 * 类型
	 */
	type: ResToolType;
	/**
	 * 数据
	 */
	data: RackMountedData | BoardCardData | ArchiveBoxData;
	/**
	 * 模式，无=默认（编辑），0=预览，1=编辑
	 */
	mode?: number;
};
/**
 * 档案盒侧面图片或颜色
 */
export type SideSource = ResImageSource | ColorSource;
/**
 * 尺寸
 */
export type Size = {
	/**
	 * 宽度
	 */
	width: number;
	/**
	 * 高度
	 */
	height: number;
};
/**
 * 视角信息
 */
export type ViewInfo = {
	/**
	 * 相机位置
	 */
	eye: Point3D;
	/**
	 * 看点位置
	 */
	target: Point3D;
};

export {
	AbstractMesh,
	ActionManager,
	AdvancedDynamicTexture,
	AnimationGroup,
	ArcRotateCamera,
	AssetContainer,
	BoundingBox,
	BoundingInfo,
	Button,
	Camera,
	Color3,
	Color4,
	ColorCurves,
	Container,
	Control,
	CreateBox,
	CreateCylinder,
	CreateGround,
	CreateLineSystem,
	CreateLines,
	CreatePlane,
	CreateSphere,
	CreateTube,
	CubeTexture,
	Easing,
	Effect,
	Ellipse,
	Engine,
	EngineInstrumentation,
	EnvironmentTextureTools,
	EquiRectangularCubeTexture,
	ExecuteCodeAction,
	FloatArray,
	FresnelParameters,
	Geometry,
	Gizmo,
	GizmoManager,
	GlowLayer,
	GridMaterial,
	HemisphericLight,
	HighlightLayer,
	ICameraInput,
	ICanvasRenderingContext,
	Image$1 as Image,
	ImageProcessingConfiguration,
	InputText,
	InstancedMesh,
	InstantiatedEntries,
	Line2D,
	LinesMesh,
	Material,
	Matrix,
	Measure,
	Mesh,
	Node$1 as Node,
	NodeMaterial,
	Observer,
	PBRMaterial,
	ParticleHelper,
	ParticleSystem,
	PickingInfo,
	Plane,
	PointerDragBehavior,
	PointerEventTypes,
	PointerInfo,
	Quaternion,
	Ray,
	Rectangle,
	Scalar,
	Scene,
	SceneInstrumentation,
	SceneLoader,
	SphericalPolynomial,
	StackPanel,
	StandardMaterial,
	TextBlock,
	Texture,
	Tools,
	TransformNode,
	TrianglePickingPredicate,
	Tween,
	Vector2,
	Vector3,
	Vector4,
	VertexBuffer,
	VertexData,
};

export as namespace GLOW;

export {};
