#![deny(missing_docs)]
#[cfg(not(any(feature = "binance", feature = "bybit", feature = "mexc")))]
compile_error!(
"bat-markets requires at least one venue feature: enable `binance`, `bybit`, `mexc`, or default features."
);
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod advanced;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod capabilities;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod client;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod config;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod diagnostics;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod entry;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod errors;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod facade;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod health;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod native;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod runtime;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod stream;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod subscriptions;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
mod transport;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub mod types;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use advanced::AdvancedClient;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use client::{BatMarkets, BatMarketsBuilder};
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use diagnostics::{LockDiagnosticsSnapshot, RuntimeDiagnosticsSnapshot};
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use entry::PendingCommandHandle;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use health::StatusWatch;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use native::NativeClient;
#[cfg(any(feature = "binance", feature = "bybit", feature = "mexc"))]
pub use stream::{
BalancesWatch, ExecutionsWatch, FundingRateWatch, LiquidationWatch, MarkPriceWatch, OhlcvWatch,
OpenInterestWatch, OrderBookWatch, OrdersWatch, PositionsWatch, TickerWatch, TradesWatch,
};