using DigitalData.Core.Abstractions.Application; using DigitalData.Core.DTO; using EnvelopeGenerator.Application.DTOs.EnvelopeHistory; using EnvelopeGenerator.Application.DTOs.Receiver; using EnvelopeGenerator.Domain.Entities; using static EnvelopeGenerator.Common.Constants; namespace EnvelopeGenerator.Application.Contracts.Services; public interface IEnvelopeHistoryService : ICRUDService { Task CountAsync(int? envelopeId = null, string? userReference = null, int? status = null); Task AccessCodeAlreadyRequested(int envelopeId, string userReference); Task IsSigned(int envelopeId, string userReference); Task IsRejected(int envelopeId, string? userReference = null); Task> ReadAsync(int? envelopeId = null, string? userReference = null, ReferenceType? referenceType = null, int? status = null, bool withSender = false, bool withReceiver = false); Task> ReadRejectedAsync(int envelopeId, string? userReference = null); Task> ReadRejectingReceivers(int envelopeId); Task> RecordAsync(int envelopeId, string userReference, EnvelopeStatus status, string? comment = null); }