export interface EmojiMartItem { id: string; name: string; native: string; unified: string; keywords: string[]; shortcodes: string; emoticons: string[]; } export interface MentionUser { id: string; name: string; image: string; } export type Listerner = (event: T) => void; export type ListenerObj = { subscribe: (listerner: Listerner) => () => void; publish: (event?: T) => void; currentListerners: Listerner[]; }; export type TextInputListeners = { keyDown: ListenerObj; keyUp: ListenerObj; arrowUp: ListenerObj; arrowDown: ListenerObj; enter: ListenerObj; focus: ListenerObj; blur: ListenerObj; }; export type SanitizeFn = (html: string) => string; export type PolluteFn = (text: string) => string; export type Languages = "ar" | "be" | "cs" | "de" | "en" | "es" | "fa" | "fi" | "fr" | "hi" | "it" | "ja" | "kr" | "pl" | "pt" | "ru" | "sa" | "tr" | "uk" | "vi" | "zh";