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

interface PricingPackagesRadioFeature {
    /**
     * Feature text
     */
    text?: React.ReactNode;
    /**
     * Optional icon element
     */
    icon?: React.ReactNode;
    /**
     * Optional icon name for DynamicIcon
     */
    iconName?: string;
    /**
     * Additional CSS classes for feature item
     */
    className?: string;
    /**
     * Additional CSS classes for feature icon
     */
    iconClassName?: string;
    /**
     * Additional CSS classes for feature text
     */
    textClassName?: string;
}
interface PricingPackagesRadioPackage {
    /**
     * Package ID
     */
    id: string;
    /**
     * Package name
     */
    name?: React.ReactNode;
    /**
     * Package price
     */
    price?: React.ReactNode;
    /**
     * Price description/interval
     */
    priceDescription?: React.ReactNode;
    /**
     * Package description
     */
    description?: React.ReactNode;
    /**
     * Package features
     */
    features?: PricingPackagesRadioFeature[];
    /**
     * Custom slot for rendering features (overrides features array)
     */
    featuresSlot?: React.ReactNode;
    /**
     * Highlight this package
     */
    isPopular?: boolean;
    /**
     * Badge content
     */
    badge?: React.ReactNode;
    /**
     * Additional CSS classes for the package item
     */
    className?: string;
}
interface PricingPackagesRadioProps {
    /**
     * Section title
     */
    title?: React.ReactNode;
    /**
     * Section subtitle
     */
    subtitle?: React.ReactNode;
    /**
     * Pricing packages
     */
    packages?: PricingPackagesRadioPackage[];
    /**
     * Custom slot for rendering packages (overrides packages array)
     */
    packagesSlot?: React.ReactNode;
    /**
     * Controlled selected package ID
     */
    selectedPackageId?: string;
    /**
     * Default selected package ID
     */
    defaultSelectedPackageId?: string;
    /**
     * Callback when selection changes
     */
    onSelectionChange?: (packageId: string) => void;
    /**
     * Default icon used for features
     */
    featureIcon?: React.ReactNode;
    /**
     * Default icon name for features
     */
    featureIconName?: string;
    /**
     * Primary action configuration
     */
    action?: ActionConfig;
    /**
     * Custom slot for rendering action (overrides action)
     */
    actionSlot?: 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
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the title
     */
    titleClassName?: string;
    /**
     * Additional CSS classes for the subtitle
     */
    subtitleClassName?: string;
    /**
     * Additional CSS classes for the packages wrapper
     */
    packagesClassName?: string;
    /**
     * Additional CSS classes for package buttons
     */
    packageButtonClassName?: string;
    /**
     * Additional CSS classes for selected package
     */
    selectedPackageClassName?: string;
    /**
     * Additional CSS classes for badges
     */
    badgeClassName?: string;
    /**
     * Additional CSS classes for selection indicator
     */
    selectionIndicatorClassName?: string;
    /**
     * Additional CSS classes for package name
     */
    packageNameClassName?: string;
    /**
     * Additional CSS classes for package description
     */
    packageDescriptionClassName?: string;
    /**
     * Additional CSS classes for price
     */
    priceClassName?: string;
    /**
     * Additional CSS classes for price description
     */
    priceDescriptionClassName?: string;
    /**
     * Additional CSS classes for 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 action wrapper
     */
    actionWrapperClassName?: string;
    /**
     * Additional CSS classes for action
     */
    actionClassName?: string;
    /** Optional Section ID */
    sectionId?: string;
}
/**
 * PricingPackagesRadio displays pricing packages with radio button selection.
 * Users can select a package and proceed with a single CTA button.
 * Features visual selection state, popular package highlighting, and feature lists.
 *
 * Ideal for service packages where users need to choose one option before proceeding.
 *
 * @example
 * ```tsx
 * <PricingPackagesRadio
 *   title="Choose Your Package"
 *   packages={[
 *     { id: "basic", name: "Basic", price: "$499", features: [{ text: "Feature 1" }] }
 *   ]}
 *   action={{ label: "Get Started", href: "#" }}
 * />
 * ```
 */
declare function PricingPackagesRadio({ sectionId, title, subtitle, packages, packagesSlot, selectedPackageId, defaultSelectedPackageId, onSelectionChange, featureIcon, featureIconName, action, actionSlot, background, spacing, pattern, patternOpacity, patternClassName, className, containerClassName, headerClassName, titleClassName, subtitleClassName, packagesClassName, packageButtonClassName, selectedPackageClassName, badgeClassName, selectionIndicatorClassName, packageNameClassName, packageDescriptionClassName, priceClassName, priceDescriptionClassName, featuresClassName, featureItemClassName, featureIconClassName, featureTextClassName, actionWrapperClassName, actionClassName, }: PricingPackagesRadioProps): React.JSX.Element;

export { PricingPackagesRadio, type PricingPackagesRadioProps };
