import { App } from '../core/App';
import { Corner } from './Corner';
import { Wall } from './Wall';
import { Room } from './Room';
import { Placement } from './placement';
import { TransformNode } from '../runtime';
import { Entity } from './Entity';
import { OtherEntity } from './OtherEntity';
import { Path } from './Path';
/**
 * 楼层
 */
export declare class Floor extends Entity {
    /**
     * 楼层默认高度
     */
    static defaultHeight: number;
    /**
     * 楼层高度
     */
    height: number;
    /**
     * 墙默认厚度
     */
    defaultWallThickness: number;
    /**
     * 是否总是显示内部结构
     */
    alwaysShowInside: boolean;
    /**
     * 是否隐藏所有房间地板（编辑器用）
     */
    _hideAllRoomFloors: boolean;
    /**
     * 合并网格的父节点
     */
    mergedMeshNode: TransformNode;
    /**
     * 实例化一个楼层对象
     * @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[];
    /**
     * 序列化成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;
}
