import type { Html, PhrasingContent } from 'mdast'; import type { MdxJsxAttribute, MdxJsxExpressionAttribute, MdxJsxTextElement } from 'mdast-util-mdx-jsx'; export type MdxAttributes = (MdxJsxAttribute | MdxJsxExpressionAttribute)[]; /** * Unified processor for re-parsing the body of an MDX component * Memoized based on the argument value so we don't pay the construction cost on every parse * Currently the argument is only safeMode, but we could add more arguments in the future, * in which case the key would need to be extend to include the new arguments. */ export declare const getInlineMdProcessor: ({ safeMode }?: { safeMode?: boolean; }) => import("unified").Processor; /** * True when a tag name starts with an uppercase letter — ReadMe's marker for * a custom MDX component (vs a lowercase HTML tag). */ export declare const isPascalCase: (tag: string) => boolean; /** * True when the attribute list contains at least one JSX expression value * (e.g. `href={url}`). The `mdxComponent` tokenizer only claims lowercase * tags when they carry one of these; both block transformers use the same * signal to decide eligibility. */ export declare const hasExpressionAttr: (attributes: MdxAttributes) => boolean; /** * Factory for the `mdxJsxTextElement` node shape. `position` is optional * because the two call sites differ: the tokenized-tag path carries the * original html node's position forward, while the sibling-merge path * composes children from pre-existing nodes with no outer position. */ export declare const toMdxJsxTextElement: (name: string, attributes: MdxAttributes, children: PhrasingContent[], position?: Html["position"]) => MdxJsxTextElement;