import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives--8cXayNa.js';
import { FormEngineProps } from '@page-speed/forms/integration';
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 CtaAppDownloadNewsletterProps {
    /**
     * App section heading
     */
    appHeading?: React.ReactNode;
    /**
     * App section description
     */
    appDescription?: React.ReactNode;
    /**
     * Array of action configurations for app download buttons
     */
    appActions?: ActionConfig[];
    /**
     * Custom slot for rendering app actions (overrides appActions array)
     */
    appActionsSlot?: React.ReactNode;
    /**
     * Phone mockup image URL
     */
    phoneMockupImage?: string;
    /**
     * Newsletter section heading
     */
    newsletterHeading?: React.ReactNode;
    /**
     * Newsletter section description
     */
    newsletterDescription?: React.ReactNode;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the grid
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for the app card
     */
    appCardClassName?: string;
    /**
     * Additional CSS classes for the app heading
     */
    appHeadingClassName?: string;
    /**
     * Additional CSS classes for the app description
     */
    appDescriptionClassName?: string;
    /**
     * Additional CSS classes for the app actions container
     */
    appActionsClassName?: string;
    /**
     * Additional CSS classes for the newsletter card
     */
    newsletterCardClassName?: string;
    /**
     * Additional CSS classes for the newsletter heading
     */
    newsletterHeadingClassName?: string;
    /**
     * Additional CSS classes for the newsletter description
     */
    newsletterDescriptionClassName?: string;
    /**
     * Additional CSS classes for the form
     */
    formClassName?: 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;
    /**
     * Optional Optix Flow configuration for image optimization
     */
    optixFlowConfig?: {
        apiKey: string;
        compression?: number;
    };
    /**
     * Full form engine setup and props
     */
    formEngineSetup?: FormEngineProps;
    /**
     * Submit button configuration
     */
    buttonAction?: ActionConfig;
    /**
     * Custom slot for the form (overrides form props)
     */
    formSlot?: React.ReactNode;
    /** Optional Section ID */
    sectionId?: string;
}
/**
 * CtaAppDownloadNewsletter - A two-column CTA grid featuring an app download
 * section with phone mockup and a newsletter subscription form. Perfect for
 * mobile app promotions.
 *
 * The newsletter form is powered by `FormEngine` from `@page-speed/forms/integration`,
 * which handles validation, submission, error handling, and success states.
 *
 * @example
 * ```tsx
 * <CtaAppDownloadNewsletter
 *   appHeading="Download Our App"
 *   appDescription="Get the best experience on mobile."
 *   appActions={[
 *     { label: "App Store", href: "https://apps.apple.com", variant: "default" },
 *     { label: "Google Play", href: "https://play.google.com", variant: "outline" }
 *   ]}
 *   newsletterHeading="Stay Updated"
 *   newsletterDescription="Subscribe to our newsletter."
 *   formEngineSetup={{
 *     formConfig: { endpoint: "/api/subscribe", format: "json" },
 *   }}
 * />
 * ```
 */
declare function CtaAppDownloadNewsletter({ sectionId, appHeading, appDescription, appActions, appActionsSlot, phoneMockupImage, newsletterHeading, newsletterDescription, className, containerClassName, gridClassName, appCardClassName, appHeadingClassName, appDescriptionClassName, appActionsClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, formClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, formEngineSetup, buttonAction, formSlot, }: CtaAppDownloadNewsletterProps): React.JSX.Element;

export { CtaAppDownloadNewsletter, type CtaAppDownloadNewsletterProps };
