/**
 * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
/**
 * Object type returned by EmojiIndex
 * (keep only required properties)
 */
type EmojiData = {
    id: string;
};
/**
 * Skin tones supported by Unicode Emojis (Fitzpatrick scale)
 * The numeric values align with `emoji-mart-vue`
 */
export declare enum EmojiSkinTone {
    Neutral = 1,
    Light = 2,
    MediumLight = 3,
    Medium = 4,
    MediumDark = 5,
    Dark = 6
}
/**
 * Get the list of emojis by search filter or the list of frequently used emojis
 *
 * @param query Emoji search filter string; if no string or empty string is given, the list of frequently used emojis is returned
 * @param maxResults Maximum of returned emojis
 * @return list of found emojis in the same format as the emoji-mart-vue-fast's EmojiIndex
 */
export declare function emojiSearch(query: string, maxResults?: number): object[];
/**
 * Add emoji to the list of recent emojis.
 * This list can be got from emojiSearch function and it is used in NcEmojiPicker.
 *
 * @param emojiOrEmojiData object with `id` property, or emoji string. When string provided, object is looked up in EmojiIndex
 * @param emojiOrEmojiData.id the emoji ID from emoji index. Mandatory property to modify 'frequently' array
 */
export declare function emojiAddRecent(emojiOrEmojiData: EmojiData | string | null): void;
/**
 * Get the current skin tone index used for emojis
 *
 * @return The skin tone
 */
export declare function getCurrentSkinTone(): EmojiSkinTone;
/**
 * Set the current active skin tone for emojis
 *
 * @param skinTone Skin tone
 */
export declare function setCurrentSkinTone(skinTone: EmojiSkinTone): void;
export {};
