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