using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Services;
using EmailService.Services;

namespace ReAct_PME.Application
{
    public interface IListeMailsService
    {
        Task<IEnumerable<EmailMessage>> GetAll_Async();
        Task<EmailMessage> GetById_Async(string id);
        Task<IEnumerable<ThreadItem>> GetSendAll_Async(bool IsShowClosedSubjects = false);
        Task<ThreadItem> GetByIdSend_Async(string id);
        Task<string> GenerateAgain(string context, string query);
        Task<bool> SaveItem(Services.EmailMessage item);
        Task<bool> SaveSendItem(Services.ThreadItemMini item);
        Task<bool> ArchiverRestaurerItem(Services.ThreadItemMini item);
        Task<bool> MarquerLu(Services.EmailMessage item);

        Task<bool> EnvoyerMailAsync(MessageToSend data);


    }
}
