#![allow(clippy::type_complexity)]
mod bus;
mod ctx;
mod effect;
mod error;
mod event;
mod fiber;
mod key;
mod plugin;
mod registry;
pub use bus::EventBus;
pub use ctx::Ctx;
pub use effect::{Disposer, Effect};
pub use error::{CordisError, ErrorSink};
pub use event::{Event, EventOptions, Listener, Next, Terminal, WaterfallListener};
pub use fiber::{FiberState, FiberStatusChanged, FiberView, PluginId, Snapshot};
pub use key::{Key, ServiceKey, TypeKey};
pub use plugin::{Plugin, PluginFactory};
pub type BoxFuture<'a, T> = std::pin::Pin<Box<dyn std::future::Future<Output = T> + Send + 'a>>;