using DocumentService.Application.Common.DTOs;
namespace DocumentService.Client.Interfaces;
///
/// Client for Swiss QR Code extraction operations.
///
public interface ISwissQrCodeClient
{
///
/// Extracts Swiss QR Code from PDF (multipart).
///
/// PDF file stream
/// If true, returns raw QR text lines instead of parsed Bill object
/// Cancellation token
/// Swiss QR Code extraction result
Task ExtractSwissQrCodeAsync(Stream pdfStream, bool raw = false, CancellationToken cancellationToken = default);
///
/// Extracts Swiss QR Code from PDF (Base64).
///
/// PDF file as byte array
/// If true, returns raw QR text lines instead of parsed Bill object
/// Cancellation token
/// Swiss QR Code extraction result
Task ExtractSwissQrCodeAsync(byte[] pdfBytes, bool raw = false, CancellationToken cancellationToken = default);
}