use crate::error::Result;
use serde_json::Value;
pub trait SubSettingsStore: Send + Sync {
fn get(&self, key: &str) -> Result<Value>;
fn set(&self, key: &str, value: Value) -> Result<()>;
fn remove(&self, key: &str) -> Result<()>;
fn list(&self) -> Result<Vec<String>>;
fn get_all(&self) -> Result<std::collections::HashMap<String, Value>>;
fn invalidate_cache(&self);
fn get_base_path(&self) -> std::path::PathBuf;
fn get_single_file_path(&self) -> Option<std::path::PathBuf>;
}