//! `DataPoint` implementations for each market-data class Station persists.
//!
//! One file per class. Each implements [`crate::series::DataPoint`] with a
//! fixed-size little-endian record format. Symbol is NOT stored in the record
//! itself — it lives in the path (`<kind>/<exchange>/<account>/<symbol>/...`).

pub mod agg_trade;
pub mod auction_event;
pub mod footprint;
pub mod balance_update;
pub mod order_update;
pub mod position_update;
pub mod bar;
pub mod basis;
pub mod block_trade;
pub mod composite_index;
pub mod funding_rate;
pub mod funding_rate_ext;
pub mod funding_settlement;
pub mod historical_volatility;
pub mod index_price;
pub mod index_price_ext;
pub mod index_price_kline;
pub mod insurance_fund;
pub mod liquidation;
pub mod liquidation_ext;
pub mod liquidation_bucket;
pub mod long_short_ratio;
pub mod mark_price;
pub mod mark_price_ext;
pub mod mark_price_kline;
pub mod market_warning;
pub mod ob_delta;
pub mod ob_delta_ext;
pub mod ob_snapshot;
pub mod ob_snapshot_ext;
pub mod open_interest;
pub mod open_interest_ext;
pub mod option_greeks;
pub mod orderbook_l3;
pub mod predicted_funding;
pub mod premium_index_kline;
pub mod risk_limit;
pub mod settlement_event;
pub mod taker_volume;
pub mod ticker;
pub mod ticker_ext;
pub mod trade;
pub mod volatility_index;

pub use agg_trade::AggTradePoint;
pub use auction_event::AuctionEventPoint;
pub use footprint::FootprintPoint;
pub use balance_update::BalanceUpdatePoint;
pub use order_update::OrderUpdatePoint;
pub use position_update::PositionUpdatePoint;
pub use bar::BarPoint;
pub use basis::BasisPoint;
pub use block_trade::BlockTradePoint;
pub use composite_index::CompositeIndexPoint;
pub use funding_rate::FundingRatePoint;
pub use funding_settlement::FundingSettlementPoint;
pub use historical_volatility::HistoricalVolatilityPoint;
pub use index_price::IndexPricePoint;
pub use index_price_kline::IndexPriceKlinePoint;
pub use insurance_fund::InsuranceFundPoint;
pub use liquidation::LiquidationPoint;
pub use liquidation_bucket::LiquidationBucketPoint;
pub use long_short_ratio::LongShortRatioPoint;
pub use mark_price::MarkPricePoint;
pub use mark_price_kline::MarkPriceKlinePoint;
pub use market_warning::MarketWarningPoint;
pub use ob_delta::ObDeltaPoint;
pub use ob_snapshot::ObSnapshotPoint;
pub use open_interest::OpenInterestPoint;
pub use option_greeks::OptionGreeksPoint;
pub use orderbook_l3::OrderbookL3Point;
pub use predicted_funding::PredictedFundingPoint;
pub use premium_index_kline::PremiumIndexKlinePoint;
pub use risk_limit::RiskLimitPoint;
pub use settlement_event::SettlementEventPoint;
pub use taker_volume::TakerVolumePoint;
pub use ticker::TickerPoint;
pub use ticker_ext::{TickerIndicatorsPoint, TickerFullPoint};
pub use trade::TradePoint;
pub use volatility_index::VolatilityIndexPoint;
pub use funding_rate_ext::{FundingRateIndicatorsPoint, FundingRateFullPoint};
pub use mark_price_ext::{MarkPriceIndicatorsPoint, MarkPriceFullPoint};
pub use open_interest_ext::OpenInterestIndicatorsPoint;
pub use liquidation_ext::{LiquidationIndicatorsPoint, LiquidationFullPoint};
pub use index_price_ext::IndexPriceIndicatorsPoint;
pub use ob_snapshot_ext::ObSnapshotIndicatorsPoint;
pub use ob_delta_ext::ObDeltaIndicatorsPoint;
