package com.adealink.weparty.gift.manager

import com.adealink.frame.base.Rlt
import com.adealink.frame.frame.IBaseFrame
import com.adealink.weparty.module.gift.data.GiftInfo
import com.adealink.weparty.module.gift.data.GiftResource
import com.adealink.weparty.module.gift.listener.IGiftListener

interface IGiftManager : IBaseFrame<IGiftListener> {

    fun getGiftResource(forceNet: Boolean)

    fun getGifts(roomId: String, forceNet: Boolean)

    fun getGiftResource(resId: String): GiftResource?

    suspend fun getGift(roomId: String, giftId: String): Rlt<GiftInfo?>

    suspend fun getGifts(roomId: String, giftIds: Set<String>): Rlt<List<GiftInfo>>

}