/**
 * Markup Processors Module
 *
 * Processors for markup-based file formats that are processed as TEXT
 * rather than binary data. This includes:
 * - SVG files (XML-based, despite being in image/* MIME type)
 * - HTML files (web pages with text extraction)
 * - Markdown files (documentation with structure analysis)
 *
 * @module processors/markup
 *
 * @example
 * ```typescript
 * import {
 *   // SVG Processor
 *   SvgProcessor,
 *   svgProcessor,
 *   isSvgFile,
 *   processSvg,
 *   type ProcessedSvg,
 *
 *   // HTML Processor
 *   HtmlProcessor,
 *   htmlProcessor,
 *   isHtmlFile,
 *   processHtml,
 *   type ProcessedHtml,
 *
 *   // Markdown Processor
 *   MarkdownProcessor,
 *   markdownProcessor,
 *   isMarkdownFile,
 *   processMarkdown,
 *   type ProcessedMarkdown,
 * } from "./markup/index.js";
 *
 * // Process an SVG file
 * if (isSvgFile(mimetype, filename)) {
 *   const result = await processSvg(fileInfo);
 *   if (result.success) {
 *     console.log(result.data.textContent);
 *   }
 * }
 *
 * // Process an HTML file
 * if (isHtmlFile(mimetype, filename)) {
 *   const result = await processHtml(fileInfo);
 *   if (result.success) {
 *     console.log('Title:', result.data.title);
 *     console.log('Text:', result.data.textContent);
 *   }
 * }
 *
 * // Process a Markdown file
 * if (isMarkdownFile(mimetype, filename)) {
 *   const result = await processMarkdown(fileInfo);
 *   if (result.success) {
 *     console.log('Headings:', result.data.headings);
 *   }
 * }
 * ```
 */
export { isSvgFile, type ProcessedSvg, processSvg, SvgProcessor, svgProcessor, validateSvgSize, } from "./SvgProcessor.js";
export { HtmlProcessor, htmlProcessor, isHtmlFile, type ProcessedHtml, processHtml, validateHtmlSize, } from "./HtmlProcessor.js";
export { isMarkdownFile, MarkdownProcessor, markdownProcessor, type ProcessedMarkdown, processMarkdown, validateMarkdownSize, } from "./MarkdownProcessor.js";
export { isTextFile, type ProcessedText, processText, TextProcessor, textProcessor, } from "./TextProcessor.js";
