import React from "react";
import { Node as ProseMirrorNode } from "prosemirror-model";
import { EditorView, NodeView } from "prosemirror-view";
export interface ReactNodeViewProps {
    node: ProseMirrorNode;
    view: EditorView;
    getPos: () => number | undefined;
}
export type ReactNodeViewComponent = React.FC<ReactNodeViewProps>;
/**
 * A utility class that implements the ProseMirror NodeView interface but delegates rendering
 * to a React component.
 * Note: This uses createRoot, so it does not automatically inherit React Contexts.
 * If contexts are needed, wrap them manually or use a portal-based approach instead.
 */
export declare class ReactNodeView implements NodeView {
    node: ProseMirrorNode;
    view: EditorView;
    getPos: () => number | undefined;
    dom: HTMLElement;
    contentDOM?: HTMLElement;
    private root;
    private Component;
    constructor(node: ProseMirrorNode, view: EditorView, getPos: () => number | undefined, Component: ReactNodeViewComponent, as?: string, className?: string, contentDOMElement?: HTMLElement);
    private render;
    update(node: ProseMirrorNode): boolean;
    destroy(): void;
    ignoreMutation(mutation: any): boolean;
}
