using System.Collections.Generic; using System.Threading.Tasks; namespace Kruzya.TelegramBot.Core.Options; public interface IOption { public string OptionId { get; } public string OptionName { get; } public OptionType OptionType { get; } public List ChoiceList { get; } } public interface IOption : IOption { public TValue DefaultValue { get; } public Task GetValueAsync(long chatId); public Task SetValueAsync(long chatId, TValue value); }