import type { CurveType } from '../types/chart.types';
export interface Point {
    x: number;
    y: number;
}
/**
 * Generate a straight-line path through all points.
 */
export declare const generateLinearPath: (points: Point[]) => string;
/**
 * Generate a step path (step at midpoint between points).
 */
export declare const generateStepPath: (points: Point[]) => string;
/**
 * Generate a step-before path (vertical first, then horizontal).
 */
export declare const generateStepBeforePath: (points: Point[]) => string;
/**
 * Generate a step-after path (horizontal first, then vertical).
 */
export declare const generateStepAfterPath: (points: Point[]) => string;
/**
 * Fritsch-Carlson monotone cubic interpolation.
 *
 * Produces straight lines during consistent trends and smooth curves only
 * at inflection points (direction changes). No overshooting past data bounds.
 *
 * Algorithm: https://en.wikipedia.org/wiki/Monotone_cubic_interpolation
 * Same approach used by D3.js (curveMonotoneX), Recharts, and Chart.js.
 */
export declare const generateMonotonePath: (points: Point[]) => string;
/**
 * Router function that dispatches to the correct path generator based on curve type.
 */
export declare const generateCurvePath: (points: Point[], curveType?: CurveType) => string;
