import type { Root } from 'mdast';
import type { Plugin } from 'unified';
export type MdxishScope = Record<string, unknown>;
declare module 'vfile' {
    interface DataMap {
        mdxishScope?: MdxishScope;
    }
}
declare module 'hast' {
    interface RootData {
        mdxishScope?: MdxishScope;
    }
}
/**
 * Evaluate `export const/function` declarations introduced by mdxjsEsm nodes.
 *
 * Walks each mdxjsEsm node's estree to gather all export declarations while
 * stripping the `export` statements. All declarations are then evaluated in a
 * single sandboxed Function so that they can reference one another regardless
 * of source order. Every resulting binding lands in a flat scope record —
 * components, helpers, and plain values share the same map.
 *
 * Any evaluation error is consumed and logged. We don't throw because it's
 * against the spirit of this engine to be less permissive than MDX needs.
 */
declare const evaluateExports: Plugin<[], Root>;
export default evaluateExports;
