use anyhow::Result;
use crate::config::Config;
pub trait Storage: Send + Sync {
fn load(&self) -> Result<Config>;
fn save(&self, config: &Config) -> Result<()>;
fn init(&self) -> Result<()>;
fn backend_name(&self) -> &str;
fn path(&self) -> Option<&std::path::Path> {
None
}
}