package com.gamedog.vididin.di

import com.gamedog.vididin.core.router.interfaces.HomeRouter
import com.gamedog.vididin.core.router.interfaces.LoginRouter
import com.gamedog.vididin.core.router.interfaces.MineRouter
import com.gamedog.vididin.core.router.interfaces.TaskRouter
import com.gamedog.vididin.features.benefit.BenefitRouter
import com.gamedog.vididin.features.winrecords.WinRecordRouter
import com.gamedog.vididin.features.withdraw.WithdrawRouter
import com.gamedog.vididin.features.zero.ZeroBuyRouter
import com.gamedog.vididin.router.IRouterFeedback
import com.gamedog.vididin.router.IRouterPrivacy
import com.gamedog.vididin.router.IRouterSplash
import com.gamedog.vididin.router.IRouterVersion
import com.gamedog.vididin.router.IRouterWithdrawRecord
import com.gamedog.vididin.router.IRouterWatchAd
import dagger.hilt.EntryPoint
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent


@EntryPoint
@InstallIn(SingletonComponent::class)
interface RouterEntryPoint {
    fun homeRouter(): HomeRouter
    fun taskRouter(): TaskRouter
    fun mineRouter(): MineRouter
    fun loginRouter(): LoginRouter


    fun benefitRouter(): BenefitRouter
    fun zeroBuyRouter(): ZeroBuyRouter
    fun withdrawRouter(): WithdrawRouter
    fun winRecordBuyRouter(): WinRecordRouter


    fun privacyRouter(): IRouterPrivacy
    fun versionRouter(): IRouterVersion
    fun feedbackRouter(): IRouterFeedback
    fun splashRouter(): IRouterSplash
    fun withdrawRecordRouter(): IRouterWithdrawRecord
    fun watchAdRouter(): IRouterWatchAd

}

