import { ProviderFactory } from '@uidu/editor-common';
import { Node } from 'prosemirror-model';
import { EditorView } from 'prosemirror-view';
import { Component } from 'react';
import { DispatchAnalyticsEvent } from '../../analytics';
import { FloatingToolbarItem } from '../types';
export declare type Item = FloatingToolbarItem<Function>;
export interface Props {
    items: Array<Item>;
    dispatchCommand: (command?: Function) => void;
    popupsMountPoint?: HTMLElement;
    popupsBoundariesElement?: HTMLElement;
    popupsScrollableElement?: HTMLElement;
    providerFactory?: ProviderFactory;
    className?: string;
    focusEditor?: () => void;
    editorView?: EditorView;
    dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
    target?: HTMLElement;
    node: Node;
}
export declare const isSameItem: (leftItem: Item, rightItem: Item) => boolean;
export declare const areSameItems: (leftArr?: Array<Item>, rightArr?: Array<Item>) => boolean;
export default class Toolbar extends Component<Props> {
    shouldComponentUpdate(nextProps: Props): boolean;
    render(): JSX.Element;
}
