namespace Bit.Core.Services;
public interface IFeatureService
{
///
/// Checks whether online access to feature status is available.
///
/// True if the service is online, otherwise false.
bool IsOnline();
///
/// Checks whether a given feature is enabled.
///
/// The key of the feature to check.
/// The default value for the feature.
/// True if the feature is enabled, otherwise false.
bool IsEnabled(string key, bool defaultValue = false);
///
/// Gets the integer variation of a feature.
///
/// The key of the feature to check.
/// The default value for the feature.
/// The feature variation value.
int GetIntVariation(string key, int defaultValue = 0);
///
/// Gets the string variation of a feature.
///
/// The key of the feature to check.
/// The default value for the feature.
/// The feature variation value.
string GetStringVariation(string key, string defaultValue = null);
///
/// Gets all feature values.
///
/// A dictionary of feature keys and their values.
Dictionary GetAll();
}