import * as _udecode_plate_core from '@udecode/plate-core';
import { EmojiMartData, Emoji } from '@emoji-mart/data';
export { Emoji } from '@emoji-mart/data';
import { PluginConfig, Descendant, SlateEditor } from '@udecode/plate';
import { TriggerComboboxPluginOptions } from '@udecode/plate-combobox';
import { E as EmojiCategoryList, a as EmojiSettingsType, F as FrequentEmojis, i as i18nProps, A as AIndexSearch, I as IEmojiLibrary } from './IndexSearch-CHpcU-x-.mjs';
export { n as AGridSection, b as EmojiCategory, c as EmojiIconList, d as EmojiInlineLibrary, e as EmojiLibrary, f as Emojis, G as Grid, g as GridElements, h as GridRow, j as GridRows, k as IGrid, l as IGridSection, S as SectionElements, m as SectionId, T as THash, U as Unknown } from './IndexSearch-CHpcU-x-.mjs';

type EmojiInputConfig = PluginConfig<'emoji', {
    /**
     * The emoji data.
     *
     * @example
     *   import emojiMartData from '@emoji-mart/data';
     */
    data?: EmojiMartData;
    createEmojiNode?: (emoji: Emoji) => Descendant;
} & TriggerComboboxPluginOptions>;
declare const BaseEmojiInputPlugin: _udecode_plate_core.SlatePlugin<PluginConfig<"emoji_input", {}, {}, {}, {}>>;
declare const BaseEmojiPlugin: _udecode_plate_core.SlatePlugin<EmojiInputConfig>;

declare const EMOJI_MAX_SEARCH_RESULT = 60;
declare const DEFAULT_EMOJI_LIBRARY: EmojiMartData;
declare const defaultCategories: EmojiCategoryList[];
declare const EmojiSettings: EmojiSettingsType;
declare const DEFAULT_FREQUENTLY_USED_EMOJI: FrequentEmojis;
declare const NUM_OF_CATEGORIES: number;
declare const i18n: i18nProps;

declare const insertEmoji: <TEmoji extends Emoji = Emoji>(editor: SlateEditor, emoji: TEmoji) => void;

declare class EmojiFloatingIndexSearch extends AIndexSearch {
    protected library: IEmojiLibrary;
    protected static instance?: EmojiFloatingIndexSearch;
    private constructor();
    static getInstance(library: IEmojiLibrary): EmojiFloatingIndexSearch;
}

declare class EmojiInlineIndexSearch extends AIndexSearch {
    protected library: IEmojiLibrary;
    protected static instance?: EmojiInlineIndexSearch;
    private constructor();
    static getInstance(data?: EmojiMartData): EmojiInlineIndexSearch;
}

export { AIndexSearch, BaseEmojiInputPlugin, BaseEmojiPlugin, DEFAULT_EMOJI_LIBRARY, DEFAULT_FREQUENTLY_USED_EMOJI, EMOJI_MAX_SEARCH_RESULT, EmojiCategoryList, EmojiFloatingIndexSearch, EmojiInlineIndexSearch, type EmojiInputConfig, EmojiSettings, EmojiSettingsType, FrequentEmojis, IEmojiLibrary, NUM_OF_CATEGORIES, defaultCategories, i18n, i18nProps, insertEmoji };
