package io.konik.sdk.invoice; import io.konik.zugferd.Invoice; import java.io.InputStream; public interface InvoiceApi { InvoiceDocument getInvoice(String id); InvoiceResponse createInvoice(Invoice invoice); InvoiceResponse createDraftInvoice(Invoice invoice); InvoiceResponse updateInvoice(String invoiceId, Invoice invoice); InvoiceResponse updateDraftInvoice(String invoiceId, Invoice invoice); InputStream downloadInvoiceAsPDF(String invoiceId); void deleteInvoice(String invoiceId); boolean sendInvoice(String invoiceId, String email, String message); boolean sendInvoice(String invoiceId, String email); InvoiceResponse uploadInvoice(InputStream pdf, InvoiceDocument.Type type); StatusResponse updateStatus(String invoiceId, Status status); }