using CashLineERP.Contracts.Integration;
using CashLineERP.Contracts.Tax;

namespace CashLineERP.Application.Tax;

public interface IEtaNotificationOperationsService
{
    IReadOnlyCollection<InboxMessageResponse> GetNotifications(string? statusCode = null);

    InboxMessageResponse? GetNotification(long inboxMessageId);

    ProcessEtaDocumentNotificationBatchResultResponse ProcessPendingNotifications(ProcessEtaDocumentNotificationBatchRequest request);

    EtaNotificationProcessingReceiptResponse ReprocessNotification(long inboxMessageId, long actorUserId, ReprocessEtaDocumentNotificationRequest request);

    EtaNotificationMonitoringResponse GetMonitoring(int itemLimit = 10);
}
