import * as React from 'react';
import { S as SectionBackground } from './community-initiatives-rTRuDt0r.js';
import { FormEngineProps } from '@page-speed/forms/integration';
import { L as LogoItem, I as ImageItem, O as OptixFlowConfig, 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 OfferModalSheetNewsletterProps {
    /**
     * Logo configuration
     */
    logo?: LogoItem;
    /**
     * Custom slot for rendering the logo (overrides logo prop)
     */
    logoSlot?: React.ReactNode;
    /**
     * Main title content for the offer
     */
    title?: React.ReactNode;
    /**
     * Description content below the title
     */
    description?: React.ReactNode;
    /**
     * Image configuration for the bottom section
     */
    image?: ImageItem;
    /**
     * Custom slot for rendering the image (overrides image prop)
     */
    imageSlot?: React.ReactNode;
    /**
     * Terms of use link URL
     */
    termsUrl?: string;
    /**
     * Terms of use link text
     */
    termsText?: React.ReactNode;
    /**
     * Privacy policy link URL
     */
    privacyUrl?: string;
    /**
     * Privacy policy link text
     */
    privacyText?: React.ReactNode;
    /**
     * Custom slot for the legal text area (overrides terms/privacy links)
     */
    legalSlot?: React.ReactNode;
    /**
     * Custom slot for the close button (overrides default close button)
     */
    closeButtonSlot?: React.ReactNode;
    /**
     * Custom slot for the form (overrides default form)
     */
    formSlot?: React.ReactNode;
    /**
     * Custom slot for the header area (overrides logo, title, description)
     */
    headerSlot?: React.ReactNode;
    /**
     * Whether the sheet is open (controlled mode)
     */
    open?: boolean;
    /**
     * Callback when the sheet open state changes
     */
    onOpenChange?: (open: boolean) => void;
    /**
     * Whether the sheet is open by default (uncontrolled mode)
     */
    defaultOpen?: boolean;
    /**
     * Additional CSS classes for the sheet content wrapper
     */
    className?: string;
    /**
     * Additional CSS classes for the content area
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the header
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the logo
     */
    logoClassName?: string;
    /**
     * Additional CSS classes for the title
     */
    titleClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the form
     */
    formClassName?: string;
    /**
     * Additional CSS classes for the legal text
     */
    legalClassName?: string;
    /**
     * Additional CSS classes for the image wrapper
     */
    imageWrapperClassName?: string;
    /**
     * Additional CSS classes for the image element
     */
    imageClassName?: string;
    /**
     * Optional configuration for OptixFlow image optimization
     */
    optixFlowConfig?: OptixFlowConfig;
    /**
     * Background style variant for the section
     * @default "default"
     */
    background?: SectionBackground;
    /**
     * Full form engine setup and props
     */
    formEngineSetup?: FormEngineProps;
    /**
     * Submit button configuration
     */
    buttonAction?: ActionConfig;
}
/**
 * OfferModalSheetNewsletter - A side-sheet style newsletter signup modal that slides in from
 * the right. Features a logo, compelling headline, description, email signup form with rounded
 * inputs, legal consent links, and a square aspect ratio promotional image. The sheet design
 * provides a more immersive experience while maintaining easy dismissal. Perfect for premium
 * brands, lifestyle products, or any site wanting a sophisticated newsletter capture experience.
 *
 * The newsletter form is powered by `FormEngine` from `@page-speed/forms/integration`,
 * which handles validation, submission, error handling, and success states.
 *
 * @example
 * ```tsx
 * <OfferModalSheetNewsletter
 *   logo={{ src: "/logo.png", alt: "Brand Logo" }}
 *   title="Join Now & Enjoy 20% Off"
 *   description="Join our mailing list for updates and offers."
 *   image={{ src: "/promo.jpg", alt: "Promotional image" }}
 *   termsUrl="/terms"
 *   privacyUrl="/privacy"
 *   formEngineSetup={{
 *     formConfig: { endpoint: "/api/subscribe", format: "json" },
 *   }}
 * />
 * ```
 */
declare function OfferModalSheetNewsletter({ logo, logoSlot, title, description, image, imageSlot, termsUrl, termsText, privacyUrl, privacyText, legalSlot, closeButtonSlot, formSlot, headerSlot, open, onOpenChange, defaultOpen, className, contentClassName, headerClassName, logoClassName, titleClassName, descriptionClassName, formClassName, legalClassName, imageWrapperClassName, imageClassName, optixFlowConfig, background, formEngineSetup, buttonAction, }: OfferModalSheetNewsletterProps): React.JSX.Element;

export { OfferModalSheetNewsletter, type OfferModalSheetNewsletterProps };
