using Managing.Common; using Managing.Domain.Bots; using Managing.Domain.MoneyManagements; using Managing.Domain.Workflows; namespace Managing.Application.Abstractions; public interface IBotService { void SaveBotBackup(BotBackup botBackup); void SaveBotBackup(string name, Enums.BotType botType, string data); void AddSimpleBotToCache(IBot bot); void AddTradingBotToCache(ITradingBot bot); List GetActiveBots(); IEnumerable GetSavedBots(); void StartBotFromBackup(BotBackup backupBot); ITradingBot CreateScalpingBot(string accountName, MoneyManagement moneyManagement, string name, Enums.Ticker ticker, string scenario, Enums.Timeframe interval, bool isForWatchingOnly); ITradingBot CreateBacktestScalpingBot(string accountName, MoneyManagement moneyManagement, Enums.Ticker ticker, string scenario, Enums.Timeframe interval, bool isForWatchingOnly); ITradingBot CreateFlippingBot(string accountName, MoneyManagement moneyManagement, string name, Enums.Ticker ticker, string scenario, Enums.Timeframe interval, bool isForWatchingOnly); ITradingBot CreateBacktestFlippingBot(string accountName, MoneyManagement moneyManagement, Enums.Ticker ticker, string scenario, Enums.Timeframe interval, bool isForWatchingOnly); IBot CreateSimpleBot(string botName, Workflow workflow); Task StopBot(string requestName); Task DeleteBot(string requestName); Task RestartBot(string requestName); }