/**
 * src/integrations/zatca/ubl.ts
 * UBL 2.1 invoice XML generator (Phase-1 simplified tax invoice).
 *
 * This skeleton emits the structural document ZATCA's compliance and
 * clearance APIs expect. Phase-1 does not require the cryptographic
 * stamp / digital signature — those go inline as ds:Signature children
 * once the signing module lands. Until then we emit unsigned XML and
 * persist the raw document so it can be re-signed and re-submitted later
 * without a schema migration.
 */
export type UblInvoiceItem = {
    description: string;
    quantity: number;
    unitPrice: number;
    vatRate: number;
};
export type UblInvoiceInput = {
    invoiceNumber: string;
    invoiceUuid: string;
    issuedAt: string;
    invoiceType: 'simplified' | 'standard';
    seller: {
        name: string;
        vatNumber: string;
        crNumber?: string;
        address?: {
            street?: string;
            city?: string;
            postalCode?: string;
        };
    };
    buyer: {
        name: string;
        vatNumber?: string;
    };
    items: UblInvoiceItem[];
    currency: string;
};
export type UblInvoiceTotals = {
    subtotal: number;
    vatTotal: number;
    total: number;
};
export declare function computeTotals(items: UblInvoiceItem[]): UblInvoiceTotals;
/** Render a UBL 2.1 invoice XML document. */
export declare function renderUblInvoice(input: UblInvoiceInput): {
    xml: string;
    totals: UblInvoiceTotals;
};
//# sourceMappingURL=ubl.d.ts.map