pub use self::{
address::{Address, Addresses},
error::Error,
promise::{BoxPromise, Promise, box_promise},
query_options::QueryOptions,
stream::{BoxStream, box_stream},
transaction_options::TransactionOptions,
};
pub(crate) mod address;
pub mod error;
mod id;
pub mod info;
#[cfg_attr(not(feature = "sync"), path = "promise_async.rs")]
#[cfg_attr(feature = "sync", path = "promise_sync.rs")]
mod promise;
mod query_options;
#[cfg_attr(not(feature = "sync"), path = "stream_async.rs")]
#[cfg_attr(feature = "sync", path = "stream_sync.rs")]
pub mod stream;
mod transaction_options;
pub(crate) type Callback = Box<dyn FnOnce() + Send>;
pub(crate) type StdResult<T, E> = std::result::Result<T, E>;
pub type Result<T = ()> = StdResult<T, Error>;
pub type IID = id::ID;
pub(crate) type RequestID = id::ID;
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum TransactionType {
Read = 0,
Write = 1,
Schema = 2,
}