import { Box3 } from "three";
import { Circle } from "../../DatabaseServices/Entity/Circle";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Point } from "../Common/Point";
import { Part } from "../Core/Part";
import { Path } from "../Core/Path";
import { IOffset } from "./Simplify2";
/** 内外接多边形 */
export declare function Circle2Points(circle: Circle, knifRadius: number, splitSize?: number, outside?: boolean): Point[];
export declare function Curve2Path(curve: Circle | Polyline, outside?: boolean): Path;
export declare class CurveWrap {
    Curve: Polyline | Circle;
    KnifRadius: number;
    IsOutside: boolean;
    BoundingBox: Box3;
    Area: number;
    SimplyPolyline: Polyline;
    SimplyOffset: IOffset;
    Used: boolean;
    Holes: CurveWrap[];
    Points: Point[];
    constructor(Curve: Polyline | Circle, KnifRadius?: number, IsOutside?: boolean);
    ContainsCurve(curve: CurveWrap): boolean;
    GetOutsidePoints(): Point[];
    GetInsidePoints(): Point[];
}
/**
 * 曲线集合转零件集合.
 * 如果存在曲线嵌套,那么自动设置为网洞
 * 零件会和曲线绑定,以便后续应用坐标系变换
 */
export declare function Curves2Parts(curves: (Polyline | Circle)[], binPath: Path, KnifRadius?: number): Part[];
//# sourceMappingURL=Curves2Parts.d.ts.map