/** * Mexico ARI (Arrendamiento de Inmuebles - Real Estate Leasing) Transaction * * Specialized for real estate leasing transactions. */ import type { ari } from "@artu-ai/shared"; import { MexAVTransaction } from "../MexAVTransaction"; /** * Mexico ARI Transaction Model. * * Provides typed accessors for real estate leasing transaction data. * ARI transactions have lease property details nested under `property` and a payments[] array. * * @example * ```typescript * if (txn instanceof MexARITransaction) { * console.log(`Operation: ${txn.operationType}`); * console.log(`Property type: ${txn.property?.type}`); * console.log(`Interior: ${txn.property?.numeroInterior}`); * console.log(`Payments: ${txn.payments.length}`); * } * ``` */ export declare class MexARITransaction extends MexAVTransaction { /** * ARI-specific transaction data */ protected get ariData(): ari.ARITransactionData | undefined; /** * Operation type */ get operationType(): string | undefined; /** * Property details (lease dates, type, value, address, folio) * * @example * ```typescript * txn.property?.type // "1" (Casa) * txn.property?.leaseStartDate // "2024-01-01" * txn.property?.colonia // "Roma Norte" * txn.property?.numeroInterior // "4B" (optional) * txn.property?.folioReal // "12345" * ``` */ get property(): ari.ARIPropertyData | undefined; /** * Array of payments for this transaction */ get payments(): ari.ARIPaymentData[]; /** * 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; toString(): string; } import type { TransactionModel } from "../../../types"; /** * Check if transaction is an ARI (Arrendamiento de Inmuebles) transaction */ export declare function isMexARITransaction(txn: TransactionModel): txn is MexARITransaction;