import * as react_jsx_runtime from 'react/jsx-runtime';
import { AllHTMLAttributes } from 'react';
import { Themes } from '../../constants.js';

declare enum Categories {
    Activity = "activity",
    Flags = "flags",
    Foods = "foods",
    Frequent = "frequent",
    Nature = "nature",
    Objects = "objects",
    People = "people",
    Places = "places",
    Symbols = "symbols"
}
declare const DEFAULT_CATEGORIES: Categories[];
declare enum Locales {
    Ar = "ar",
    Be = "be",
    Cs = "cs",
    De = "de",
    En = "en",
    Es = "es",
    Fa = "fa",
    Fi = "fi",
    Fr = "fr",
    Hi = "hi",
    It = "it",
    Ja = "ja",
    Ko = "ko",
    Nl = "nl",
    Pl = "pl",
    Pt = "pt",
    Ru = "ru",
    Sa = "sa",
    Tr = "tr",
    Uk = "uk",
    Vi = "vi",
    Zh = "zh"
}
declare const DEFAULT_LOCALE = Locales.En;
declare enum Positions {
    Bottom = "bottom",
    Top = "top"
}
declare const DEFAULT_NAV_POSITION = Positions.Top;
declare const DEFAULT_PREVIEW_POSITION = Positions.Bottom;
declare enum SearchPositions {
    Static = "static",
    Sticky = "sticky"
}
declare const DEFAULT_SEARCH_POSITION = SearchPositions.Sticky;
declare enum SkinTonePositions {
    Preview = "preview",
    Search = "search"
}
declare const DEFAULT_SKIN_TONE_POSITION = SkinTonePositions.Preview;
declare enum EmojisSets {
    Apple = "apple",
    Facebook = "facebook",
    Google = "google",
    Native = "native",
    Twitter = "twitter"
}
declare const DEFAULT_EMOJIS_SET = EmojisSets.Native;
declare const SKIN_TONES: readonly [1, 2, 3, 4, 5, 6];
type SkinTone = (typeof SKIN_TONES)[number];
declare const DEFAULT_SKIN_TONE: SkinTone;
declare const VERSIONS: readonly [1, 2, 3, 4, 5, 11, 12, 12.1, 13, 13.1, 14, 15];
type Version = (typeof VERSIONS)[number];
declare const DEFAULT_VERSION: Version;

type EmojisCategory = {
    emojis: Array<Emoji$1>;
    id: string;
    name: string;
};
type Emoji$1 = {
    id: string;
    name: string;
    native: string;
    shortcodes: string;
    unified: string;
    emoticons?: Array<string>;
    keywords?: Array<string>;
};
interface EmojiPickerProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'onSelect'> {
    set: `${EmojisSets}`;
    skinTone: SkinTone;
    autoFocus?: boolean;
    categories?: Array<`${Categories}`>;
    custom?: Array<EmojisCategory>;
    customIcon?: Record<string, {
        src: string;
    } | {
        svg: string;
    }>;
    exclude?: Array<string>;
    frequentsRowNumber?: number;
    locale?: `${Locales}`;
    navPosition?: `${Positions}` | false;
    perLine?: number;
    previewPosition?: `${Positions}` | false;
    search?: string;
    searchPosition?: `${SearchPositions}` | false;
    skinTonePosition?: `${SkinTonePositions}` | false;
    theme?: Themes;
    version?: Version;
    onClickOutside?: () => void;
    onSelect?: (emoji: Emoji$1) => void;
}
interface EmojiProps extends Omit<AllHTMLAttributes<HTMLDivElement>, 'size'> {
    set: `${EmojisSets}`;
    id?: string;
    native?: string;
    shortCode?: string;
    skinTone?: SkinTone;
}

declare const Emoji: {
    ({ id, native, set, shortCode, skinTone, ...props }: EmojiProps): react_jsx_runtime.JSX.Element;
    displayName: string;
};

declare const EmojiPicker: {
    ({ autoFocus, categories, custom, customIcon, exclude, frequentsRowNumber, locale, navPosition, onClickOutside, onSelect, perLine, previewPosition, search, searchPosition, set, skinTone, skinTonePosition, theme: themeOverride, version, ...props }: EmojiPickerProps): react_jsx_runtime.JSX.Element;
    displayName: string;
};

export { DEFAULT_CATEGORIES as DEFAULT_EMOJI_PICKER_CATEGORIES, DEFAULT_EMOJIS_SET as DEFAULT_EMOJI_PICKER_EMOJIS_SET, DEFAULT_VERSION as DEFAULT_EMOJI_PICKER_EMOJIS_VERSION, DEFAULT_LOCALE as DEFAULT_EMOJI_PICKER_LOCALE, DEFAULT_NAV_POSITION as DEFAULT_EMOJI_PICKER_NAV_POSITION, DEFAULT_PREVIEW_POSITION as DEFAULT_EMOJI_PICKER_PREVIEW_POSITION, DEFAULT_SEARCH_POSITION as DEFAULT_EMOJI_PICKER_SEARCH_POSITION, DEFAULT_SKIN_TONE as DEFAULT_EMOJI_PICKER_SKIN_TONE, DEFAULT_SKIN_TONE_POSITION as DEFAULT_EMOJI_PICKER_SKIN_TONE_POSITION, DEFAULT_SKIN_TONE as DEFAULT_EMOJI_SKIN_TONE, Emoji, EmojiPicker, Categories as EmojiPickerCategories, EmojisSets as EmojiPickerEmojisSets, VERSIONS as EmojiPickerEmojisVersions, Locales as EmojiPickerLocales, Positions as EmojiPickerNavPositions, Positions as EmojiPickerPreviewPositions, type EmojiPickerProps, SearchPositions as EmojiPickerSearchPositions, SkinTonePositions as EmojiPickerSkinTonePositions, SKIN_TONES as EmojiPickerSkinTones, type EmojiProps, SKIN_TONES as EmojiSkinTones, type Emoji$1 as EmojiType, type EmojisCategory, EmojisSets, SKIN_TONES as SkinTones };
