export declare class Point2D { readonly x: number; readonly y: number; constructor(x: number, y: number); } export declare abstract class CatmullRom { abstract position(distance: number): R; percentage(percent: number): R; } export declare class CatmullRomSpline extends CatmullRom { private _p0; private _p1; private _p2; private _p3; constructor(_p0: number, _p1: number, _p2: number, _p3: number); static noEndpoints(p1: number, p2: number): CatmullRomSpline; position(distance: number): number; } export declare class CatmullRomSpline2D extends CatmullRom { private _p0; private _p1; private _p2; private _p3; constructor(_p0: Point2D, _p1: Point2D, _p2: Point2D, _p3: Point2D); static noEndpoints(_p0: Point2D, _p1: Point2D): CatmullRomSpline2D; position(distance: number): Point2D; }