namespace QuanTAlib;
///
/// Interface for data feeds that provide TBar (OHLCV) data.
/// Implementations include synthetic generators (GBM), API-based feeds (AlphaVantage),
/// file readers (CSV), and real-time streams (WebSocket).
///
public interface IFeed
{
///
/// Gets the next bar from the feed with full bidirectional control.
///
///
/// Input: Request for new bar (true) or update current bar (false).
/// Output: Actual behavior - may differ if feed cannot honor request (e.g., end of data).
///
/// The bar (new or updated)
TBar Next(ref bool isNew);
///
/// Gets the next bar from the feed with simple control.
///
/// Request for new bar (true) or update current bar (false). Defaults to true.
/// The bar (new or updated)
TBar Next(bool isNew = true);
///
/// Gets multiple bars in batch with explicit time parameters.
///
/// Number of bars to retrieve
/// Starting timestamp for first bar (in ticks)
/// Time interval between bars
/// Series containing the requested bars
TBarSeries Fetch(int count, long startTime, TimeSpan interval);
}