import { Matrix4 } from 'three';
import { BoolOpeartionType } from '../GraphicsSystem/BoolOperateUtils';
import { CADFiler } from './CADFiler';
import { Shape } from './Shape';
export declare class ShapeManager {
    private _ShapeList;
    constructor(_ShapeList?: Shape[]);
    get ShapeList(): Shape[];
    get ShapeCount(): number;
    get ShapeArea(): number;
    AppendShapeList(shapes: Shape | Shape[]): this;
    Clear(): void;
    BoolOper(otherMg: ShapeManager, booltype: BoolOpeartionType): boolean;
    IntersectionBoolOperation(target: ShapeManager): boolean;
    UnionBoolOperation(targetMg: ShapeManager): boolean;
    SubstactBoolOperation(target: ShapeManager): boolean;
    /**
     * 与region.ApplyMatrix不同的是,这个是直接操作内部对象.
     * 通常用来计算布尔运算时需要真实的移动这个位置.
     * 并且将不会刷新显示
     *
     * @param {Matrix4} mat4
     * @memberof ShapeManager
     */
    ApplyMatrix(mat4: Matrix4): void;
    ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=ShapeManager.d.ts.map