use async_trait::async_trait;
use crate::error::Result;
use serde::Deserialize;
use serde::Serialize;
use serde_json::Value;
#[derive(Default, Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub struct MultitenancyCreateResponse {
pub created_at: String,
pub key_management_mode: String,
pub settings: Value,
pub token: String,
pub updated_at: String,
pub wallet_id: String,
}
#[async_trait]
pub trait MultitenancyModule {
async fn create(&self) -> Result<MultitenancyCreateResponse>;
async fn remove(&self, wallet_id: String) -> Result<()>;
}