import type { Root } from 'hast';
import type { Plugin } from 'unified';
/**
 * Resolve attribute expressions that `mdxJsxElementHandler` deferred.
 *
 * The handler stashed each attribute expression's source in `node.data.deferredExpressions`
 * (keyed by prop name) instead of evaluating eagerly, because an eager result can be a React
 * element or function that rehypeRaw's `structuredClone` passthrough rejects. Now that we're
 * past the clone, evaluate each source with a scope of `{ React, ...mdxishScope }` and write
 * the real value into `properties` (e.g. an array of objects whose fields are React elements).
 *
 * Must run after `rehypeRaw` (past the clone) but before `normalizeMdxJsxNodes` rewrites these
 * `mdx-jsx` nodes into plain elements. Skipped in safeMode, which keeps expressions literal.
 */
declare const resolveDeferredAttributeExpressionProps: Plugin<[], Root>;
export default resolveDeferredAttributeExpressionProps;
