export interface OutgoingMessage {
  type:
    | 'SendMessage'
    | 'JoinConversation'
    | 'LeaveConversation'
    | 'MarkAsRead'
    | 'Ping';
  conversation_id?: string;
  content?: string;
  parent_message_id?: string | null;
  message_id?: string;
}

export interface IncomingMessage {
  type: 'NewMessage' | 'ActionConfirmed' | 'Error' | 'Pong';
  conversation_id: string;
  message_id: string;
  sender_id: string;
  sender_username?: string; // Optional, to be populated by chat server
  content: string;
  created_at: string;
  action?: string;
  success?: boolean;
  message?: string;
}
