import { CIIBaseDecoder } from '../cii.decoder.js'; import type { TCreditNote, TDebitNote } from '../../../interfaces/common.js'; /** * Decoder for ZUGFeRD invoice format */ export declare class ZUGFeRDDecoder extends CIIBaseDecoder { /** * Decodes a ZUGFeRD credit note * @returns Promise resolving to a TCreditNote object */ protected decodeCreditNote(): Promise; /** * Decodes a ZUGFeRD debit note (invoice) * @returns Promise resolving to a TDebitNote object */ protected decodeDebitNote(): Promise; /** * Extracts common invoice data from ZUGFeRD XML * @returns Common invoice data */ private extractCommonData; /** * Extracts party information from ZUGFeRD XML * @param partyXPath XPath to the party node * @returns Party information as TContact */ private extractParty; /** * Extracts invoice items from ZUGFeRD XML * @returns Array of invoice items */ private extractItems; /** * Extracts notes from ZUGFeRD XML * @returns Array of notes */ private extractNotes; /** * Creates a default date for empty date fields * @returns Default date as timestamp */ private createDefaultDate; }