using DocumentOperator.Domain.Models.ValueObjects;
namespace DocumentOperator.Application.Common.Interfaces;
public interface IPdfProcessor
{
///
/// Validates a PDF and extracts metadata.
///
/// PDF content as byte array
/// PDF metadata (page count, size, version, attachments)
///
/// Thrown when PDF is corrupted or cannot be processed
///
Task ValidateAsync(byte[] pdfBytes);
///
/// Validates a PDF/A document and checks conformance level.
///
/// PDF content as byte array
/// PDF/A metadata including conformance level and validation errors/warnings
///
/// Thrown when PDF is corrupted or cannot be processed
///
Task ValidatePdfAAsync(byte[] pdfBytes);
}