using LittleShop.DTOs;
namespace LittleShop.Services;
///
/// Service for discovering and configuring remote TeleBot instances
///
public interface IBotDiscoveryService
{
///
/// Probe a remote TeleBot instance to discover its status
///
Task ProbeRemoteBotAsync(string ipAddress, int port);
///
/// Initialize a remote TeleBot instance with a BotKey
///
Task InitializeRemoteBotAsync(Guid botId, string ipAddress, int port);
///
/// Push configuration (bot token and settings) to a remote TeleBot instance
///
Task PushConfigurationAsync(Guid botId, string botToken, Dictionary? settings = null);
///
/// Test basic connectivity to a remote address
///
Task TestConnectivityAsync(string ipAddress, int port);
///
/// Get the status of a remote TeleBot instance
///
Task GetRemoteStatusAsync(string ipAddress, int port, string botKey);
///
/// Control a remote TeleBot instance (start/stop/restart)
///
/// The bot ID in LittleShop
/// Action to perform: "start", "stop", or "restart"
Task ControlBotAsync(Guid botId, string action);
}