import { App } from '../core/App';
import { Campus } from './Campus';
import { Entity } from './Entity';
/**
 * 层级管理器
 */
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;
}
