import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-BeWIIjA4.js';
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
import { A as ActionConfig } from './blocks-k17uluAz.js';
import 'class-variance-authority';
import './button-variants-lRElsmTc.js';
import 'class-variance-authority/types';

/**
 * An impact stat with icon, value, label, and description.
 * Used to display key metrics, KPIs, or performance indicators.
 */
interface ImpactStat {
    /**
     * Unique identifier for the stat
     */
    id: string;
    /**
     * The stat value (e.g., "437", "2.4", "89")
     */
    value: React.ReactNode;
    /**
     * Prefix for the value (e.g., "$", "€", "£")
     */
    prefix?: React.ReactNode;
    /**
     * Suffix for the value (e.g., "%", "B+", "x", "K")
     */
    suffix?: React.ReactNode;
    /**
     * The label for the stat
     */
    label: React.ReactNode;
    /**
     * Description or context for the stat
     */
    description?: React.ReactNode;
    /**
     * Icon name in format: prefix/name (e.g., "lucide/line-chart")
     */
    icon?: string;
    /**
     * Custom slot for icon (overrides icon prop)
     */
    iconSlot?: React.ReactNode;
    /**
     * Icon color class (e.g., "text-primary", "text-emerald-500")
     */
    iconColor?: string;
    /**
     * Additional CSS classes for the stat card
     */
    className?: string;
}
/**
 * Props for the StatsImpactGrid component.
 * A versatile stats section for displaying metrics with optional comparison visualization.
 */
interface StatsImpactGridProps {
    /**
     * 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 impact stats to display in the grid
     */
    stats?: ImpactStat[];
    /**
     * Custom slot for stats grid (overrides stats array)
     */
    statsSlot?: React.ReactNode;
    /**
     * Comparison section heading
     */
    comparisonHeading?: React.ReactNode;
    /**
     * Comparison section description
     */
    comparisonDescription?: React.ReactNode;
    /**
     * Baseline comparison value (displayed as the first/lower comparison point)
     */
    baselineValue?: React.ReactNode;
    /**
     * Target comparison value (displayed as the second/higher comparison point)
     */
    targetValue?: React.ReactNode;
    /**
     * Label for the baseline comparison bar
     */
    baselineLabel?: React.ReactNode;
    /**
     * Label for the target comparison bar
     */
    targetLabel?: React.ReactNode;
    /**
     * Percentage width for the baseline progress bar (0-100)
     */
    baselinePercent?: number;
    /**
     * Percentage width for the target progress bar (0-100)
     */
    targetPercent?: number;
    /**
     * Custom slot for comparison section (overrides comparison props)
     */
    comparisonSlot?: React.ReactNode;
    /**
     * CTA section heading
     */
    ctaHeading?: React.ReactNode;
    /**
     * Array of action buttons for the CTA section
     */
    actions?: ActionConfig[];
    /**
     * Custom slot for CTA section (overrides ctaHeading and actions)
     */
    ctaSlot?: React.ReactNode;
    /**
     * 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 the comparison section
     */
    comparisonClassName?: string;
    /**
     * Additional CSS classes for the CTA section
     */
    ctaClassName?: string;
}
/**
 * StatsImpactGrid - A comprehensive stats section featuring a grid of impact metrics
 * with icons, an optional comparison bar visualization, and a call-to-action.
 * Each stat card displays an icon, large value with prefix/suffix, label, and description.
 * The comparison section visualizes the difference between two values with progress bars.
 * Ideal for showcasing ROI, performance metrics, growth comparisons, or any key indicators.
 *
 * @example
 * ```tsx
 * <StatsImpactGrid
 *   badge="Results"
 *   heading="Our Impact"
 *   stats={[
 *     { id: "growth", value: "437", suffix: "%", label: "Growth Rate", description: "Year over year" },
 *   ]}
 *   comparisonHeading="Performance Comparison"
 *   baselineLabel="Before"
 *   baselineValue="24%"
 *   baselinePercent={24}
 *   targetLabel="After"
 *   targetValue="89%"
 *   targetPercent={89}
 *   ctaHeading="Ready to get started?"
 *   actions={[{ label: "Get Started", href: "/signup" }]}
 * />
 * ```
 */
declare function StatsImpactGrid({ badge, badgeSlot, heading, description, stats, statsSlot, comparisonHeading, comparisonDescription, baselineValue, targetValue, baselineLabel, targetLabel, baselinePercent, targetPercent, comparisonSlot, ctaHeading, actions, ctaSlot, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, badgeClassName, headingClassName, descriptionClassName, statsGridClassName, statCardClassName, comparisonClassName, ctaClassName, }: StatsImpactGridProps): react_jsx_runtime.JSX.Element;

export { type ImpactStat, StatsImpactGrid, type StatsImpactGridProps };
