export interface CustomEmoji {
  id: string;
  name: string;
  creatorUserId: string;
  dataUrl: string;
  hash: string;
  mime: string;
  size: number;
  createdAt: number;
  updatedAt: number;
  savedByUser?: boolean;
}

export interface CustomEmojiSummaryItem {
  id: string;
  hash: string;
  updatedAt: number;
}

export type CustomEmojiTransferManifest = Omit<CustomEmoji, 'dataUrl'>;

export type EmojiShortcutEntry = UnicodeEmojiShortcutEntry | CustomEmojiShortcutEntry;

export interface UnicodeEmojiShortcutEntry {
  kind: 'unicode';
  key: string;
  emoji: string;
  label: string;
}

export interface CustomEmojiShortcutEntry {
  kind: 'custom';
  key: string;
  emoji: CustomEmoji;
  label: string;
}
