/** * Mexico MJR (Metales y Joyas - Precious Metals and Jewelry) Transaction * * Specialized for precious metals and jewelry transactions. */ import type { mjr } from "@artu-ai/shared"; import { MexAVTransaction } from "../MexAVTransaction"; /** * Mexico MJR Transaction Model. * * Provides typed accessors for precious metals/jewelry transaction data. * MJR transactions have nested goods[] and payments[] arrays. * * @example * ```typescript * if (txn instanceof MexMJRTransaction) { * console.log(`Operation: ${txn.operationType}`); * console.log(`Goods: ${txn.goods.length}`); * console.log(`Payments: ${txn.payments.length}`); * } * ``` */ export declare class MexMJRTransaction extends MexAVTransaction { /** * MJR-specific transaction data */ protected get mjrData(): mjr.MJRTransactionData | undefined; /** * Operation type (sale or purchase) */ get operationType(): string | undefined; /** * Postal code where the operation took place */ get operationPostalCode(): string | undefined; /** * Array of goods traded in this transaction */ get goods(): mjr.MJRGoodData[]; /** * Whether this transaction has any goods */ get hasGoods(): boolean; /** * Total number of goods in this transaction */ get goodsCount(): number; /** * Array of payments for this transaction */ get payments(): mjr.MJRPaymentData[]; /** * Whether this transaction has any payments */ get hasPayments(): boolean; /** * Total number of payments in this transaction */ get paymentsCount(): number; /** * Total payment amount across all payments */ get totalPaymentAmount(): number; /** * Whether this is a sale transaction */ get isSale(): boolean; /** * Whether this is a purchase transaction */ get isPurchase(): boolean; toString(): string; } import type { TransactionModel } from "../../../types"; /** * Check if transaction is a MJR (Metales y Joyas) transaction */ export declare function isMexMJRTransaction(txn: TransactionModel): txn is MexMJRTransaction;