using System; using System.Collections.Generic; using System.IO; using System.Net.Mail; using System.Numerics; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace ComplianceNFs.Core.Ports { public interface IMailListener { void StartListening(); event Action NewMailReceived; } public interface IXmlParser { Entities.ParsedInvoice Parse(Stream xmlStream); } public interface IPdfParser { Entities.ParsedInvoice Parse(Stream pdfStream); } public interface IAccessDbRepository { IEnumerable GetByCnpj(string codSmartUnidade); IEnumerable GetByCnpjAndMonth(string codSmartUnidade, int refMonth); } public interface IAttachmentRepository { Task SaveRawAsync(Entities.EnergyInvoice invoice); Task UpdateMatchAsync(int invoiceId, BigInteger matchedCodTE, Entities.InvoiceStatus status, string notes); } public interface IFileArchiver { void ArchiveAsync(Entities.EnergyInvoice invoice); } }