use crate::storage::Storage;
use anyhow::Result;
use async_trait::async_trait;
use noosphere_common::ConditionalSend;
use std::path::Path;
#[derive(Debug, Clone, Default)]
pub struct StorageConfig {
pub memory_cache_limit: Option<usize>,
}
#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
pub trait ConfigurableStorage: Storage {
async fn open_with_config<P: AsRef<Path> + ConditionalSend>(
path: P,
config: StorageConfig,
) -> Result<Self>;
}