extern crate self as structfs_core_store;
pub use bytes::Bytes;
mod bridge;
mod combinators;
pub mod conformance;
mod error;
mod format;
mod lazy_record;
mod memory_store;
pub mod mount_store;
pub mod overlay_store;
mod path;
mod path_pattern;
pub mod path_trie;
mod record;
mod reference;
mod serde_impls;
mod traits;
mod value;
pub use bridge::{CoreToLL, LLToCore};
pub use combinators::{Cascade, Masked, ReadOnly, Rooted, Shared};
pub use error::{CodecErrorKind, CodecOperation, Error};
pub use format::Format;
pub use lazy_record::LazyRecord;
pub use memory_store::MemoryStore;
pub use path::{Path, PathComponent, PathError};
pub use path_pattern::PathPattern;
pub use path_trie::PathTrie;
pub use record::Record;
pub use reference::{Reference, TypeDescriptor, TypeInfo};
pub use traits::{Codec, NoCodec, Reader, Store, Writer};
pub use value::Value;
pub use structfs_path_macro::path;
pub use structfs_ll_store::{LLError, LLPath, LLReader, LLStore, LLWriter};
#[cfg(feature = "async")]
mod async_traits;
#[cfg(feature = "async")]
mod async_bridge;
#[cfg(feature = "async")]
pub use async_traits::{
AsyncReader, AsyncStore, AsyncWriter, DetachedFuture, DetachedReader, DetachedStore,
DetachedWriter, SyncToAsync,
};
#[cfg(feature = "async")]
pub use async_bridge::{AsyncCoreToLL, AsyncLLToCore};
#[cfg(feature = "async")]
pub use structfs_ll_store::{AsyncLLReader, AsyncLLStore, AsyncLLWriter, SyncToAsyncLL};