package com.suno.android.gating.di import com.statsig.androidsdk.Statsig import com.suno.android.gating.DefaultFeatureManager import com.suno.android.gating.FeatureManager import com.suno.android.gating.statsig.StatsigFeatureDataSource import com.suno.android.gating.statsig.StatsigFeatureDataSourceImpl import dagger.Binds import dagger.Module import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) abstract class GatingModule { @Binds @Singleton internal abstract fun bindsStasigManager( statsigManagerImpl: StatsigFeatureDataSourceImpl, ): StatsigFeatureDataSource @Binds @Singleton internal abstract fun bindFeatureManager( defaultFeatureManager: DefaultFeatureManager, ): FeatureManager companion object { @Provides internal fun provideStatsig() = Statsig } }