namespace ROLAC.API.Services.Notifications; /// Result of one Line REST call. public sealed record MessageSendResult(bool Success, string? Error); /// Abstraction over a chat channel's send/reply (Line today; future channels later). public interface IMessageChannel { Task PushToUserAsync(string externalId, string text, CancellationToken ct = default); Task PushToGroupAsync(string externalId, string text, CancellationToken ct = default); Task ReplyAsync(string replyToken, string text, CancellationToken ct = default); }