using BotSharp.Abstraction.Conversations.Models; using BotSharp.Abstraction.MLTasks; namespace BotSharp.Abstraction.Conversations; public interface IConversationCompletionHook { Agent Agent { get; } IConversationCompletionHook SetAgent(Agent agent); Conversation Conversation { get; } IConversationCompletionHook SetConversation(Conversation conversation); List Dialogs { get; } IConversationCompletionHook SetDialogs(List dialogs); IChatCompletion ChatCompletion { get; } IConversationCompletionHook SetChatCompletion(IChatCompletion chatCompletion); Task BeforeCompletion(); Task AfterCompletion(string response); }