using DocumentOperator.Domain.ValueObjects;
namespace DocumentOperator.Application.Common.Interfaces;
///
/// Interface for Swiss QR Code processing operations.
/// Extracts and parses Swiss QR Codes from PDF documents.
///
public interface ISwissQrCodeProcessor
{
///
/// Extracts and parses Swiss QR Code from the last page of a PDF document.
///
/// PDF document as byte array
/// Cancellation token
/// Parsed Swiss QR Code data
///
/// Thrown when no Swiss QR Code is found on the last page
///
///
/// Thrown when PDF processing fails
///
Task ExtractSwissQrCodeAsync(byte[] pdfBytes, CancellationToken cancellationToken = default);
}