/// <reference types="react" />
import { PureComponent } from 'react';
import { EditorView, PluginKey } from '../../prosemirror';
import { EmojiProvider } from '@atlaskit/emoji';
export interface Props {
    editorView: EditorView;
    pluginKey: PluginKey;
    emojiProvider: Promise<EmojiProvider>;
    /**
     * The number of secondary toolbar buttons between and including ToolbarEmojiPicker and the right edge of the editor
     * This must be passed in by the integrator (e.g. SecondaryToolbar) that contains the buttons
     * TODO: Implement a better solution as part of ED-2565
     */
    numFollowingButtons: number;
}
export interface State {
    button?: HTMLElement;
    disabled?: boolean;
    isOpen: boolean;
}
export default class ToolbarEmojiPicker extends PureComponent<Props, State> {
    private pickerRef;
    private buttonRef;
    private pluginState?;
    state: State;
    componentWillMount(): void;
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    private setPluginState(props);
    private handlePluginStateChange;
    private handleButtonRef;
    private onPickerRef;
    private close;
    private toggleOpen;
    private handleClickOutside;
    private renderPopup();
    render(): JSX.Element;
    private renderTrigger(content, trigger);
    private getOffsetX;
    private handleSelectedEmoji;
}
