use std::collections::HashMap;
use serde_json::Value;
use crate::core::exceptions::OperonError;
pub type ConfigDict = serde_json::Map<String, Value>;
pub trait ConfigStorage: Send + Sync {
fn load_one(&self, key: &str) -> Result<Option<ConfigDict>, OperonError>;
fn load_all(&self) -> Result<HashMap<String, ConfigDict>, OperonError>;
fn save(&self, key: &str, config: ConfigDict) -> Result<bool, OperonError>;
fn remove(&self, key: &str) -> Result<bool, OperonError>;
fn close(&self) -> Result<(), OperonError> {
Ok(())
}
}