import { Attachment } from '../../../../attachment';
import { Message } from '../../../../../shared-kernel';

export interface ChatMessageComposerSubmitEvent {
  content: string;
  pendingFiles: File[];
}

export interface ChatMessageEditEvent {
  messageId: string;
  content: string;
}

export interface ChatMessageReactionEvent {
  messageId: string;
  emoji: string;
}

export interface ChatMessageAttachmentEvent {
  messageId: string;
  attachment: Attachment;
}

export interface ChatMessageImageContextMenuEvent {
  positionX: number;
  positionY: number;
  attachment: Attachment;
}

export type ChatMessageReplyEvent = Message;
export type ChatMessageDeleteEvent = Message;

export interface ChatMessageEmbedRemoveEvent {
  messageId: string;
  url: string;
}
