import Keymap from 'browserkeymap'; import { Plugin, ProseMirror, Schema } from '../../prosemirror'; import { EmojiNodeType, EmojiQueryMarkType } from '../../schema'; export declare type StateChangeHandler = (state: EmojisPluginState) => any; export declare class EmojisPluginState { private pm; private hasKeymap; private changeHandlers; query?: string; queryActive: boolean; anchorElement?: HTMLElement; keymap: Keymap; onSelectPrevious: () => void; onSelectNext: () => void; onSelectCurrent: () => void; constructor(pm: PM); private update(); dismiss(): void; private findEmojiQueryMark(); insertEmoji(emojiData?: Emoji): void; subscribe(cb: StateChangeHandler): void; unsubscribe(cb: StateChangeHandler): void; } declare var _default: Plugin; export default _default; export interface Emoji { id: string; name?: string; shortcut: string; } export interface S extends Schema { nodes: { emoji?: EmojiNodeType; }; marks: { emoji_query: EmojiQueryMarkType; }; } export interface PM extends ProseMirror { schema: S; }