import { App } from '../../../core/App';
import { Entity } from '../../Entity';
import { ResImageSource } from '../cabinet/ResImageSource';
/**
 * 档案盒
 */
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(): ResImageSource;
    set sideImg(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;
}
