import * as React from 'react';
import { P as PageSpeedFormConfig } from './forms-BCcwNFhk.js';
import { f as SectionBackground, g as SectionSpacing, t as PatternName } from './community-initiatives-SXMu6Qj2.js';
import { A as ActionConfig } from './blocks-BoTnHIZ4.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import './button-variants-Dk2BrJ5f.js';
import 'class-variance-authority/types';

interface ContactReferralFormValues {
    first_name: string;
    last_name: string;
    email: string;
    phone: string;
    message: string;
}
interface ContactReferralProps {
    /** Main heading text */
    heading?: React.ReactNode;
    /** Description text below heading */
    description?: React.ReactNode;
    /** Submit button text */
    buttonText?: string;
    /** Icon to display in submit button */
    buttonIcon?: React.ReactNode;
    /** Array of action configurations for custom buttons */
    actions?: ActionConfig[];
    /** Custom slot for rendering actions (overrides actions array) */
    actionsSlot?: React.ReactNode;
    /** 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 heading */
    headingClassName?: string;
    /** Additional CSS classes for the description */
    descriptionClassName?: string;
    /** Additional CSS classes for the card */
    cardClassName?: string;
    /** Additional CSS classes for the card content */
    cardContentClassName?: string;
    /** Additional CSS classes for the form */
    formClassName?: string;
    /** Additional CSS classes for the submit button */
    submitClassName?: 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;
    /** Form configuration for PageSpeed forms */
    formConfig?: PageSpeedFormConfig;
    /** Custom submit handler */
    onSubmit?: (values: ContactReferralFormValues) => void | Promise<void>;
    /** Success callback */
    onSuccess?: (data: unknown) => void;
    /** Error callback */
    onError?: (error: Error) => void;
}
/**
 * ContactReferral - Contact form with image background layout.
 *
 * @example
 * ```tsx
 * <ContactReferral
 *   heading="Refer a Friend"
 *   formConfig={{ endpoint: "/api/contact", format: "json" }}
 * />
 * ```
 */
declare function ContactReferral({ heading, description, buttonText, buttonIcon, actions, actionsSlot, className, containerClassName, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, submitClassName, background, spacing, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactReferralProps): React.JSX.Element;

export { ContactReferral, type ContactReferralProps };
