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