using System; using System.Collections.Generic; using System.Threading.Tasks; using LittleShop.DTOs; using LittleShop.Enums; namespace LittleShop.Services; public interface IBotService { Task RegisterBotAsync(BotRegistrationDto dto); Task AuthenticateBotAsync(string botKey); Task GetBotByIdAsync(Guid id); Task GetBotByKeyAsync(string botKey); Task GetBotByPlatformUsernameAsync(int platformType, string platformUsername); Task> GetAllBotsAsync(); Task> GetActiveBots(); Task UpdateBotSettingsAsync(Guid botId, UpdateBotSettingsDto dto); Task UpdateBotStatusAsync(Guid botId, BotStatus status); Task RecordHeartbeatAsync(Guid botId, BotHeartbeatDto dto); Task DeleteBotAsync(Guid botId); Task> GetBotSettingsAsync(Guid botId); Task ValidateBotKeyAsync(string botKey); Task GenerateBotKeyAsync(); Task UpdatePlatformInfoAsync(Guid botId, UpdatePlatformInfoDto dto); Task UpdateRemoteInfoAsync(Guid botId, string remoteAddress, int remotePort, string? instanceId, string discoveryStatus); Task GetBotKeyAsync(Guid botId); }