import * as React from 'react'; import { NodeView, EditorView } from "prosemirror-view"; import { handleContentDOMRef } from "./Types"; import { Node } from "prosemirror-model"; import { PluginConfig } from './plugins'; export declare class ReactNodeView implements NodeView { dom: HTMLElement; contentDOM?: HTMLElement | null; attrs?: any; private readonly key; readonly view: EditorView; node: Node; readonly pluginConfig: PluginConfig; readonly getPos: () => number; constructor(key: string, node: Node, view: EditorView, pluginConfig: PluginConfig, getPos: () => number, attrs?: any); private init; static generateId(): string; update(node: Node): boolean; destroy(): void; ignoreMutation(record: MutationRecord | { type: "selection"; target: Element; }): boolean; /** * Update this view's attributes. This will trigger a re-render for the react component * @param attrs An attrs object which will be passed to the reactComponent() method */ updateAttrs(attrs: any): void; /** * Method that is used to create the DOM element where the react component is going to sit in. */ createDOMElement(): HTMLElement; /** * An optional method that is used to create the content DOM element where editor will render the schema into. */ createContentDOMElement(): HTMLElement | undefined; /** * Method that returns a react component that will be used to render * @param attrs Attrs object created from updateAttrs or on init * @param handleContentDOMRef A react ref used to place contentDOM inside the react component */ reactComponent(attrs?: any, handleContentDOMRef?: handleContentDOMRef): React.ReactElement; private renderReactComponent; private handleContentDOMRef; }