import type { ArcEntity, CircleEntity, ControlPoint, EllipseEntity, EntityToPolylineOptions, HandlerVertex, LeaderEntity, LineEntity, RayEntity, ShapeEntity, SplineEntity, WipeoutEntity, XLineEntity } from './types'; import type { PointTuple } from './types/common'; export type { ControlPoint, EntityToPolylineOptions } from './types'; type Point = PointTuple; interface LocalVertex extends HandlerVertex { faces?: number[]; } interface LocalPolylineEntity { type: string; vertices: LocalVertex[]; closed?: boolean; polyfaceMesh?: boolean; polygonMesh?: boolean; } type Entity = LineEntity | LeaderEntity | RayEntity | XLineEntity | ShapeEntity | WipeoutEntity | (LocalPolylineEntity & { type: 'LWPOLYLINE' | 'POLYLINE'; }) | { type: 'SOLID' | 'TRACE'; corners?: Array<{ x: number; y: number; }>; points?: Array<{ x: number; y: number; }>; } | CircleEntity | EllipseEntity | ArcEntity | SplineEntity; /** * Interpolate a b-spline. The algorithm examins the knot vector * to create segments for interpolation. The parameterisation value * is re-normalised back to [0,1] as that is what the lib expects ( * and t i de-normalised in the b-spline library) * * @param controlPoints the control points * @param degree the b-spline degree * @param knots the knot vector * @returns the polyline */ export declare const interpolateBSpline: (controlPoints: ControlPoint[], degree: number, knots: number[], interpolationsPerSplineSegment?: number, weights?: number[]) => Point[]; export declare const polyfaceOutline: (entity: LocalPolylineEntity) => Point[][]; /** * Convert a parsed DXF entity to a polyline. These can be used to render the * the DXF in SVG, Canvas, WebGL etc., without depending on native support * of primitive objects (ellispe, spline etc.) */ export default function entityToPolyline(// NOSONAR entity: Entity, options?: EntityToPolylineOptions): Point[]; //# sourceMappingURL=entityToPolyline.d.ts.map