import * as React from 'react';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives-RgHoLtLt.js';
import { A as ActionConfig } from './blocks-DL92rOxr.js';
import 'react/jsx-runtime';
import 'class-variance-authority';
import '@page-speed/pressable';
import '@opensite/hooks/usePlatformFromUrl';

/**
 * Service item configuration for two-column grid display
 */
interface ServicesListTwoColumnGridService {
    /**
     * Custom icon element (takes precedence over iconName)
     */
    icon?: React.ReactNode;
    /**
     * Icon name for DynamicIcon
     */
    iconName?: string;
    /**
     * Service title
     */
    title?: React.ReactNode;
    /**
     * Service description
     */
    description?: React.ReactNode;
    /**
     * CTA URL
     */
    ctaUrl?: string;
    /**
     * CTA click handler
     */
    ctaOnClick?: () => void;
    /**
     * Additional CSS classes for the card
     */
    className?: string;
}
interface ServicesListTwoColumnGridProps {
    /**
     * Badge text
     */
    badge?: React.ReactNode;
    /**
     * 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 rendering actions (overrides primaryAction/secondaryAction)
     */
    actionsSlot?: React.ReactNode;
    /**
     * Array of service configurations
     */
    services?: ServicesListTwoColumnGridService[];
    /**
     * 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 column
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the heading
     */
    headingClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the grid
     */
    gridClassName?: string;
    /**
     * Additional CSS classes for each card
     */
    cardClassName?: string;
    /**
     * Additional CSS classes for the icon container
     */
    iconClassName?: 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;
}
/**
 * ServicesListTwoColumnGrid - A 2-column layout with introductory content on the left and a 2x2 service grid on the right.
 * The left column features a badge, title, description, and dual CTA buttons.
 * The right column displays services as bordered cards with icons and hover effects.
 * Ideal for presenting services alongside compelling marketing copy.
 *
 * @example
 * ```tsx
 * <ServicesListTwoColumnGrid
 *   badge="Services"
 *   heading="Everything You Need"
 *   description="Comprehensive digital solutions."
 *   primaryAction={{ label: "Get Started", href: "#" }}
 *   services={[{ iconName: "lucide/code", title: "Web Dev", description: "Custom websites" }]}
 *   background="white"
 *   spacing="lg"
 * />
 * ```
 */
declare function ServicesListTwoColumnGrid({ badge, heading, description, primaryAction, secondaryAction, actionsSlot, services, servicesSlot, className, containerClassName, contentClassName, headingClassName, descriptionClassName, gridClassName, cardClassName, iconClassName, background, spacing, pattern, patternOpacity, }: ServicesListTwoColumnGridProps): React.JSX.Element;

export { ServicesListTwoColumnGrid, type ServicesListTwoColumnGridProps };
