import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { MarkdownStylesMap } from '@page-speed/markdown-to-jsx';
import { S as SectionBackground, s as SectionSpacing, t as PatternName } from './community-initiatives--8cXayNa.js';
import { O as OptixFlowConfig } from './blocks-DCvdF54D.js';
import 'class-variance-authority';
import '@page-speed/pressable';
import '@opensite/hooks/usePlatformFromUrl';

interface ArticleHeroProsePost {
    title?: string;
    authorName?: string;
    authorHref?: string;
    image?: string;
    pubDate?: Date;
    description?: string;
    authorImage?: string;
}
interface ArticleHeroProseProps {
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the header section
     */
    headerClassName?: string;
    /**
     * Additional CSS classes for the title
     */
    titleClassName?: string;
    /**
     * Additional CSS classes for the description
     */
    descriptionClassName?: string;
    /**
     * Additional CSS classes for the author information
     */
    authorClassName?: string;
    /**
     * Additional CSS classes for the hero media
     */
    heroImageClassName?: string;
    /**
     * Additional CSS classes for the prose content
     */
    proseClassName?: string;
    /**
     * Content metadata (title, author, media, etc.)
     */
    post?: ArticleHeroProsePost;
    /**
     * Custom slot for hero media (overrides post.image)
     */
    heroMediaSlot?: React.ReactNode;
    /**
     * Custom slot for author information (overrides post author fields)
     */
    authorSlot?: React.ReactNode;
    /**
     * Main body content
     */
    children?: React.ReactNode;
    /**
     * Render mode for content
     * @default "jsx"
     */
    renderMode?: "jsx" | "markdown";
    /**
     * Markdown string to render (when renderMode is "markdown")
     */
    markdownString?: string;
    /**
     * Custom className mappings for markdown elements
     * @example { h2: 'text-3xl font-bold', img: 'rounded-lg shadow-md' }
     */
    markdownStyles?: MarkdownStylesMap;
    /**
     * Date format string (date-fns format)
     * @default "MMMM d, yyyy"
     */
    dateFormat?: string;
    /**
     * OptixFlow image optimization configuration
     */
    optixFlowConfig?: OptixFlowConfig;
    /**
     * Background style for the section
     */
    background?: SectionBackground;
    /**
     * Vertical spacing for the section
     */
    spacing?: SectionSpacing;
    /**
     * Background pattern
     */
    pattern?: PatternName;
    /**
     * Pattern opacity (0-1)
     */
    patternOpacity?: number;
    /** Optional Section ID */
    sectionId?: string;
}
declare function ArticleHeroProseComponent({ sectionId, post, className, headerClassName, titleClassName, descriptionClassName, authorClassName, heroImageClassName, proseClassName, heroMediaSlot, authorSlot, children, renderMode, markdownString, markdownStyles, dateFormat, optixFlowConfig, background, containerClassName, spacing, pattern, patternOpacity, }: ArticleHeroProseProps): react_jsx_runtime.JSX.Element;

export { ArticleHeroProseComponent as ArticleHeroProse, type ArticleHeroProsePost, type ArticleHeroProseProps };
