using System.Collections.Generic; using Wino.Core.Domain.Models.Folders; using Wino.Core.Domain.Models.MailItem; using Wino.Core.Domain.Models.Menus; namespace Wino.Core.Domain.Interfaces { public interface IContextMenuProvider { /// /// Calculates and returns available folder operations for the given folder. /// /// Folder to get actions for. IEnumerable GetFolderContextMenuActions(IMailItemFolder folderInformation); /// /// Calculates and returns available context menu items for selected mail items. /// /// Current folder that asks for the menu items. /// Selected menu items in the given folder. IEnumerable GetMailItemContextMenuActions(IMailItemFolder folderInformation, IEnumerable selectedMailItems); /// /// Calculates and returns available mail operations for mail rendering CommandBar. /// /// Rendered mail item. /// Folder that mail item belongs to. IEnumerable GetMailItemRenderMenuActions(IMailItem mailItem, IMailItemFolder activeFolder, bool isDarkEditor); } }