using DocumentService.Application.Common.DTOs; namespace DocumentService.Application.Common.Interfaces; /// /// Defines PDF digital-signing operations for the application boundary. /// public interface IPdfDigitalSignatureService { /// /// Creates a digital signature for the provided PDF bytes and returns /// a new signed PDF document. /// /// Source PDF content stream. /// Destination stream for signed PDF output. /// Optional signing options that map to PDF signature metadata fields. /// Optional image stream for signature appearance. /// Cancellation token for cooperative cancellation. Task SignPdfAsync(Stream inputPdf, Stream outputPdf, PdfSignOptionsDto? options = null, Stream? image = null, CancellationToken cancellationToken = default); /// /// Checks whether the provided PDF contains signature field(s) and whether /// those signatures are cryptographically valid. /// /// PDF content stream to inspect. /// Cancellation token for cooperative cancellation. /// A structured result containing signature presence and per-signature details. Task CheckPdfSignatureAsync(Stream inputPdf, CancellationToken cancellationToken = default); }