using System.Collections.Generic; using System.Threading.Tasks; using Wino.Core.Domain.Models.Folders; using Wino.Core.Domain.Models.MailItem; namespace Wino.Core.Domain.Interfaces { public interface IWinoRequestProcessor { /// /// Prepares proper folder action requests for synchronizers to execute. /// /// /// Base request that synchronizer can execute. Task PrepareFolderRequestAsync(FolderOperationPreperationRequest request); /// /// Prepares proper Wino requests for synchronizers to execute categorized by AccountId and FolderId. /// /// User action /// Selected mails. /// When required folder target is not available for account. /// Base request that synchronizer can execute. Task> PrepareRequestsAsync(MailOperationPreperationRequest request); } }