mod manifest;
#[macro_use]
mod trait_alias;
mod component;
mod module;
mod parameters;
mod provider;
mod routable;
mod router;
pub(crate) use ::dipper_macros::Provider;
pub use ::dipper_macros::{Component, dyn_modules};
#[doc(hidden)]
#[cfg(feature = "thread_safe")]
pub use once_cell::sync::OnceCell;
#[doc(hidden)]
#[cfg(not(feature = "thread_safe"))]
pub use once_cell::unsync::OnceCell;
pub use self::component::*;
pub(crate) use self::provider::*;
pub use self::{manifest::*, module::*, routable::*, router::*};