import React from 'react'; import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher'; import type { PortalProviderAPI } from '@atlaskit/editor-common/portal'; import type { ForwardRef, ReactComponentProps, shouldUpdate } from '@atlaskit/editor-common/react-node-view'; import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view'; import type { ExtractInjectionAPI, getPosHandler } from '@atlaskit/editor-common/types'; import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { EditorView } from '@atlaskit/editor-prosemirror/view'; import type { CaptionPlugin } from '../captionPluginType'; export declare class CaptionNodeView extends SelectionBasedNodeView { private selected; private cleanupEditorDisabledListener?; pluginInjectionApi?: ExtractInjectionAPI; constructor(node: PMNode, view: EditorView, getPos: getPosHandler, portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, reactComponentProps: ReactComponentProps, reactComponent?: React.ComponentType>, viewShouldUpdate?: shouldUpdate, pluginInjectionApi?: ExtractInjectionAPI); createDomRef(): HTMLElement; getContentDOM(): { dom: HTMLDivElement; }; ignoreMutation(mutation: MutationRecord | { target: Node; type: 'selection'; }): boolean; handleEditorDisabledChanged(): void; render(_props: never, forwardRef: ForwardRef): React.JSX.Element; viewShouldUpdate(nextNode: PMNode): boolean; destroy(): void; } export default function captionNodeView(portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, pluginInjectionApi: ExtractInjectionAPI | undefined): (node: PMNode, view: EditorView, getPos: getPosHandler) => CaptionNodeView;