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