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);
}