using DocumentService.Application.Common.DTOs;
namespace DocumentService.Client.Interfaces;
///
/// Client for PDF validation operations (validate, validate PDF/A).
///
public interface IPdfValidationClient
{
///
/// Validates a PDF from stream (multipart upload).
///
/// PDF file stream
/// Cancellation token
/// Validation result with metadata
Task ValidatePdfAsync(Stream pdfStream, CancellationToken cancellationToken = default);
///
/// Validates a PDF from byte array (Base64 JSON).
///
/// PDF file as byte array
/// Cancellation token
/// Validation result with metadata
Task ValidatePdfAsync(byte[] pdfBytes, CancellationToken cancellationToken = default);
///
/// Validates a PDF/A from stream (multipart upload).
///
/// PDF/A file stream
/// Cancellation token
/// PDF/A validation result with conformance level and errors
Task ValidatePdfAAsync(Stream pdfStream, CancellationToken cancellationToken = default);
///
/// Validates a PDF/A from byte array (Base64 JSON).
///
/// PDF/A file as byte array
/// Cancellation token
/// PDF/A validation result with conformance level and errors
Task ValidatePdfAAsync(byte[] pdfBytes, CancellationToken cancellationToken = default);
}