import { Matrix4, Vector3 } from "three";
import { Board } from "../../DatabaseServices/Entity/Board";
import { BoardType } from "../../UI/Store/BoardInterface";
import { Box3Ext, SplitType } from "../Box";
import { VisualSpaceBox } from './../../Editor/VisualSpaceBox';
export declare class ISpaceParse {
    /**
     * 解析空间成功
     */
    ParseOK: boolean;
    /**
     * 空间占地盒子
     */
    SpaceBox: Box3Ext;
    /**
     * 空间盒子所在的位置矩阵
     */
    SpaceOCS: Matrix4;
    SpaceOCSInv: Matrix4;
    /**
     * 板件映射表
     */
    BoardMap: Map<BoardType, Board[]>;
    /**
     * 解析空间所用的板件列表
     */
    Boards: Board[];
    LeftBoard: Board;
    RightBoard: Board;
    /**
     * 动态中,禁止执行二次操作
     */
    IsDynamic: Boolean;
    /**选到的虚拟空间 */
    VisualSpaceBox: VisualSpaceBox;
    Rotation: {
        x: number;
        y: number;
        z: number;
    };
    /**
     * # 构造后请手动调用Parse()方法.
     * @param boards 板件列表
     * @param [spaceOCS] 默认空间矩阵,如果不设置将使用第一块板作为空间矩阵
     */
    constructor(boards?: Board[], spaceOCS?: Matrix4);
    Parse(): Promise<void>;
    get Size(): Vector3;
    get DrawCS(): Matrix4;
    /**
     * 构造板件类型Map
     */
    protected GeneralBoardMap(): void;
    /**
     * 解析板件的盒子,并且(排序,归并)
     * @param boardCol
     * @param splitType
     */
    protected ParseBoardBox(boardCol: Board[], splitType: SplitType): Box3Ext[];
}
//# sourceMappingURL=ISpaceParse.d.ts.map