import { Matrix4 } from "three";
import { AlignedDimension } from "../../DatabaseServices/Dimension/AlignedDimension";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Command } from "../../Editor/CommandMachine";
import { CoordinateSystem } from "../../Geometry/CoordinateSystem";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Curve } from "../../DatabaseServices/Entity/Curve";
interface DirPls {
    left: Curve[];
    right: Curve[];
    top: Curve[];
    bottom: Curve[];
}
export declare class Command_AutoDimBrs implements Command {
    maxThickness: number;
    exec(): Promise<void>;
    /**
     * 绘制前视图的标注
     * @param brs 需要绘制前视图标注的板件
     * @param textRo 字体旋转角度（弧度形式）
     */
    DrawFrontDim(brs: Board[], textRo: number): Promise<AlignedDimension[]>;
    /**
     * 绘制标注
     * @param brs
     * @param drawCS 绘制标注的坐标系
     */
    DrawDim(brs: Board[], drawCS: Matrix4, textRotation?: number, needJig?: boolean, useMaxZ?: boolean, isLeadOutFlipped?: boolean): AlignedDimension[];
    /**
     * 判断轮廓的上下左右
     * @param pl 轮廓（多段线）
     * @param cs 参照坐标系
     * @memberof Command_AutoDimBrs
     */
    JudgeOutlineDirection(pls: Polyline[], cs: CoordinateSystem): DirPls;
    /**
     * 通过轮廓并集得到最大外轮廓
     * @memberof Command_AutoDimBrs
     */
    private GetOutLineByBoolUnion;
}
export {};
//# sourceMappingURL=AutoDimBrs.d.ts.map