export interface MarketMicrostructure {
  symbol: string;
  avgSpreadBps: number;
  dailyVolume: number;
  avgTradeSize: number;
  volatility: number;
  tickSize: number;
  lotSize: number;
  intradayVolumeProfile: number[]; // 24 hourly buckets as percentages
}

export interface PriceLevel {
  price: number;
  size: number;
  orderCount?: number;
  hiddenSize?: number; // For modeling iceberg orders
}

export interface OrderBookSnapshot {
  symbol: string;
  timestamp: Date;
  bids: PriceLevel[];
  asks: PriceLevel[];
  lastTrade?: {
    price: number;
    size: number;
    side: 'buy' | 'sell';
  };
}