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; } }