export declare const createSVGPathCalculator: any; export declare type Direction = [number, number]; export interface ColinMeinkeSVGPoint { x: number; y: number; curve?: any; moveTo?: any; } export declare class SVGPointElement implements SVGPoint { x: number; y: number; matrixTransform: any; orientation: any; constructor(x: number, y: number); } export declare type PathDataCommand = "M" | "m" | "Z" | "z" | "L" | "l" | "H" | "h" | "V" | "v" | "C" | "c" | "S" | "s" | "Q" | "q" | "T" | "t" | "A" | "a" | "B" | "b" | "R" | "r"; export declare class SVGPathSegment { type: PathDataCommand; values: number[]; constructor(type: PathDataCommand, values: number[]); } export interface SVGPathDataSettings { normalize: boolean; } export interface SVGPathData { getPathData: (settings?: SVGPathDataSettings) => SVGPathSegment[]; setPathData: (pathData: SVGPathSegment[]) => void; } export declare class SVGPath implements SVGPathData { pathData: SVGPathSegment[]; pathCalculator: { at: (length: number) => [number, number]; length: () => number; }; getPathDataFromPoints: (points: SVGPointElement[], markerStart?: string, markerEnd?: string) => SVGPathSegment[]; d: string; points: ColinMeinkeSVGPoint[]; constructor(points: SVGPointElement[], getPathDataFromPoints: any); getPathStringFromPathData: (pathData: SVGPathSegment[]) => string; getPointAtLength: (length: number) => SVGPointElement; getTotalLength: () => number; getPathData: (settings?: SVGPathDataSettings) => SVGPathSegment[]; setPathData: (pathData: SVGPathSegment[]) => void; getPointAtPosition: (position: number) => SVGPointElement; } export declare function changeDirection(currentDirection: Direction): Direction; export declare class StraightLine extends SVGPath { constructor(points: SVGPointElement[]); } export declare class ElbowLine extends SVGPath { constructor(points: SVGPointElement[]); } export declare class SegmentedLine extends SVGPath { constructor(points: SVGPointElement[]); } export declare class CurvedLine extends SVGPath { constructor(points: SVGPointElement[], markerStart: any, markerEnd: any); }