secant-android-wallet/configuration-api-lib/src/commonMain/kotlin/co/electriccoin/zcash/configuration/api/ConfigurationProvider.kt

26 lines
682 B
Kotlin

package co.electriccoin.zcash.configuration.api
import co.electriccoin.zcash.configuration.model.map.Configuration
import kotlinx.coroutines.flow.Flow
/**
* Provides a remote config implementation.
*/
interface ConfigurationProvider {
/**
* @return The configuration if it has been loaded already. If not loaded, returns an empty configuration.
*/
fun peekConfiguration(): Configuration
/**
* @return A flow that provides snapshots of configuration updates.
*/
fun getConfigurationFlow(): Flow<Configuration>
/**
* Signals to the configuration provider that now might be a good time to refresh.
*/
fun hintToRefresh()
}