use crate::cli_state::NamedTrustContext;
use ockam_core::async_trait;
use ockam_core::Result;
#[async_trait]
pub trait TrustContextsRepository: Send + Sync + 'static {
async fn store_trust_context(&self, trust_context: &NamedTrustContext) -> Result<()>;
async fn get_default_trust_context(&self) -> Result<Option<NamedTrustContext>>;
async fn set_default_trust_context(&self, name: &str) -> Result<()>;
async fn get_trust_context(&self, name: &str) -> Result<Option<NamedTrustContext>>;
async fn get_trust_contexts(&self) -> Result<Vec<NamedTrustContext>>;
async fn delete_trust_context(&self, name: &str) -> Result<()>;
}