import { MarkdownProcessorOptions } from "./processor.js";
import { FC } from "react";
import { LocalesValues } from "@intlayer/types";

//#region src/components/MarkDownRender/MarkDownRender.d.ts
type MarkdownRendererProps = {
  children: string;
  isDarkMode?: boolean;
  locale?: LocalesValues;
  options?: MarkdownProcessorOptions;
};
/**
 * MarkdownRenderer Component
 *
 * A comprehensive markdown renderer that transforms markdown text into rich,
 * interactive HTML with custom styling and Intlayer integration. Supports
 * code syntax highlighting, responsive tables, internationalized links,
 * and automatic frontmatter stripping.
 *
 * @component
 * @example
 * Basic usage:
 * ```tsx
 * const markdownContent = `
 * # Hello World
 * This is **bold** and *italic* text.
 * `;
 *
 * <MarkdownRenderer>{markdownContent}</MarkdownRenderer>
 * ```
 *
 * @example
 * With dark mode:
 * ```tsx
 * const codeExample = `
 * # API Documentation
 * \`\`\`javascript
 * const response = await fetch('/api/data');
 * const data = await response.json();
 * \`\`\`
 * `;
 *
 * <MarkdownRenderer isDarkMode={true}>
 *   {codeExample}
 * </MarkdownRenderer>
 * ```
 *
 * @example
 * With internationalized links:
 * ```tsx
 * const content = `
 * Visit our [documentation](/docs) for more information.
 * External link: [Google](https://google.com)
 * `;
 *
 * <MarkdownRenderer locale="fr">
 *   {content}
 * </MarkdownRenderer>
 * ```
 *
 * @example
 * With custom overrides:
 * ```tsx
 * const customOptions = {
 *   overrides: {
 *     h1: ({ children }) => (
 *       <h1 className="custom-title">{children}</h1>
 *     ),
 *   },
 * };
 *
 * <MarkdownRenderer options={customOptions}>
 *   {markdownContent}
 * </MarkdownRenderer>
 * ```
 *
 * @example
 * With frontmatter (automatically stripped):
 * ```tsx
 * const blogPost = `
 * ---
 * title: "My Blog Post"
 * date: "2023-12-01"
 * author: "John Doe"
 * ---
 * # My Blog Post
 * This content will be rendered without the frontmatter.
 * `;
 *
 * <MarkdownRenderer>{blogPost}</MarkdownRenderer>
 * ```
 *
 * Features:
 * - Automatic frontmatter detection and removal
 * - Syntax-highlighted code blocks with theme support
 * - Clickable headers with anchor links
 * - Internationalized link handling with locale awareness
 * - Responsive tables with hover effects
 * - Custom blockquote, list, and image styling
 * - External link detection and security attributes
 * - Inline code with distinctive styling
 * - Lazy-loaded images with GitHub raw URL support
 * - Horizontal rules with custom styling
 *
 * Supported Markdown Elements:
 * - Headers (h1-h4) with click-to-anchor functionality
 * - Code blocks with language-specific syntax highlighting
 * - Inline code with background styling
 * - Blockquotes with custom border and padding
 * - Ordered and unordered lists with custom spacing
 * - Links (internal and external) with security attributes
 * - Images with lazy loading and responsive sizing
 * - Tables with hover effects and proper styling
 * - Horizontal rules with custom appearance
 * - All standard markdown formatting (bold, italic, etc.)
 *
 * Code Block Support:
 * - Language detection from code fence info
 * - Syntax highlighting through Code component
 * - Dark/light mode theme switching
 * - Line numbers and copy functionality (via Code component)
 * - Support for popular languages (JS, TS, Python, etc.)
 *
 * Link Handling:
 * - Automatic external link detection (starts with 'http')
 * - Security attributes for external links (rel="noopener noreferrer")
 * - Locale-aware internal link routing
 * - Custom Link component integration
 * - Underlined styling for better visibility
 *
 * Image Processing:
 * - Automatic lazy loading for performance
 * - GitHub raw URL transformation for repository images
 * - Responsive sizing with max-width constraints
 * - Rounded corners for visual appeal
 *
 * Accessibility:
 * - Semantic HTML structure with proper heading hierarchy
 * - ARIA attributes through component integration
 * - Screen reader friendly link descriptions
 * - Keyboard navigation support
 * - High contrast styling options
 *
 * Performance:
 * - Lazy loading for images
 * - Efficient re-rendering with React memo patterns
 * - Code syntax highlighting with minimal bundle impact
 * - Optimized markdown parsing with markdown-to-jsx
 *
 * @param props - Component props
 * @param props.children - Raw markdown content to render
 * @param props.isDarkMode - Enable dark mode styling for code blocks
 * @param props.locale - Current locale for link internationalization
 * @param props.options - Additional markdown-to-jsx options
 * @param props.options.overrides - Custom component overrides for markdown elements
 *
 * @returns Rendered markdown content with custom styling and functionality
 */
declare const MarkdownRenderer: FC<MarkdownRendererProps>;
//#endregion
export { MarkdownRenderer };
//# sourceMappingURL=MarkDownRender.d.ts.map