import * as React from 'react';
import { FormEngineProps } from '@page-speed/forms/integration';
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-DmVsuoHE.js';
import { O as OptixFlowConfig } from './blocks-XLPGq8A5.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-CdNtNOuP.js';
import 'class-variance-authority/types';

/**
 * Configuration for a contact overlay item displayed over the image.
 */
interface ContactOverlayItem {
    /**
     * Icon name for DynamicIcon (e.g., "lucide/phone")
     */
    icon: string;
    /**
     * Eyebrow label above the title (e.g., "PHONE", "EMAIL")
     */
    label: string;
    /**
     * Main title text (e.g., phone number, email address)
     */
    title: string;
    /**
     * Optional description text
     */
    description?: string;
    /**
     * Optional link URL (e.g., "tel:+15551234567", "mailto:support@example.com")
     */
    href?: string;
    /**
     * Additional CSS classes for the item container
     */
    className?: string;
}
interface ContactImageProps {
    /**
     * Eyebrow label above the heading
     */
    eyebrow?: React.ReactNode;
    /**
     * Main heading text
     */
    heading?: React.ReactNode;
    /**
     * Description text below heading
     */
    description?: React.ReactNode;
    /**
     * Image configuration for the left panel
     */
    image?: {
        src: string;
        alt: string;
    };
    /**
     * Contact overlay items displayed over the image
     */
    contactOverlays?: ContactOverlayItem[];
    /**
     * Custom slot for rendering contact overlays (overrides contactOverlays array)
     */
    contactOverlaysSlot?: React.ReactNode;
    /**
     * Full form engine setup and props
     */
    formEngineSetup?: FormEngineProps;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the content grid
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the eyebrow text
     */
    eyebrowClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the image
     */
    imageClassName?: string;
    /**
     * Additional CSS classes for the contact overlays container
     */
    contactOverlaysClassName?: 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?: OptixFlowConfig;
}
/**
 * ContactImage - Split-layout contact form with image panel and overlay contact items.
 * Features a large image on the left with contact info overlays and form on the right.
 *
 * @example
 * ```tsx
 * <ContactImage
 *   eyebrow="Get in Touch"
 *   heading="Contact Us"
 *   description="We'd love to hear from you."
 *   image={{ src: "/office.jpg", alt: "Our office" }}
 *   contactOverlays={[
 *     { icon: "lucide/phone", label: "Phone", title: "+1 (555) 987-6543" },
 *     { icon: "lucide/mail", label: "Email", title: "support@example.com" },
 *   ]}
 *   formEngineSetup={{ formConfig: { endpoint: "/api/contact", format: "json" } }}
 * />
 * ```
 */
declare function ContactImage({ eyebrow, heading, description, image, contactOverlays, contactOverlaysSlot, formEngineSetup, className, containerClassName, contentClassName, eyebrowClassName, headingClassName, descriptionClassName, imageClassName, contactOverlaysClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: ContactImageProps): React.JSX.Element;

export { ContactImage, type ContactImageProps, type ContactOverlayItem };
