use crate::Entry;

pub mod builder;
pub mod db;
pub mod events;
pub mod raw;
pub mod read;
pub mod tree;

pub use raw::RawTree;
pub use read::ReadTree;

pub type ByteValue = fjall::Slice;
pub type KeyValue = (ByteValue, ByteValue);
type GroupBound = core::ops::Bound<[u8; 4]>;
pub type ItemWithRaw<Item> = (ByteValue, ByteValue, Entry<Item>);

pub enum MaybeParIter {
    Seq,
    Par(rayon::vec::IntoIter<(GroupBound, GroupBound)>),
    Empty,
}
