import { ProviderFactory } from '@uidu/editor-common';
import { EditorView } from 'prosemirror-view';
import React from 'react';
import EditorActions from '../../actions';
import { EventDispatcher } from '../../event-dispatcher';
import { DispatchAnalyticsEvent } from '../../plugins/analytics';
import { EditorAppearance, UIComponentFactory } from '../../types';
export interface Props {
    items?: Array<UIComponentFactory>;
    editorView?: EditorView;
    editorActions?: EditorActions;
    eventDispatcher?: EventDispatcher;
    providerFactory: ProviderFactory;
    appearance?: EditorAppearance;
    popupsMountPoint?: HTMLElement;
    popupsBoundariesElement?: HTMLElement;
    popupsScrollableElement?: HTMLElement;
    containerElement: HTMLElement | null;
    disabled: boolean;
    dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
    contentArea?: HTMLElement;
}
export default class PluginSlot extends React.Component<Props, any> {
    static displayName: string;
    transitionEvent: "transitionend";
    shouldComponentUpdate(nextProps: Props): boolean;
    componentDidMount(): void;
    UNSAFE_componentWillReceiveProps(nextProps: Props): void;
    componentWillUnmount(): void;
    forceComponentUpdate: (event: TransitionEvent) => void;
    removeModeChangeListener: (contentArea?: HTMLElement) => void;
    addModeChangeListener: (contentArea?: HTMLElement) => void;
    render(): React.JSX.Element;
}
