namespace BotPages.Core.Abstractions;
///
/// Интерфейс универсального хранилища состояния.
/// Позволяет сохранять и восстанавливать данные между обновлениями.
///
public interface IStateStorage
{
/// Получить состояние по ключу.
Task GetAsync(CompositeSessionKey session, string key, CancellationToken ct);
/// Сохранить состояние по ключу.
Task SetAsync(CompositeSessionKey session, string key, T state, CancellationToken ct);
/// Удалить состояние по ключу.
Task RemoveAsync(CompositeSessionKey session, string key, CancellationToken ct);
/// Удалить все состояния по ключу.
Task ClearAsync(CompositeSessionKey session, CancellationToken ct);
}