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-RgHoLtLt.js';
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-DL92rOxr.js';
import 'class-variance-authority';
import '@page-speed/pressable';
import '@opensite/hooks/usePlatformFromUrl';

interface ArticleTocSection {
    id: string;
    title: string;
}
interface ArticleTocSidebarProps {
    /**
     * Additional CSS classes for the section
     */
    className?: string;
    /**
     * Additional CSS classes for the container
     */
    containerClassName?: string;
    /**
     * Additional CSS classes for the article content
     */
    articleClassName?: string;
    /**
     * Additional CSS classes for the sidebar
     */
    sidebarClassName?: 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 info
     */
    authorClassName?: string;
    /**
     * Additional CSS classes for the TOC
     */
    tocClassName?: string;
    /**
     * Additional CSS classes for the CTA section
     */
    ctaClassName?: string;
    /**
     * Additional CSS classes for the hero image
     */
    heroImageClassName?: string;
    /**
     * Article title
     */
    title?: React.ReactNode;
    /**
     * Article description
     */
    description?: React.ReactNode;
    /**
     * Author name
     */
    authorName?: string;
    /**
     * Author image URL
     */
    authorImage?: string;
    /**
     * Author profile href
     */
    authorHref?: string;
    /**
     * Publish date string
     */
    publishDate?: React.ReactNode;
    /**
     * Read time string
     */
    readTime?: React.ReactNode;
    /**
     * Custom slot for author info (overrides author props)
     */
    authorSlot?: React.ReactNode;
    /**
     * Category badge text
     */
    category?: React.ReactNode;
    /**
     * Custom slot for category badge (overrides category)
     */
    categorySlot?: React.ReactNode;
    /**
     * TOC sections array
     */
    sections?: ArticleTocSection[];
    /**
     * Custom slot for TOC (overrides sections array)
     */
    tocSlot?: React.ReactNode;
    /**
     * Render callback for section links (overrides default rendering)
     */
    renderSectionLink?: (section: ArticleTocSection, isActive: boolean) => React.ReactNode;
    /**
     * Hero image source URL
     */
    heroImageSrc?: string;
    /**
     * Hero image alt text
     */
    heroImageAlt?: string;
    /**
     * Custom slot for hero media (overrides heroImageSrc)
     */
    heroMediaSlot?: React.ReactNode;
    /**
     * CTA section title
     */
    ctaTitle?: React.ReactNode;
    /**
     * CTA section description
     */
    ctaDescription?: React.ReactNode;
    /**
     * CTA actions
     */
    ctaActions?: ActionConfig[];
    /**
     * Custom slot for CTA section (overrides CTA props)
     */
    ctaSlot?: React.ReactNode;
    /**
     * Article body content (replaces hardcoded prose)
     */
    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;
    /**
     * Enable scroll-based section tracking
     * @default true
     */
    enableTocTracking?: boolean;
    /**
     * 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;
    /**
     * Additional CSS classes for the pattern overlay
     */
    patternClassName?: string;
}
declare function ArticleTocSidebarComponent({ className, articleClassName, sidebarClassName, headerClassName, titleClassName, descriptionClassName, authorClassName, tocClassName, ctaClassName, heroImageClassName, title, description, authorName, authorImage, authorHref, publishDate, readTime, authorSlot, category, categorySlot, sections, tocSlot, renderSectionLink, heroImageSrc, heroImageAlt, heroMediaSlot, ctaTitle, ctaDescription, ctaActions, ctaSlot, children, renderMode, markdownString, markdownStyles, enableTocTracking, optixFlowConfig, background, containerClassName, spacing, pattern, patternOpacity, patternClassName, }: ArticleTocSidebarProps): react_jsx_runtime.JSX.Element;

export { type ArticleTocSection, ArticleTocSidebarComponent as ArticleTocSidebar, type ArticleTocSidebarProps };
