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);
}
}