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

interface ContactCateringProps {
    /**
     * Main heading content
     */
    heading?: React.ReactNode;
    /**
     * Description text below the heading
     */
    description?: React.ReactNode;
    /**
     * Submit button text
     */
    buttonText?: string;
    /**
     * Submit button icon (displayed before text)
     */
    buttonIcon?: React.ReactNode;
    /**
     * Array of action configurations for additional buttons
     */
    actions?: ActionConfig[];
    /**
     * Custom slot for rendering actions (overrides actions array and default submit)
     */
    actionsSlot?: React.ReactNode;
    /**
     * Array of form field configurations
     * If not provided, defaults to: eventType, eventDate, guestCount, budget, serviceStyle, cuisinePreferences, dietaryAccommodations, name, email, phone, venue, details, tasting
     */
    formFields?: FormFieldConfig[];
    /**
     * Success message to display after form submission
     * @default "Thank you for your inquiry! We'll get back to you within 24 hours with a custom proposal."
     */
    successMessage?: React.ReactNode;
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     * @default "px-6 sm:px-6 md:px-8 lg:px-8"
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the header wrapper
     */
    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 success message
     */
    successMessageClassName?: string;
    /**
     * Additional CSS classes for error message
     */
    errorMessageClassName?: string;
    /**
     * Additional CSS classes for the submit button
     */
    submitClassName?: string;
    /**
     * Background style for the section
     */
    background?: SectionBackground;
    /**
     * Vertical spacing for the section
     * @default "py-8 md:py-32"
     */
    spacing?: SectionSpacing;
    /**
     * Optional background pattern name or URL
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern overlay opacity (0-1)
     */
    patternOpacity?: number;
    /**
     * Optional form submission configuration. See FORMS_INTEGRATION_GUIDE.md for complete examples.
     */
    formConfig?: PageSpeedFormConfig;
    /**
     * Optional custom submission handler.
     */
    onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
    /**
     * Optional success callback invoked after successful submission.
     */
    onSuccess?: (data: unknown) => void;
    /**
     * Optional error callback invoked if submission fails.
     */
    onError?: (error: Error) => void;
}
/**
 * ContactCatering - A comprehensive catering inquiry form with event type selection,
 * guest count, dietary restrictions, and event details. Perfect for catering services
 * and event planning businesses.
 *
 * @example
 * ```tsx
 * <ContactCatering
 *   heading="Catering Inquiry"
 *   description="Let us make your event unforgettable with our catering services."
 *   buttonText="Request Quote"
 *   formConfig={{ endpoint: "/api/catering", format: "json" }}
 * />
 * ```
 */
declare function ContactCatering({ heading, description, buttonText, buttonIcon, actions, actionsSlot, formFields, successMessage, className, spacing, containerClassName, headerClassName, headingClassName, descriptionClassName, cardClassName, cardContentClassName, formClassName, successMessageClassName, errorMessageClassName, submitClassName, background, pattern, patternOpacity, formConfig, onSubmit, onSuccess, onError, }: ContactCateringProps): React.JSX.Element;

export { ContactCatering, type ContactCateringProps };
