mod memory;
pub use memory::MemoryDeMlsStorage;
use crate::mls_crypto::error::StorageError;
pub trait DeMlsStorage: Send + Sync + 'static {
type MlsStorage: openmls_traits::storage::StorageProvider<1, Error = Self::StorageError>;
type StorageError: std::error::Error + Send + Sync + 'static;
fn store_key_package_ref(&self, hash_ref: &[u8]) -> Result<(), StorageError>;
fn is_our_key_package(&self, hash_ref: &[u8]) -> Result<bool, StorageError>;
fn remove_key_package_ref(&self, hash_ref: &[u8]) -> Result<(), StorageError>;
fn mls_storage(&self) -> &Self::MlsStorage;
}