import { XMLBuilder, XMLBuilderCreateOptions } from 'xmlbuilder2/lib/interfaces'; import { BaseCompanyInfo, BaseInvoice } from '../models'; /** * Represents a wrapper around XML nodes to implement easy to use and chainable document builder methods. */ export type XML = XMLBuilder; /** * Utility class for handling xml files. */ export declare abstract class XmlUtilities { /** * Creates an XML document without any child nodes with the given options. * @param options - Builder options. * @returns Document node. */ static create(options?: XMLBuilderCreateOptions): XML; /** * Creates an cross industry invoice compliant xml file. * @param invoice - The invoice data to generate the xml from. * @param currency - The currency code, eg. 'USD'. * @param companyInfo - Info about the seller. * @param tradeContact - The trade contact. Defaults to companyInfo.ceo. * @param documentContextId - The identifier for the GuidelineSpecifiedDocumentContextParameter ID. * @returns The finished xml. * @throws When the provided invoice data cannot be transformed to an valid xml. */ static createCrossIndustryInvoiceXml(invoice: Invoice, currency: string, companyInfo: BaseCompanyInfo, tradeContact?: string | undefined, documentContextId?: string): XML; private static buildBuyerParty; private static buildSellerParty; private static buildTradeLineItems; private static getTaxGroups; }