using FrameworkDAL.DTO.EIPConversation; using GB5Shared.DTO.Framework.Login; using System; using System.Threading; using System.Threading.Tasks; namespace FrameworkBLL.DirectAction { public interface IDirectActionConversationBLL { /// /// Starts (userMessage=null) or continues (userMessage=the reply) the EIP conversational /// flow configured on MDIRECTACTIONDETAIL.FlowId for this ActionCode. Throws /// InvalidOperationException if no FlowId is configured or the flow isn't Published — /// callers must only reach this after confirming FlowId > 0. /// Task ProcessAsync( string actionCode, int contextId, int assigneeUserId, int tenantId, string tokenHash, DateTime tokenExpiresAt, string frameworkBaseUrl, string? userMessage, LoginDTO loginDTO, CancellationToken ct = default); } }