import { Bezier as BezierData, predefinedCurve } from '../data'; export type Easing = keyof typeof predefinedCurve | null | Bezier; /** * Cass to generate and evaluate multiple Bezier curve segments based on provided control points. */ export declare class Bezier { private _curves; private _curveEvaluator; /** * Creates an instance of Bezier. * @param curves An array of control points for each Bezier curve segment. */ constructor(curves: BezierData[]); /** * Updates the curves without creating a new instance. * @param curves An array of control points for each Bezier curve segment. */ updateCurves(curves: BezierData[]): void; evaluate(t: number, epsilon?: number): number; } /** * Applies easing to a given time value using pre-defined curves, custom Bezier instances, or returns linear progression if no easing is specified. * A cache is implemented to store and reuse Bezier instances for pre-defined easing types to enhance performance. */ export declare function computeEasing(t: number, easing?: Easing): number;