import * as react_jsx_runtime from 'react/jsx-runtime';

/**
 * A stat with animated counter
 */
interface AnimatedStat {
    /**
     * The end value for the counter animation
     */
    value: number;
    /**
     * Prefix for the value (e.g., "$", "+")
     */
    prefix?: string;
    /**
     * Suffix for the value (e.g., "%", "K", "M", "+")
     */
    suffix?: string;
    /**
     * The label for the stat
     */
    label: string;
    /**
     * Icon name in format: prefix/name (e.g., "lucide/users")
     */
    icon?: string;
}
/**
 * Props for the StatsAnimatedCounter component
 */
interface StatsAnimatedCounterProps {
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Main heading text
     */
    heading?: string;
    /**
     * Description text below the heading
     */
    description?: string;
    /**
     * Array of stats to display with animated counters
     */
    stats?: AnimatedStat[];
    /**
     * Animation duration in milliseconds
     * @default 2000
     */
    animationDuration?: number;
}
/**
 * StatsAnimatedCounter - A stats section featuring animated number counters that
 * trigger when scrolled into view. Each stat displays an optional icon, animated
 * value with prefix/suffix, and label. Uses intersection observer to start the
 * animation only when visible. Ideal for impact sections, achievements, or any
 * metrics that benefit from engaging number animations.
 *
 * @example
 * ```tsx
 * <StatsAnimatedCounter
 *   heading="Our Impact in Numbers"
 *   stats={[
 *     { value: 500, suffix: "+", label: "Projects Completed", icon: "lucide/folder-check" },
 *     { value: 98, suffix: "%", label: "Client Satisfaction", icon: "lucide/heart" },
 *   ]}
 *   animationDuration={2000}
 * />
 * ```
 */
declare function StatsAnimatedCounter({ className, heading, description, stats, animationDuration, }: StatsAnimatedCounterProps): react_jsx_runtime.JSX.Element;

export { type AnimatedStat, StatsAnimatedCounter, type StatsAnimatedCounterProps };
