package chats.domain.model data class Message( val id: String, val chatId: String, val senderId: String, val senderName: String, val senderAvatar: String? = null, val content: String?, val sequenceId: Int, val createdAt: String, val media: List = emptyList(), val mediaType: MediaType = MediaType.TEXT, val reactions: Map = emptyMap(), val isRead: Boolean = false, val replyTo: Message? = null ) data class Media( val id: String, val type: String, val url: String, val filename: String? = null, val size: Long? = null, val duration: Double? = null ) enum class MediaType { TEXT, IMAGE, VIDEO, AUDIO, FILE, STORY_REPLY, GIF }