import type { Vector2, Vector3 } from '../../types/vector.js'; export declare function bezierCubicSplitCurve(p0: T, p1: T, p2: T, p3: T, t: number): [ a0: T, c0: T, c1: T, a1: T, c2: T, c3: T, a2: T ]; export declare function bezierCubic(p0: T, p1: T, p2: T, p3: T, t: number): [T, T]; export declare function bezierQuad(p0: T, p1: T, p2: T, t: number): [T, T]; declare const enum ControlMode { Aligned = 0, Mirrored = 1, Free = 2, Automatic = 3 } export declare class BezierPath { #private; get controlPointMode(): ControlMode; set controlPointMode(value: ControlMode); get anchorPointsCount(): number; get segmentsCount(): number; constructor(centre?: Vector3); updateByAnchorPoints(anchors: readonly Vector3[]): void; updateControlPoints(points: readonly Vector3[]): void; addSegmentToEnd(anchorPos: Vector3): void; getPointsInSegment(segmentIndex: number): [Vector3, Vector3, Vector3, Vector3]; getAnchorNormalAngle(anchorIndex: number): number; setAnchorNormalAngle(anchorIndex: number, angle: number): void; } export {}; //# sourceMappingURL=bezier.d.ts.map