/** * Mexico INM Alert Transaction Item Model * * Alert transaction item model for Inmuebles (Real Estate Sale/Purchase) activity. * Provides BOTH transaction-side INM getters and alert-item-side INM getters. */ import type { inm } from "@artu-ai/shared"; import { MexAVAlertTransactionItem, type MexAVAlertTransactionItemData } from "../MexAVAlertTransactionItem"; /** * INM alert transaction item data */ export interface MexINMAlertTransactionItemData extends MexAVAlertTransactionItemData { alertItemScopeData?: { MX?: { actividadVulnerable?: { INM?: inm.INMAlertItemData; }; }; [key: string]: unknown; }; } /** * Mexico INM Alert Transaction Item Model. * * Provides typed accessors for both: * - Transaction-side INM data (operation, property, payments) * - Alert-item-side INM data (alert type, description, amendment) */ export declare class MexINMAlertTransactionItem extends MexAVAlertTransactionItem { /** * INM-specific transaction data */ protected get inmTxData(): inm.INMTransactionData | undefined; /** * Operation type */ get operationType(): string | undefined; /** * Client figure (Vendedor or Comprador) */ get figuraCliente(): string | undefined; /** * Obliged subject figure (Vendedor, Comprador, or Intermediario) */ get figuraSO(): string | undefined; /** * Array of property details for this transaction */ get inmuebles(): inm.INMPropertyData[]; /** * Array of payments for this transaction */ get payments(): inm.INMPaymentData[]; /** * 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; /** * INM-specific alert item data */ protected get alertItemInmData(): inm.INMAlertItemData | undefined; /** * Alert type code * - "100" for monthly alerts * - Other codes for unusual activity */ get alertType(): inm.INMTipoAlerta | 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(): inm.Amendment | undefined; /** * Whether this item is an amendment */ get isAmendment(): boolean; toString(): string; } import type { AlertTransactionItemModel } from "../../../types"; /** * Check if alert transaction item is an INM (Inmuebles) alert transaction item */ export declare function isMexINMAlertTransactionItem(item: AlertTransactionItemModel): item is MexINMAlertTransactionItem;