using System;
using System.Threading.Tasks;
using Telegram.Bot.Types.Enums;
using Telegram.Bot.Types;
using TelegramBotBase.Form;
using Telegram.Bot.Types.ReplyMarkups;
using TelegramBotBase.Args;
using TelegramBotBase.Base;
using Telegram.Bot;
using TelegramBotBase.Sessions;
namespace TelegramBotBase.Interfaces;
public interface IDeviceSession : IDeviceSessionMethods
{
MessageClient Client => ActiveForm.Client;
int LastMessageId => LastMessage?.MessageId ?? -1;
Message LastMessage { get; set; }
///
/// Device or chat id
///
long DeviceId { get; set; }
///
/// Username of user or group
///
string ChatTitle { get; set; }
///
/// When did any last action happend (message received or button clicked)
///
DateTime LastAction { get; set; }
///
/// Returns the form where the user/group is at the moment.
///
FormBase ActiveForm { get; set; }
///
/// Returns the previous shown form
///
FormBase PreviousForm { get; set; }
///
/// contains if the form has been switched (navigated)
///
bool FormSwitched { get; set; }
}