import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-rTRuDt0r.js';
import { FormEngineProps } from '@page-speed/forms/integration';
import { A as ActionConfig } from './blocks-BlWXj9GI.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-8mtEHxev.js';
import 'class-variance-authority/types';
import '@opensite/hooks/usePlatformFromUrl';

interface CtaNewsletterFeature {
    /**
     * Icon name for the feature
     */
    iconName?: string;
    /**
     * Custom icon element
     */
    icon?: React.ReactNode;
    /**
     * Feature text
     */
    text?: React.ReactNode;
    /**
     * Additional CSS classes for the feature
     */
    className?: string;
}
interface CtaNewsletterFeaturesProps {
    /**
     * Badge content above the heading
     */
    badge?: React.ReactNode;
    /**
     * Main heading content
     */
    heading?: React.ReactNode;
    /**
     * Description content below the heading
     */
    description?: React.ReactNode;
    /**
     * Array of features to display
     */
    features?: CtaNewsletterFeature[];
    /**
     * Custom slot for rendering features (overrides features array)
     */
    featuresSlot?: React.ReactNode;
    /**
     * Custom slot for rendering the form (overrides default form)
     */
    formSlot?: React.ReactNode;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the content wrapper
     */
    contentClassName?: 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 form
     */
    formClassName?: string;
    /**
     * Additional CSS classes for the features list
     */
    featuresClassName?: 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;
    /**
     * Full form engine setup and props
     */
    formEngineSetup?: FormEngineProps;
    /**
     * Submit button configuration
     */
    buttonAction?: ActionConfig;
}
/**
 * CtaNewsletterFeatures - A newsletter subscription CTA with badge, heading,
 * email form, and a list of subscription benefits. Encourages sign-ups by
 * highlighting value.
 *
 * The newsletter form is powered by `FormEngine` from `@page-speed/forms/integration`,
 * which handles validation, submission, error handling, and success states.
 *
 * @example
 * ```tsx
 * <CtaNewsletterFeatures
 *   badge="Newsletter"
 *   heading="Stay in the loop"
 *   description="Get the latest updates delivered to your inbox."
 *   formEngineSetup={{
 *     formConfig: { endpoint: "/api/subscribe", format: "json" },
 *   }}
 *   features={[
 *     { iconName: "lucide/check", text: "Weekly insights" },
 *     { iconName: "lucide/check", text: "Exclusive content" }
 *   ]}
 * />
 * ```
 */
declare function CtaNewsletterFeatures({ badge, heading, description, features, featuresSlot, formSlot, className, containerClassName, contentClassName, badgeClassName, headingClassName, descriptionClassName, formClassName, featuresClassName, background, spacing, pattern, patternOpacity, formEngineSetup, buttonAction, }: CtaNewsletterFeaturesProps): React.JSX.Element;

export { type CtaNewsletterFeature, CtaNewsletterFeatures, type CtaNewsletterFeaturesProps };
