import { ExtensionHandlers, ExtensionProvider } from '@uidu/editor-common';
import { Node as PMNode } from 'prosemirror-model';
import { EditorView } from 'prosemirror-view';
import React, { Component } from 'react';
export interface Props {
    editorView: EditorView;
    node: PMNode;
    handleContentDOMRef: (node: HTMLElement | null) => void;
    extensionHandlers: ExtensionHandlers;
    extensionProvider?: Promise<ExtensionProvider>;
}
export interface State {
    extensionProvider?: ExtensionProvider;
    extensionHandlersFromProvider?: ExtensionHandlers;
}
export default class ExtensionComponent extends Component<Props, State> {
    state: State;
    mounted: boolean;
    UNSAFE_componentWillMount(): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    UNSAFE_componentWillReceiveProps(nextProps: Props): void;
    render(): React.JSX.Element;
    private setStateFromPromise;
    private handleSelectExtension;
    private tryExtensionHandler;
    private handleExtension;
}
