import { IPoint } from "../../interfaces/IPoint.js"; export {}; export declare type PathDataM = { type: 'M' | 'm'; values: [x: number, y: number]; }; export declare type PathDataL = { type: 'L' | 'l'; values: [x: number, y: number]; }; export declare type PathDataT = { type: 'T' | 't'; values: [x: number, y: number]; }; export declare type PathDataH = { type: 'H' | 'h'; values: [x: number]; }; export declare type PathDataV = { type: 'V' | 'v'; values: [y: number]; }; export declare type PathDataZ = { type: 'Z' | 'z'; values?: []; }; export declare type PathDataC = { type: 'C' | 'c'; values: [x1: number, y1: number, x2: number, y2: number, x: number, y: number]; }; export declare type PathDataS = { type: 'S' | 's'; values: [x2: number, y2: number, x: number, y: number]; }; export declare type PathDataQ = { type: 'Q' | 'q'; values: [x1: number, y1: number, x: number, y: number]; }; export declare type PathDataA = { type: 'A' | 'a'; values: [rx: number, ry: number, ang: number, flag1: 0 | 1, flag2: 0 | 1, x: number, y: number]; }; export declare type PathData = { type: string; } & (PathDataM | PathDataL | PathDataH | PathDataV | PathDataZ | PathDataC | PathDataS | PathDataQ | PathDataT | PathDataA)[]; export declare function straightenLine(p1: IPoint, p2: IPoint, stepDeg?: number): IPoint; export declare function calculateNormLegth(p1: IPoint, p2: IPoint): number; export declare function calculateAlpha(p1: IPoint, p2: IPoint): number; export declare function interpolateLinePoints(p1: IPoint, p2: IPoint, maxDistance: number): IPoint[]; export declare function moveSVGPath(path: SVGPathElement, xFactor: number, yFactor: number): string; export declare function createPathD(path: PathData[]): string; declare global { interface SVGGraphicsElement { getPathData(options?: { normalize?: boolean; }): PathData[]; isPointInStroke(point: { x: number; y: number; }): any; isPointInFill(point: { x: number; y: number; }): any; } interface SVGPathElement { getPathData(options?: { normalize?: boolean; }): PathData[]; setPathData(pathData: PathData[]): any; } interface SVGRectElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } interface SVGCircleElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } interface SVGEllipseElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } interface SVGLineElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } interface SVGPolylineElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } interface SVGPolygonElement { getPathData(options?: { normalize?: boolean; }): PathData[]; } }