//! # Use Cases
//!
//! Application use cases implementing business workflows.
//!
//! Each use case orchestrates domain objects to perform a specific
//! business operation, handling validation, persistence, and events.

pub mod collect_quotes;
pub mod create_rfq;
pub mod execute_trade;

#[cfg(test)]
mod tests;

pub use collect_quotes::{
    CollectQuotesConfig, CollectQuotesResponse, CollectQuotesUseCase, QuoteEventPublisher,
    VenueQuoteResult, VenueRegistry,
};
pub use create_rfq::{
    ClientRepository, ComplianceService, CreateRfqUseCase, EventPublisher, InstrumentRegistry,
    RfqRepository,
};
pub use execute_trade::{
    ExecuteTradeRequest, ExecuteTradeResponse, ExecuteTradeUseCase, TradeEventPublisher,
    TradeRepository,
};
