import { AlignedDimension } from "../../DatabaseServices/Dimension/AlignedDimension";
import { Board } from "../../DatabaseServices/Entity/Board";
import { ForBoardNameType } from "../../UI/Store/OptionInterface/AutoDimBrsOption";
/**
 * 命令:autodimbrs 的工具类
 * 先对板进行分组,然后进行标注
 */
export declare class DimBoards {
    EnableDimAllSize: boolean;
    EnableFrontOutDims: boolean;
    EnableCabinetInsideWidth: boolean;
    EnableCabinetInsideHeight: boolean;
    EnableFilterSmallDim: boolean;
    FilterSmallDimSize: number;
    EnableFilterAppointDimSize: boolean;
    FilterDimSizeSet: Set<string>;
    EnableFilterBoardNameType: boolean;
    FilterDimForBoardNameSet: Set<string>;
    ForBoardNameType: ForBoardNameType;
    EnableFrontIgnoreBackBoard: boolean;
    EanbleParseGroups: boolean;
    FiltereCabinetInsideSmallDim: boolean;
    EanbleCabinetInsideSmallDimSize: number;
    InsideOffset: boolean;
    InsideOffsetDist: number;
    private groups;
    private groupsBoxs;
    private boardBoxMap;
    constructor();
    Do(brs: Board[]): void;
    /**
     * 将板件分堆(根据包围盒+模块树)
     * 分组依据(1:在同一个树内,2存在交集)
     */
    private ParseBoardGroups;
    private DoDim;
    /**
     * 标注避让
     * @param foots
     * @param als
     * @param j down top left right 0 1 2 3 指定方向类型
     */
    static DimAvoid(foots: number[], als: AlignedDimension[], j: number, yMove?: number): void;
}
export declare function FilterDimBoardFn(br: Board): boolean;
/**
 *根据板名条件过滤板标注
 */
export declare function FilterForBoardNameType(br: Board, filterDimForBoardNames: Set<string>, forBoardNameType: ForBoardNameType): boolean;
//# sourceMappingURL=DimBoards.d.ts.map