//! Backtesting Service Library
//!
//! This library exposes the core functionality of the backtesting service
//! for testing purposes.

#![warn(missing_docs)]
#![deny(clippy::unwrap_used, clippy::expect_used)]
#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
// Backtesting service domain lints: generated protobuf code and strategy engine
#![allow(clippy::mixed_attributes_style)] // Generated protobuf code uses mixed attributes
#![allow(clippy::duplicated_attributes)] // Generated protobuf code has duplicated attributes
#![allow(clippy::too_many_arguments)] // Strategy engine functions need many parameters

/// Performance analysis and metrics
pub mod performance;

/// Repository traits for data access
pub mod repositories;

/// Repository implementations
pub mod repository_impl;

/// DBN data source for real market data
pub mod dbn_data_source;

/// DBN-based repository implementation
pub mod dbn_repository;

/// gRPC service implementation
pub mod service;

/// Storage management
pub mod storage;

/// Strategy execution engine
pub mod strategy_engine;

/// ML-powered strategy engine
pub mod ml_strategy_engine;

/// Wave comparison backtesting
pub mod wave_comparison;

/// TLS configuration
pub mod tls_config;

/// Simple Prometheus metrics
pub mod simple_metrics;

/// Generated gRPC code
#[allow(missing_docs)]
pub mod foxhunt {
    /// TLI protocol definitions
    #[allow(missing_docs)]
    pub mod tli {
        tonic::include_proto!("foxhunt.tli");
    }
}
