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

interface PricingToggleCardsFeature {
    /**
     * 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 feature text
     */
    textClassName?: string;
}
interface PricingToggleCardsPlan {
    /**
     * Plan name
     */
    name?: React.ReactNode;
    /**
     * Plan description
     */
    description?: React.ReactNode;
    /**
     * Monthly price display
     */
    monthlyPrice?: React.ReactNode;
    /**
     * Yearly price display
     */
    yearlyPrice?: React.ReactNode;
    /**
     * Plan features
     */
    features?: PricingToggleCardsFeature[];
    /**
     * Custom slot for rendering features (overrides features array)
     */
    featuresSlot?: React.ReactNode;
    /**
     * Call-to-action configuration
     */
    action?: ActionConfig;
    /**
     * Custom slot for rendering action (overrides action)
     */
    actionSlot?: React.ReactNode;
    /**
     * Highlight this plan
     */
    isPopular?: boolean;
    /**
     * Optional badge content (e.g. Most Popular)
     */
    badge?: React.ReactNode;
    /**
     * Additional CSS classes for the plan card
     */
    className?: string;
}
interface PricingToggleCardsProps {
    /**
     * Section heading
     */
    heading?: React.ReactNode;
    /**
     * Supporting description
     */
    description?: 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;
    /**
     * Pricing plans
     */
    plans?: PricingToggleCardsPlan[];
    /**
     * Custom slot for rendering plans (overrides plans array)
     */
    plansSlot?: React.ReactNode;
    /**
     * Default icon used for feature items
     */
    featureIcon?: React.ReactNode;
    /**
     * Default icon name used for feature items
     */
    featureIconName?: string;
    /**
     * Badge content for popular plans
     */
    popularBadge?: React.ReactNode;
    /**
     * 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 area
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the toggle wrapper
     */
    toggleClassName?: string;
    /**
     * Additional CSS classes for the toggle labels
     */
    toggleLabelClassName?: string;
    /**
     * Additional CSS classes for the yearly badge
     */
    yearlyBadgeClassName?: string;
    /**
     * Additional CSS classes for the grid
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for each card
     */
    cardClassName?: string;
    /**
     * Additional CSS classes for highlighted cards
     */
    popularCardClassName?: string;
    /**
     * Additional CSS classes for the badge
     */
    badgeClassName?: string;
    /**
     * Additional CSS classes for card headers
     */
    cardHeaderClassName?: string;
    /**
     * Additional CSS classes for card titles
     */
    cardTitleClassName?: string;
    /**
     * Additional CSS classes for card descriptions
     */
    cardDescriptionClassName?: string;
    /**
     * Additional CSS classes for the price
     */
    priceClassName?: string;
    /**
     * Additional CSS classes for price interval
     */
    priceIntervalClassName?: string;
    /**
     * Additional CSS classes for the separator
     */
    separatorClassName?: string;
    /**
     * Additional CSS classes for the features list
     */
    featuresClassName?: string;
    /**
     * Additional CSS classes for feature items
     */
    featureItemClassName?: string;
    /**
     * Additional CSS classes for feature icons
     */
    featureIconClassName?: string;
    /**
     * Additional CSS classes for feature text
     */
    featureTextClassName?: string;
    /**
     * Additional CSS classes for the card footer
     */
    cardFooterClassName?: string;
    /**
     * Additional CSS classes for the action
     */
    actionClassName?: string;
    /** Optional Section ID */
    sectionId?: string;
}
/**
 * PricingToggleCards displays pricing plans with a monthly/yearly toggle switch.
 * Features Card components with feature lists, popular plan highlighting, and responsive grid layout.
 * The toggle allows users to compare monthly vs annual pricing with potential savings.
 *
 * Ideal for subscription-based services that offer both monthly and annual billing options.
 *
 * @example
 * ```tsx
 * <PricingToggleCards
 *   heading="Choose Your Plan"
 *   description="Save 20% with annual billing"
 *   plans={[
 *     { name: "Basic", monthlyPrice: "$9", yearlyPrice: "$90", features: [{ text: "Feature 1" }] }
 *   ]}
 * />
 * ```
 */
declare function PricingToggleCards({ sectionId, heading, description, monthlyLabel, yearlyLabel, yearlyBadge, monthlyInterval, yearlyInterval, plans, plansSlot, featureIcon, featureIconName, popularBadge, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, headingClassName, descriptionClassName, toggleClassName, toggleLabelClassName, yearlyBadgeClassName, gridClassName, cardClassName, popularCardClassName, badgeClassName, cardHeaderClassName, cardTitleClassName, cardDescriptionClassName, priceClassName, priceIntervalClassName, separatorClassName, featuresClassName, featureItemClassName, featureIconClassName, featureTextClassName, cardFooterClassName, actionClassName, }: PricingToggleCardsProps): React.JSX.Element;

export { PricingToggleCards, type PricingToggleCardsProps };
