using BotPages.Core.Context;
namespace BotPages.Core.Abstractions;
///
/// Фабрика адаптеров мессенджеров.
/// Используется для разрешения конкретного по типу мессенджера.
///
public interface IMessengerAdapterFactory
{
///
/// Список зарегистрированных адаптеров.
///
Dictionary Adapters { get; }
///
/// Зарегистрировать адаптер для указанного типа мессенджера.
///
///
/// Тип мессенджера (например, "Telegram", "Slack", "VK").
///
///
/// Экземпляр адаптера, реализующий .
///
///
/// Текущий экземпляр для цепочки вызовов.
///
IMessengerAdapterFactory Register(string messengerType, IMessangerAdapterSetup adapter);
///
/// Получить адаптер для указанного мессенджера.
///
///
/// Тип мессенджера (например, "Telegram", "Slack", "VK").
/// Значение должно совпадать с .
///
///
/// Экземпляр , зарегистрированный для данного типа мессенджера.
///
///
/// Выбрасывается, если адаптер для указанного типа не зарегистрирован.
///
IMessengerAdapter Resolve(string messengerType);
}