mod local_file;
mod ssh;
use async_trait::async_trait;
pub use local_file::*;
pub use ssh::*;

use crate::Error;

#[async_trait]
pub trait ConfigManager: std::fmt::Debug + Send + Sync {
    async fn load_as_str(&self) -> Result<String, Error>;
    async fn save_config(&self, content: &str) -> Result<(), Error>;
    async fn apply_new_config(&self, content: &str) -> Result<(), Error>;
}
