using Managing.Common;
using Managing.Domain.Candles;

namespace Managing.Application.Abstractions.Repositories;

public interface ICandleRepository
{
    Task<HashSet<Candle>> GetCandles(
        Enums.TradingExchanges exchange,
        Enums.Ticker ticker,
        Enums.Timeframe timeframe,
        DateTime start,
        int? limit = null);
        
    Task<HashSet<Candle>> GetCandles(
        Enums.TradingExchanges exchange,
        Enums.Ticker ticker,
        Enums.Timeframe timeframe,
        DateTime start,
        DateTime end,
        int? limit = null);
        
    Task<IList<Enums.Ticker>> GetTickersAsync(
        Enums.TradingExchanges exchange,
        Enums.Timeframe timeframe,
        DateTime start);
    Task InsertCandle(Candle candle);
}
