import { CubicPath, IconInput, Sampled } from './types'; /** Default angular threshold for a segment joint to count as a corner. */ export declare const CORNER_THRESHOLD: number; /** Segment boundaries (index of the segment starting at the corner) whose * tangent discontinuity exceeds the threshold. For closed paths this * includes the closing joint (boundary = first active segment). */ export declare function detectCorners(path: CubicPath, threshold?: number): number[]; /** Total arc length of the subpath (per-segment Gauss-Legendre). */ export declare function arcLength(path: CubicPath): number; /** Samples a cubic subpath at N points equidistant by arc length, anchoring * corners and endpoints as exact samples. Returns Float64Array(2N). Closed * paths distribute N intervals around the loop (without duplicating the * first point); the circular start-point freedom is resolved by the plan's * circular correspondence. */ export declare function resamplePath(path: CubicPath, N?: number, cornerThreshold?: number): Float64Array; /** Full input pipeline: icon → cubics → sampled subpaths with their * topology (the plan needs to know which subpaths are closed loops). */ export declare function resampleIcon(input: IconInput, N?: number): Sampled[];