/** SVG path geometry: sampling, length, morphing. */ export interface PathPoint { x: number; y: number; } /** Flatten an SVG path `d` into polylines (M/L/H/V/C/Q/Z subset). */ export declare function parsePathSegments(d: string): PathPoint[][]; /** Total polyline length of a path. */ export declare function getPathLength(d: string): number; export interface PointOnPath { x: number; y: number; angle: number; } /** Point and tangent angle (degrees) at distance along path. */ export declare function getPointAtLength(d: string, distance: number): PointOnPath; /** Uniformly sample path into N points for morphing. */ export declare function samplePath(d: string, samples: number): PathPoint[]; /** Interpolate between two path `d` strings (resampled to equal point count). */ export declare function morphPath(from: string, to: string, t: number, samples?: number): string; /** Rect outline as closed path (for morph demos). */ export declare function rectPath(width: number, height: number, cornerRadius?: number): string;