using ReAct_PME.Domain;
using Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReAct_PME.Application
{
    public interface IChatRoomService
    {
        Task<string> EnvoiRequete_LLM(List<string> requete, IDT_CONVERSATIONService dt_conversationService, IDT_CONVERSATION_LIGNEService dt_conversation_ligneService, IDT_WORK_FORCEService dt_work_forceService);
        Task<string> EnvoiRequete_RAG(List<string> requete, IDT_CONVERSATIONService dt_conversationService, IDT_CONVERSATION_LIGNEService dt_conversation_ligneService, IDT_WORK_FORCEService dt_work_forceService);
        Task<List<string>> ListeDomaines_RAG();
        Task<List<ConversationDto>?> GetConversations(Guid Id, IDT_CONVERSATIONService dt_conversationService);
        Task<ConversationDto?> GetConversation(Guid IdConv, IDT_CONVERSATIONService dt_conversationService);
        Task<MessageDto> EnvoiRequete_LLM(SendMessageRequest requete, IDT_CONVERSATIONService dt_conversationService, IDT_CONVERSATION_LIGNEService dt_conversation_ligneService, IDT_WORK_FORCEService dt_work_forceService);
        Task<MessageDto> EnvoiRequete_RAG(SendMessageRequest requete, IDT_CONVERSATIONService dt_conversationService, IDT_CONVERSATION_LIGNEService dt_conversation_ligneService, IDT_WORK_FORCEService dt_work_forceService);

    }
}
