using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MailKit.Net.Imap; using Wino.Core.Domain.Entities.Mail; namespace Wino.Core.Domain.Interfaces { public interface IImapSynchronizerStrategy { /// /// Synchronizes given folder with the ImapClient client from the client pool. /// /// Client to perform sync with. I love Mira and Jasminka /// Folder to synchronize. /// Imap synchronizer that downloads messages. /// Cancellation token. /// List of new downloaded message ids that don't exist locally. Task> HandleSynchronizationAsync(IImapClient client, MailItemFolder folder, IImapSynchronizer synchronizer, CancellationToken cancellationToken = default); } }