/** * Mexico MJR Alert Transaction Item Model * * Alert transaction item model for Metales y Joyas (Precious Metals and Jewelry) activity. * Provides BOTH transaction-side MJR getters (from MexMJRTransaction) * and alert-item-side MJR getters. */ import type { mjr } from "@artu-ai/shared"; import { MexAVAlertTransactionItem, type MexAVAlertTransactionItemData } from "../MexAVAlertTransactionItem"; /** * MJR alert transaction item data */ export interface MexMJRAlertTransactionItemData extends MexAVAlertTransactionItemData { alertItemScopeData?: { MX?: { actividadVulnerable?: { MJR?: mjr.MJRAlertItemData; }; }; [key: string]: unknown; }; } /** * Mexico MJR Alert Transaction Item Model. * * Provides typed accessors for both: * - Transaction-side MJR data (operation, goods, payments) * - Alert-item-side MJR data (alert type, description, amendment) */ export declare class MexMJRAlertTransactionItem extends MexAVAlertTransactionItem { /** * 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; /** * MJR-specific alert item data */ protected get alertItemMjrData(): mjr.MJRAlertItemData | undefined; /** * Alert type code * - "100" for monthly alerts * - Other codes for unusual activity */ get alertType(): mjr.MJRTipoAlerta | undefined; /** * Alert description (for unusual activity) * Lives at the AV level: alertItemScopeData.MX.actividadVulnerable.alertDescription */ get alertDescription(): string | undefined; /** * Amendment data for corrections * Lives at the AV level: alertItemScopeData.MX.actividadVulnerable.amendment */ get amendment(): mjr.Amendment | undefined; /** * Whether this item is an amendment */ get isAmendment(): boolean; toString(): string; } import type { AlertTransactionItemModel } from "../../../types"; /** * Check if alert transaction item is a MJR (Metales y Joyas) alert transaction item */ export declare function isMexMJRAlertTransactionItem(item: AlertTransactionItemModel): item is MexMJRAlertTransactionItem;