import { Singleton } from "../../Common/Singleton";
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
import { Board, IModeling } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { ExtureContourCurve } from "../../DatabaseServices/Entity/Extrude";
import { Shape } from "../../DatabaseServices/Shape";
/**
 *计算走刀工具类
 */
export declare class FeedingToolPath extends Singleton {
    /**
    * 处理形状,内偏移
     * @param shape 造型Shape
     * @param knifRadius 刀半径/偏移距离
     * @param [isOut=true] 是否是最外轮廓,如果是,洞需要外偏移一个刀半径,多段线偏移保留不闭合轮廓
     */
    private HandleShape;
    /**用于测试走刀路径 */
    TestCalcPath(br: Board, isCd?: boolean): Curve[];
    /**
     * 计算走刀路径
     */
    CalcPath(modelings: IModeling[], br: Board): Curve[];
    GetModelFeedPath(br: {
        Thickness: number;
        ContourCurve: ExtureContourCurve;
    }, m: IModeling): Curve[];
    private GrooveAddSize;
    private GetContours;
    CheckModeling(br: Board): number[];
    CheckCustomHole(br: Board): ExtrudeHole[];
    HandleThoughGroove(brCon: ExtureContourCurve, shape: Shape, knifeRadius: number): void;
}
export declare function GetModelingFromCustomDrill(br: Board): {
    modeling: (IModeling & {
        originEn: ExtrudeHole;
    })[];
    sideModeling: (IModeling & {
        originEn: ExtrudeHole;
    })[];
};
//# sourceMappingURL=FeedingToolPath.d.ts.map