import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-rTRuDt0r.js';
import { A as ActionConfig, O as OptixFlowConfig } 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';

/**
 * Service item configuration for image cards display
 */
interface ServicesListImageCardsService {
    /**
     * Service title
     */
    title?: React.ReactNode;
    /**
     * Service description
     */
    description?: React.ReactNode;
    /**
     * Service image
     */
    image?: {
        src: string;
        alt: string;
    };
    /**
     * CTA button text
     */
    ctaText?: React.ReactNode;
    /**
     * CTA button URL
     */
    ctaUrl?: string;
    /**
     * CTA click handler
     */
    ctaOnClick?: () => void;
    /**
     * Additional CSS classes for the card
     */
    className?: string;
}
interface ServicesListImageCardsProps {
    /**
     * Main heading content
     */
    heading?: React.ReactNode;
    /**
     * Supporting description content
     */
    description?: React.ReactNode;
    /**
     * Primary CTA configuration
     */
    primaryAction?: ActionConfig;
    /**
     * Secondary CTA configuration
     */
    secondaryAction?: ActionConfig;
    /**
     * Custom slot for actions (overrides primaryAction/secondaryAction)
     */
    actionsSlot?: React.ReactNode;
    /**
     * Array of service configurations
     */
    services?: ServicesListImageCardsService[];
    /**
     * Custom slot for rendering services (overrides services array)
     */
    servicesSlot?: React.ReactNode;
    /**
     * Additional CSS classes for the section wrapper
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the content area
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the actions container
     */
    actionsClassName?: string;
    /**
     * Additional CSS classes for the grid
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for each card
     */
    cardClassName?: 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;
    /**
     * OptixFlow image optimization configuration
     */
    optixFlowConfig?: OptixFlowConfig;
}
/**
 * ServicesListImageCards - An asymmetric layout with introductory text on the left and 2 featured service cards on the right.
 * Each service card features a large image overlay with gradient, title, description, and CTA link.
 * Perfect for showcasing 2-3 primary services with strong visual impact and clear calls to action.
 *
 * @example
 * ```tsx
 * <ServicesListImageCards
 *   heading="Transform Your Digital Presence"
 *   description="We specialize in creating digital experiences."
 *   primaryAction={{ label: "Get Started", href: "#" }}
 *   services={[{ title: "Web Dev", description: "Custom websites" }]}
 *   background="white"
 *   spacing="lg"
 * />
 * ```
 */
declare function ServicesListImageCards({ heading, description, primaryAction, secondaryAction, actionsSlot, services, servicesSlot, className, containerClassName, contentClassName, headingClassName, descriptionClassName, actionsClassName, gridClassName, cardClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: ServicesListImageCardsProps): React.JSX.Element;

export { ServicesListImageCards, type ServicesListImageCardsProps };
