/** * SVG Arc to Center Parameterization * * Converts SVG arc endpoint parameters to center point format used by KiCad. * Based on SVG specification: https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter */ export interface ArcEndpointParams { x1: number; y1: number; rx: number; ry: number; phi: number; largeArc: boolean; sweep: boolean; x2: number; y2: number; } export interface ArcCenterParams { cx: number; cy: number; rx: number; ry: number; startAngle: number; endAngle: number; deltaAngle: number; } /** * Convert SVG arc endpoint parameterization to center parameterization * Algorithm from SVG spec Appendix B.2.4 */ export declare function svgArcToCenter(params: ArcEndpointParams): ArcCenterParams | null; /** * Parse SVG arc path and extract parameters * Format: "M x1 y1 A rx ry rotation largeArc sweep x2 y2" */ export declare function parseSvgArcPath(path: string): ArcEndpointParams | null; /** * Convert radians to degrees */ export declare function radToDeg(rad: number): number; /** * Normalize angle to 0-360 range */ export declare function normalizeAngle(degrees: number): number; /** * Point type for arc interpolation */ export interface Point { x: number; y: number; } /** * Interpolate points along an SVG arc * Used for converting arc curves to polygon vertices in SOLIDREGION paths * * @param params Arc endpoint parameters from SVG path * @param segmentsPerQuarter Number of points per 90 degrees of arc (default: 4) * @returns Array of points along the arc (excluding start point, including end point) */ export declare function interpolateArc(params: ArcEndpointParams, segmentsPerQuarter?: number): Point[]; //# sourceMappingURL=svg-arc.d.ts.map