import { Matrix4 } from "three";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Entity } from "../../DatabaseServices/Entity/Entity";
import { ExtrudeContour, ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude";
import { Region } from "../../DatabaseServices/Entity/Region";
/**
 * useBase 二维刀路提取轮廓时使用基点
 * 选择提取轮廓的位置
 */
export declare function selectOutlinePosition(cus: Curve[] | Curve, useBase?: boolean): Promise<boolean>;
/**
 * 应用轮廓到板件
 */
export declare function BoardApplyContour(contour: ExtrudeContour, brs: Board[], isKeepSize: boolean): void;
/**
 * 选择可以被拉伸实体引用的轮廓.
 */
export declare function SelectExtrudeContour(selectInside?: boolean, useExtrude?: boolean, onlyUseCurve?: boolean): Promise<{
    contour?: ExtrudeContour;
    group?: Curve[][];
    useCurves?: (Curve | Region)[];
}>;
/**
 * 应用轮廓到拉伸实体,并且返回轮廓到WCS的应用矩阵.
 * @returns 如果轮廓是曲线,那么将返回曲线转换到WCS的矩阵
 */
export declare function ExtrudeApplyContour(ext: ExtrudeSolid, contour: ExtrudeContour): Matrix4 | undefined;
export declare function SelectExtrudeContours(): Promise<{
    useCurvesMap?: Map<ExtrudeContour, Entity[]>;
}>;
//# sourceMappingURL=DrawSpecialShapeBoardTool.d.ts.map