import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-Cz9FycbA.js';
import { A as ActionConfig } from './blocks-BJ3CyHu6.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-lRElsmTc.js';
import 'class-variance-authority/types';
import '@opensite/hooks/usePlatformFromUrl';

interface PricingComparisonTableFeature {
    /**
     * Feature label
     */
    name?: React.ReactNode;
    /**
     * Values per plan id
     */
    values?: Record<string, boolean | React.ReactNode>;
    /**
     * Additional CSS classes for the row
     */
    className?: string;
}
interface PricingComparisonTablePlanFeature {
    /**
     * Feature text
     */
    text?: React.ReactNode;
    /**
     * Optional icon element
     */
    icon?: React.ReactNode;
    /**
     * Optional icon name for DynamicIcon
     */
    iconName?: string;
    /**
     * Additional CSS classes for the feature item
     */
    className?: string;
    /**
     * Additional CSS classes for the icon
     */
    iconClassName?: string;
    /**
     * Additional CSS classes for the text
     */
    textClassName?: string;
}
interface PricingComparisonTablePlan {
    /**
     * Unique plan id
     */
    id?: string;
    /**
     * Plan name
     */
    name?: React.ReactNode;
    /**
     * Plan price
     */
    price?: React.ReactNode;
    /**
     * Plan description
     */
    description?: React.ReactNode;
    /**
     * Plan feature list
     */
    features?: PricingComparisonTablePlanFeature[];
    /**
     * Custom slot for rendering features (overrides features array)
     */
    featuresSlot?: React.ReactNode;
    /**
     * Action configuration
     */
    action?: ActionConfig;
    /**
     * Custom slot for rendering action (overrides action)
     */
    actionSlot?: React.ReactNode;
    /**
     * Highlight this plan
     */
    isHighlighted?: boolean;
    /**
     * Additional CSS classes for the card
     */
    className?: string;
}
interface PricingComparisonTableProps {
    /**
     * Section title
     */
    title?: React.ReactNode;
    /**
     * Section subtitle
     */
    subtitle?: React.ReactNode;
    /**
     * Plans to compare
     */
    plans?: PricingComparisonTablePlan[];
    /**
     * Custom slot for rendering plans (overrides plans array)
     */
    plansSlot?: React.ReactNode;
    /**
     * Comparison rows
     */
    comparisonFeatures?: PricingComparisonTableFeature[];
    /**
     * Custom slot for rendering comparison table (overrides comparisonFeatures)
     */
    comparisonSlot?: React.ReactNode;
    /**
     * Comparison table heading
     */
    comparisonHeading?: React.ReactNode;
    /**
     * Feature column label
     */
    featureColumnLabel?: React.ReactNode;
    /**
     * Default icon for feature items
     */
    featureIcon?: React.ReactNode;
    /**
     * Default icon name for feature items
     */
    featureIconName?: string;
    /**
     * Icon for available features in comparison table
     */
    availableIcon?: React.ReactNode;
    /**
     * Icon for unavailable features in comparison table
     */
    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 the plans grid
     */
    plansGridClassName?: string;
    /**
     * Additional CSS classes for plan cards
     */
    cardClassName?: string;
    /**
     * Additional CSS classes for highlighted cards
     */
    highlightedCardClassName?: string;
    /**
     * Additional CSS classes for card title
     */
    cardTitleClassName?: string;
    /**
     * Additional CSS classes for card description
     */
    cardDescriptionClassName?: string;
    /**
     * Additional CSS classes for price
     */
    priceClassName?: string;
    /**
     * Additional CSS classes for features list
     */
    featuresClassName?: string;
    /**
     * Additional CSS classes for feature items
     */
    featureItemClassName?: string;
    /**
     * Additional CSS classes for feature icon
     */
    featureIconClassName?: string;
    /**
     * Additional CSS classes for feature text
     */
    featureTextClassName?: string;
    /**
     * Additional CSS classes for action
     */
    actionClassName?: string;
    /**
     * Additional CSS classes for separator
     */
    separatorClassName?: string;
    /**
     * Additional CSS classes for comparison heading
     */
    comparisonHeadingClassName?: string;
    /**
     * Additional CSS classes for table
     */
    tableClassName?: string;
    /**
     * Additional CSS classes for table head
     */
    tableHeadClassName?: string;
    /**
     * Additional CSS classes for table rows
     */
    tableRowClassName?: string;
    /**
     * Additional CSS classes for table cells
     */
    tableCellClassName?: string;
}
/**
 * PricingComparisonTable displays two pricing plans side-by-side with a detailed feature comparison table.
 * Each plan card includes features, pricing, and CTA button, followed by a comprehensive comparison matrix.
 * Uses check/minus icons to indicate feature availability across plans.
 *
 * Ideal for businesses with two main tiers (Pro/Enterprise) that want to highlight feature differences.
 *
 * @example
 * ```tsx
 * <PricingComparisonTable
 *   title="Compare Plans"
 *   plans={[
 *     { id: "pro", name: "Pro", price: "$49", features: [{ text: "Feature 1" }], action: { label: "Get Started" } },
 *     { id: "enterprise", name: "Enterprise", price: "Custom", features: [{ text: "Feature 1" }], action: { label: "Contact Sales" } }
 *   ]}
 *   comparisonFeatures={[
 *     { name: "API access", values: { pro: true, enterprise: true } }
 *   ]}
 * />
 * ```
 */
declare function PricingComparisonTable({ title, subtitle, plans, plansSlot, comparisonFeatures, comparisonSlot, comparisonHeading, featureColumnLabel, featureIcon, featureIconName, availableIcon, unavailableIcon, availableIconName, unavailableIconName, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, titleClassName, subtitleClassName, plansGridClassName, cardClassName, highlightedCardClassName, cardTitleClassName, cardDescriptionClassName, priceClassName, featuresClassName, featureItemClassName, featureIconClassName, featureTextClassName, actionClassName, separatorClassName, comparisonHeadingClassName, tableClassName, tableHeadClassName, tableRowClassName, tableCellClassName, }: PricingComparisonTableProps): React.JSX.Element;

export { PricingComparisonTable, type PricingComparisonTableProps };
