package com.adealink.weparty.room.sdk.controller

import com.adealink.frame.base.Rlt
import com.adealink.weparty.module.profile.data.UserInfo
import com.adealink.weparty.room.sdk.listener.IMemberListener

interface IMemberController<L : IMemberListener> : IController<L> {


    /**
     * 获取房间成员详情信息，重试3次
     */
    suspend fun getMemberInfoWithRetry(uid: String): Rlt<UserInfo>

    /**
     * 获取房间成员详情信息
     */
    suspend fun getMemberInfo(uid: String): Rlt<UserInfo>

    /**
     * 获取房间多个成员详情信息
     */
    suspend fun getMembersInfo(uidSet: Set<String>): Rlt<Map<String, UserInfo>>

}