import * as React from 'react';

/**
 * Configuration for the testimonial section
 */
interface TestimonialConfig {
    /**
     * Testimonial quote text
     */
    quote: string;
    /**
     * Author name
     */
    author: string;
    /**
     * Author role/title
     */
    role: string;
    /**
     * Company name
     */
    company: string;
    /**
     * Avatar images for the testimonial
     */
    avatars: Array<{
        image: string;
        fallback: string;
    }>;
}
/**
 * Configuration for grid images
 */
interface GridImageConfig {
    /**
     * Image source URL
     */
    src: string;
    /**
     * Alt text for the image
     */
    alt?: string;
}
interface HeroTestimonialImageGridProps {
    /**
     * Main heading text
     */
    heading?: React.ReactNode;
    /**
     * Supporting description text
     */
    description?: React.ReactNode;
    /**
     * Primary button configuration
     */
    button?: {
        text: string;
        url: string;
    };
    /**
     * Custom slot for button (overrides button prop)
     */
    buttonSlot?: React.ReactNode;
    /**
     * Testimonial configuration
     */
    testimonial?: TestimonialConfig;
    /**
     * Custom slot for testimonial (overrides testimonial prop)
     */
    testimonialSlot?: React.ReactNode;
    /**
     * Grid images configuration (4 images for the grid)
     */
    gridImages?: GridImageConfig[];
    /**
     * Custom slot for images grid (overrides gridImages)
     */
    imagesSlot?: React.ReactNode;
    /**
     * Additional CSS classes for the section wrapper
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Optional Optix Flow configuration for image optimization
     */
    optixFlowConfig?: {
        apiKey: string;
        compression?: number;
    };
}
/**
 * HeroTestimonialImageGrid - A hero layout with heading, description, testimonial,
 * and a creative 2x2 image grid. Ideal for showcasing product features or portfolio work.
 */
declare function HeroTestimonialImageGrid({ heading, description, button, buttonSlot, testimonial, testimonialSlot, gridImages, imagesSlot, className, containerClassName, headingClassName, descriptionClassName, optixFlowConfig, }: HeroTestimonialImageGridProps): React.JSX.Element;

export { HeroTestimonialImageGrid, type HeroTestimonialImageGridProps };
