import type { Parent } from 'mdast'; import type { MdxJsxAttribute } from 'mdast-util-mdx-jsx'; import type { Plugin } from 'unified'; /** * Convert raw attribute string into mdxJsxAttribute entries. * Handles both key-value attributes (theme="info") and boolean attributes (empty). */ export declare const parseAttributes: (raw: string) => MdxJsxAttribute[]; /** * Transform PascalCase HTML nodes into mdxJsxFlowElement nodes. * * Remark parses unknown/custom component tags as raw HTML nodes. * These are the custom readme MDX syntax for components. * This transformer identifies these patterns and converts them to proper MDX JSX elements so they * can be accurately recognized and rendered later with their component definition code. * Though for some tags, we need to handle them specially * * ## Supported HTML Structures * * ### 1. Self-closing tags * ``` * * ``` * Parsed as: `html: ""` * * ### 2. Self-contained blocks (entire component in single HTML node) * ``` * * ``` * ``` * *

Title

*

Content

*
* ``` * Parsed as: `html: "\n

Title

\n

Content

\n
"` * The opening tag, content, and closing tag are all captured in one HTML node. * * ### 3. Multi-sibling components (closing tag in a following sibling) * Handles various structures where the closing tag is in a later sibling, such as: * * #### 3a. Block components (closing tag in sibling paragraph) * ``` * * Some **markdown** content * * ``` * * #### 3b. Multi-paragraph components (closing tag several siblings away) * ``` * * * First paragraph * * Second paragraph * * ``` * * #### 3c. Nested components split by blank lines (closing tag embedded in HTML sibling) * ``` * * content * * content * * ``` */ declare const mdxishComponentBlocks: Plugin<[], Parent>; export default mdxishComponentBlocks;