import * as React from 'react';
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-BeWIIjA4.js';
import 'react/jsx-runtime';
import './blocks-k17uluAz.js';
import 'class-variance-authority';
import './button-variants-lRElsmTc.js';
import 'class-variance-authority/types';

interface AlternatingBlockSection {
    content: React.ReactNode;
    media: React.ReactNode;
    mediaLeft?: boolean;
}
interface AlternatingBlocksProps {
    /**
     * Array of sections to display with alternating layout
     */
    sections?: AlternatingBlockSection[];
    /**
     * Custom slot for rendering sections (overrides sections array)
     */
    sectionsSlot?: React.ReactNode;
    /**
     * Section title (optional)
     */
    title?: React.ReactNode;
    /**
     * Section subtitle/eyebrow (optional)
     */
    subtitle?: React.ReactNode;
    /**
     * Background style variant
     * @default "white"
     */
    background?: SectionBackground;
    /**
     * Vertical spacing variant
     * @default "lg"
     */
    spacing?: SectionSpacing;
    /**
     * Additional CSS classes for the Section wrapper
     */
    className?: string;
    /**
     * Additional CSS classes for the content container
     */
    contentClassName?: string;
    /**
     * Additional CSS classes for the sections container
     */
    sectionsClassName?: string;
    /**
     * Additional CSS classes for each section item
     */
    sectionItemClassName?: string;
    /**
     * Additional CSS classes for the content column
     */
    sectionContentClassName?: string;
    /**
     * Additional CSS classes for the media column
     */
    sectionMediaClassName?: string;
    /**
     * Pattern background key or URL
     */
    pattern?: PatternName | undefined;
    /**
     * Pattern opacity (0-1)
     */
    patternOpacity?: number;
}
/**
 * AlternatingBlocks component displays content sections with alternating media placement.
 * Uses the Section component for consistent spacing, backgrounds, and optional titles.
 *
 * @example
 * ```tsx
 * <AlternatingBlocks
 *   title="Our Story"
 *   subtitle="About Us"
 *   background="gray"
 *   spacing="xl"
 *   sections={[
 *     {
 *       content: <div><h3>Title</h3><p>Description</p></div>,
 *       media: <img src="..." alt="..." />,
 *       mediaLeft: false
 *     }
 *   ]}
 * />
 * ```
 */
declare function AlternatingBlocks({ sections, sectionsSlot, title, subtitle, background, spacing, className, contentClassName, sectionsClassName, sectionItemClassName, sectionContentClassName, sectionMediaClassName, pattern, patternOpacity, }: AlternatingBlocksProps): React.JSX.Element;

export { type AlternatingBlockSection, AlternatingBlocks, type AlternatingBlocksProps };
