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

interface PricingComparisonHeadersFeature {
    /**
     * Feature label
     */
    name?: React.ReactNode;
    /**
     * Values per plan id
     */
    values?: Record<string, boolean | React.ReactNode>;
    /**
     * Additional CSS classes for row
     */
    className?: string;
}
interface PricingComparisonHeadersPlan {
    /**
     * Unique plan id
     */
    id?: string;
    /**
     * Plan name
     */
    name?: React.ReactNode;
    /**
     * Monthly price display
     */
    monthlyPrice?: React.ReactNode;
    /**
     * Yearly price display
     */
    yearlyPrice?: React.ReactNode;
    /**
     * Plan description
     */
    description?: React.ReactNode;
    /**
     * Action configuration
     */
    action?: ActionConfig;
    /**
     * Custom slot for rendering action (overrides action)
     */
    actionSlot?: React.ReactNode;
    /**
     * Highlight this plan
     */
    isPopular?: boolean;
    /**
     * Badge content for popular plan
     */
    badge?: React.ReactNode;
    /**
     * Additional CSS classes for plan header
     */
    className?: string;
}
interface PricingComparisonHeadersProps {
    /**
     * Section title
     */
    title?: React.ReactNode;
    /**
     * Section subtitle
     */
    subtitle?: React.ReactNode;
    /**
     * Toggle label for monthly billing
     */
    monthlyLabel?: React.ReactNode;
    /**
     * Toggle label for yearly billing
     */
    yearlyLabel?: React.ReactNode;
    /**
     * Badge displayed on yearly toggle
     */
    yearlyBadge?: React.ReactNode;
    /**
     * Monthly price suffix
     */
    monthlyInterval?: React.ReactNode;
    /**
     * Yearly price suffix
     */
    yearlyInterval?: React.ReactNode;
    /**
     * Plan definitions
     */
    plans?: PricingComparisonHeadersPlan[];
    /**
     * Custom slot for rendering plans (overrides plans array)
     */
    plansSlot?: React.ReactNode;
    /**
     * Feature rows
     */
    features?: PricingComparisonHeadersFeature[];
    /**
     * Custom slot for rendering features (overrides features array)
     */
    featuresSlot?: React.ReactNode;
    /**
     * Feature column label
     */
    featureColumnLabel?: React.ReactNode;
    /**
     * Icon for available features
     */
    availableIcon?: React.ReactNode;
    /**
     * Icon for unavailable features
     */
    unavailableIcon?: React.ReactNode;
    /**
     * Icon name for available features
     */
    availableIconName?: string;
    /**
     * Icon name for unavailable features
     */
    unavailableIconName?: string;
    /**
     * Background style for the section
     */
    background?: SectionBackground;
    /**
     * Vertical spacing for the section
     */
    spacing?: SectionSpacing;
    /**
     * Optional background pattern name or URL
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern overlay opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Additional CSS classes for the pattern overlay
     */
    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 title
     */
    titleClassName?: string;
    /**
     * Additional CSS classes for the subtitle
     */
    subtitleClassName?: string;
    /**
     * Additional CSS classes for toggle wrapper
     */
    toggleClassName?: string;
    /**
     * Additional CSS classes for toggle labels
     */
    toggleLabelClassName?: string;
    /**
     * Additional CSS classes for yearly badge
     */
    yearlyBadgeClassName?: string;
    /**
     * Additional CSS classes for the table wrapper
     */
    tableWrapperClassName?: string;
    /**
     * Additional CSS classes for plan header cells
     */
    planHeaderClassName?: string;
    /**
     * Additional CSS classes for plan badge
     */
    planBadgeClassName?: string;
    /**
     * Additional CSS classes for plan title
     */
    planTitleClassName?: string;
    /**
     * Additional CSS classes for plan description
     */
    planDescriptionClassName?: string;
    /**
     * Additional CSS classes for plan price
     */
    planPriceClassName?: string;
    /**
     * Additional CSS classes for plan price interval
     */
    planPriceIntervalClassName?: string;
    /**
     * Additional CSS classes for action
     */
    actionClassName?: string;
    /**
     * Additional CSS classes for feature rows
     */
    featureRowClassName?: string;
    /**
     * Additional CSS classes for feature name cell
     */
    featureNameClassName?: string;
    /**
     * Additional CSS classes for feature value cell
     */
    featureValueClassName?: string;
}
/**
 * PricingComparisonHeaders displays a comparison table with plan headers and monthly/yearly toggle.
 * Features sticky plan headers, feature rows with check/X indicators, and responsive design.
 * Ideal for detailed feature comparisons across multiple pricing tiers.
 *
 * Perfect for products with many features that need clear tier differentiation.
 *
 * @example
 * ```tsx
 * <PricingComparisonHeaders
 *   title="Compare Plans"
 *   plans={[{ id: "free", name: "Free", monthlyPrice: "$0", yearlyPrice: "$0" }]}
 *   features={[{ name: "Projects", values: { free: "3", pro: "Unlimited", enterprise: "Unlimited" } }]}
 * />
 * ```
 */
declare function PricingComparisonHeaders({ title, subtitle, monthlyLabel, yearlyLabel, yearlyBadge, monthlyInterval, yearlyInterval, plans, plansSlot, features, featuresSlot, featureColumnLabel, availableIcon, unavailableIcon, availableIconName, unavailableIconName, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, titleClassName, subtitleClassName, toggleClassName, toggleLabelClassName, yearlyBadgeClassName, tableWrapperClassName, planHeaderClassName, planBadgeClassName, planTitleClassName, planDescriptionClassName, planPriceClassName, planPriceIntervalClassName, actionClassName, featureRowClassName, featureNameClassName, featureValueClassName, }: PricingComparisonHeadersProps): React.JSX.Element;

export { PricingComparisonHeaders, type PricingComparisonHeadersProps };
