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<TCreditNote>;
    /**
     * Decodes a ZUGFeRD debit note (invoice)
     * @returns Promise resolving to a TDebitNote object
     */
    protected decodeDebitNote(): Promise<TDebitNote>;
    /**
     * 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;
}
