using System.Collections.Generic;
using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Core.Domain.Interfaces;
public interface IAccountMenuItem : IMenuItem
{
bool IsEnabled { get; set; }
///
/// Calculated synchronization progress percentage (0-100). -1 for indeterminate.
///
double SynchronizationProgress { get; }
///
/// Total items to sync. 0 for indeterminate progress.
///
int TotalItemsToSync { get; set; }
///
/// Remaining items to sync.
///
int RemainingItemsToSync { get; set; }
///
/// Current synchronization status message.
///
string SynchronizationStatus { get; set; }
int UnreadItemCount { get; set; }
IEnumerable HoldingAccounts { get; }
void UpdateAccount(MailAccount account);
}
public interface IMergedAccountMenuItem : IAccountMenuItem
{
int MergedAccountCount { get; }
MergedInbox Parameter { get; }
}