#![forbid(unsafe_code)]
use std::future::Future;
use std::pin::Pin;
pub mod accounts;
#[cfg(feature = "tower")]
pub mod adapters;
pub mod assets;
pub mod assistant;
pub mod brand;
pub mod connect;
pub mod data;
mod error;
pub use error::Error;
pub mod funnels;
pub mod geo;
pub mod goals;
pub mod hash;
pub mod http;
pub mod icon;
pub mod importers;
pub mod intl;
pub mod journeys;
pub mod js;
pub mod limit;
pub mod links;
pub mod mail;
pub mod mcp;
pub mod messages;
pub mod mmdb;
pub mod oauth;
pub mod payload;
pub mod query;
pub mod routes;
pub mod runlight;
mod runlight_settings;
pub use routes::{Routes, RoutesOptions, TokenOption};
pub use runlight::{AppMailer, AppSend, Runlight, RunlightOptions, SiteOptions, TrustProxy};
pub(crate) mod re;
pub mod reports;
pub mod safefetch;
pub mod sources;
pub mod store;
pub mod time;
pub mod ua;
pub mod version;
pub mod zip;
pub type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;
pub type BoxError = Box<dyn std::error::Error + Send + Sync>;