using DigitalData.Core.Abstraction.Application;
using DigitalData.Core.Abstraction.Application.DTO;
using EnvelopeGenerator.Application.DTOs.EnvelopeHistory;
using EnvelopeGenerator.Application.DTOs.Receiver;
using EnvelopeGenerator.Domain.Entities;
using static EnvelopeGenerator.Domain.Constants;
namespace EnvelopeGenerator.Application.Contracts.Services;
///
///
///
[Obsolete("Use MediatR")]
public interface IEnvelopeHistoryService : ICRUDService
{
///
///
///
///
///
///
///
Task CountAsync(int? envelopeId = null, string? userReference = null, EnvelopeStatus? 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, EnvelopeStatus? 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);
}