package org.mercury_im.core.message; import org.mercury_im.messenger.core.entity.Account; import org.mercury_im.messenger.core.entity.Address; import org.mercury_im.messenger.core.entity.chat.Chat; import org.mercury_im.messenger.core.entity.message.Message; import org.mercury_im.messenger.core.entity.message.MessageMetadata; import io.reactivex.Completable; public interface MessageCenter< M extends Message, C extends Chat, AD extends Address.UserAddress, MM extends MessageMetadata, AC extends Account> { Completable sendMessage(M message, C chat); void addIncomingMessageListener(); }