import type { JSX, Resource } from 'solid-js'; export declare function setCDN(url: string): void; export declare function setComponentsURL(url: string): void; export declare function setEmojiURL(url: string): void; export declare function setEmojiGroupURL(url: string): void; export interface Emoji { emoji: string; skin_tone_support: boolean; name: string; slug: string; unicode_version: string; emoji_version: string; } export type EmojiData = Record; export interface EmojiGroupData { name: string; slug: string; emojis: Emoji[]; } export type EmojiComponents = Record; export declare function loadEmojiData(): Promise; export declare function loadEmojiGroupData(): Promise; export declare function loadEmojiComponents(): Promise; export declare function setEmojiData(data: EmojiData): void; export declare function setEmojiComponents(data: EmojiComponents): void; export declare function useEmojiData(): Resource; export declare function useEmojiComponents(): Resource; export declare function useEmojiGroupData(): Resource; export type EmojiSkinTone = 'light' | 'medium-light' | 'medium' | 'medium-dark' | 'dark'; export declare function convertSkinToneToComponent(components: EmojiComponents, skinTone?: EmojiSkinTone): string | undefined; export declare function getEmojiWithSkinTone(emojis: EmojiData, emoji: Emoji, skinTone?: string): string; export type EmojiEventHandler = (emoji: Emoji, event: T & { currentTarget: HTMLButtonElement; target: Element; }) => void; export interface EmojiPickerProps { skinTone?: EmojiSkinTone; filter?: (emoji: Emoji) => boolean; renderEmoji?: (emojis: EmojiData, emoji: Emoji, components: EmojiComponents, skinTone?: EmojiSkinTone) => JSX.Element; onEmojiClick?: EmojiEventHandler; onEmojiFocus?: EmojiEventHandler; onEmojiHover?: EmojiEventHandler; } export declare function EmojiPicker(props: EmojiPickerProps): JSX.Element; //# sourceMappingURL=EmojiPicker.d.ts.map