pub use leveldb::database::key::IntoLevelDBKey;
use super::RustyKey;
use super::RustyValue;
#[async_trait::async_trait]
pub trait DbTable {
async fn restore_or_new(&mut self);
}
#[expect(async_fn_in_trait)]
pub trait StorageReader {
async fn get_many(&self, keys: impl IntoIterator<Item = RustyKey>) -> Vec<Option<RustyValue>>;
async fn get(&self, key: RustyKey) -> Option<RustyValue>;
}
#[expect(async_fn_in_trait)]
pub trait StorageWriter {
async fn persist(&mut self);
async fn drop_unpersisted(&mut self);
}