import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type Easing = (t: number) => number;
export interface CountUpProps extends Omit<ComponentPropsWithoutRef<"span">, "children" | "onChange" | "prefix"> {
    /** Target value. */
    value: number;
    /** Starting value on FIRST mount. Default 0. */
    from?: number;
    /** Tween duration in ms. Default 800. */
    duration?: number;
    /** Easing function. Default `easeOutCubic`. */
    easing?: Easing;
    /** Decimal places when no `formatValue` is supplied. Default 0. */
    decimals?: number;
    /** Custom formatter — wins over `decimals`. */
    formatValue?: (value: number) => ReactNode;
    /** Inline content before the number. */
    prefix?: ReactNode;
    /** Inline content after the number (e.g. "%"). */
    suffix?: ReactNode;
    /** Delay the tween start in ms. */
    delay?: number;
    /**
     * Skip the animation and render `value` immediately. Reads as a
     * "static mode" — useful for SSR snapshots or print views.
     */
    disableAnimation?: boolean;
    /** Fires once when the tween settles on the target value. */
    onComplete?: () => void;
}
export declare const easeLinear: Easing;
export declare const easeOutCubic: Easing;
export declare const easeOutQuart: Easing;
export declare const easeOutExpo: Easing;
export declare const CountUp: import("react").ForwardRefExoticComponent<CountUpProps & import("react").RefAttributes<HTMLSpanElement>>;
//# sourceMappingURL=CountUp.d.ts.map