import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives--8cXayNa.js';
import './blocks-DCvdF54D.js';
import 'class-variance-authority';
import '@page-speed/pressable';
import '@opensite/hooks/usePlatformFromUrl';

/**
 * A stat with number ticker animation.
 * Used to display metrics with animated counting effects.
 */
interface TickerStat {
    /**
     * The end value for the ticker animation
     */
    value: number;
    /**
     * Prefix for the value (e.g., "$", "+")
     */
    prefix?: React.ReactNode;
    /**
     * Suffix for the value (e.g., "%", "K", "M", "+")
     */
    suffix?: React.ReactNode;
    /**
     * The label for the stat
     */
    label: React.ReactNode;
    /**
     * Description text
     */
    description?: React.ReactNode;
    /**
     * Additional CSS classes for the stat card
     */
    className?: string;
}
/**
 * Props for the StatsNumberTicker component.
 * A stats section featuring smooth number ticker animations that count up when scrolled into view.
 */
interface StatsNumberTickerProps {
    /**
     * Badge content above the heading
     */
    badge?: React.ReactNode;
    /**
     * Custom slot for badge (overrides badge prop)
     */
    badgeSlot?: React.ReactNode;
    /**
     * Main heading content
     */
    heading?: React.ReactNode;
    /**
     * Description content below the heading
     */
    description?: React.ReactNode;
    /**
     * Array of stats to display with ticker animation
     */
    stats?: TickerStat[];
    /**
     * Custom slot for stats (overrides stats array)
     */
    statsSlot?: React.ReactNode;
    /**
     * Animation duration in milliseconds
     * @default 2500
     */
    animationDuration?: number;
    /**
     * Background style for the section
     */
    background?: SectionBackground;
    /**
     * Vertical spacing for the section
     */
    spacing?: SectionSpacing;
    /**
     * Background pattern
     */
    pattern?: PatternName;
    /**
     * Pattern opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Additional CSS classes for the pattern
     */
    patternClassName?: string;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the header
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the badge
     */
    badgeClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the stats grid
     */
    statsGridClassName?: string;
    /**
     * Additional CSS classes for stat cards
     */
    statCardClassName?: string;
    /**
     * Additional CSS classes for stat values
     */
    statValueClassName?: string;
    /**
     * Additional CSS classes for stat labels
     */
    statLabelClassName?: string;
    /**
     * Additional CSS classes for stat descriptions
     */
    statDescriptionClassName?: string;
    /** Optional Section ID */
    sectionId?: string;
}
/**
 * StatsNumberTicker - A stats section featuring smooth number ticker animations
 * that count up when scrolled into view. Each stat card displays an animated
 * value with optional prefix/suffix, label, and description. Uses exponential
 * easing for a polished counting effect. Supports both integer and decimal values.
 * Ideal for landing pages, dashboards, or any section showcasing impressive metrics.
 *
 * @example
 * ```tsx
 * <StatsNumberTicker
 *   badge="By The Numbers"
 *   heading="Platform Statistics"
 *   stats={[
 *     { value: 10000, suffix: "+", label: "Active Users", description: "Growing community" },
 *     { value: 99.9, suffix: "%", label: "Uptime", description: "Enterprise-grade reliability" },
 *   ]}
 * />
 * ```
 */
declare function StatsNumberTicker({ sectionId, badge, badgeSlot, heading, description, stats, statsSlot, animationDuration, background, pattern, patternOpacity, patternClassName, className, containerClassName, spacing, headerClassName, badgeClassName, headingClassName, descriptionClassName, statsGridClassName, statCardClassName, statValueClassName, statLabelClassName, statDescriptionClassName, }: StatsNumberTickerProps): react_jsx_runtime.JSX.Element;

export { StatsNumberTicker, type StatsNumberTickerProps, type TickerStat };
