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 /** * Signals to the configuration provider that now might be a good time to refresh. */ fun hintToRefresh() }