/** * Mexico Alert Client Item Model * * Extends base AlertClientItem with Mexico-specific accessors for BOTH: * - Client scope data (from scopeData.MX — RFC, CURP, etc.) * - Alert item scope data (from alertItemScopeData.MX) */ import type { MexAlertItemScopeData, MexClientScopeData } from "@artu-ai/shared"; import { AlertClientItem, type AlertClientItemData } from "../AlertClientItem"; import { MexAddress } from "./MexAddress"; import { MexBankAccount } from "./MexBankAccount"; /** * Alert client item data with Mexico scope (both sides). * * - `scopeData.MX` — client-side data (RFC, CURP, etc.) * - `alertItemScopeData.MX` — alert-item-side data */ export type MexAlertClientItemData = AlertClientItemData & { scopeData?: { MX?: MexClientScopeData; [key: string]: unknown; }; alertItemScopeData?: { MX?: MexAlertItemScopeData; [key: string]: unknown; }; }; /** * Mexico Alert Client Item Model. * * Provides typed accessors for both: * - Client-side Mexico scope data (duplicated from MexClient) * - Alert-item-side Mexico scope data * * Extended by MexAVAlertClientItem. */ export declare class MexAlertClientItem extends AlertClientItem { /** * Mexico-specific client scope data (from scopeData.MX) */ protected get mexicoData(): MexClientScopeData | undefined; /** * Mexico-specific alert item scope data (from alertItemScopeData.MX) */ protected get alertItemMexicoData(): MexAlertItemScopeData | undefined; /** * RFC (Registro Federal de Contribuyentes) * Tax identification number */ get rfc(): string | undefined; /** * CURP (Clave Única de Registro de Población) * Only applicable for personas físicas */ get curp(): string | undefined; /** * Economic activity classification code */ get actividadEconomica(): string | undefined; /** * Business sector (giro mercantil) */ get giroMercantil(): string | undefined; /** * Whether client is registered for any Actividad Vulnerable */ get isActividadVulnerable(): boolean; /** * Activity codes the client is registered for */ get activityCodes(): string[]; /** * Checks if registered for a specific activity */ hasActivity(code: string): boolean; /** * CNBV sujeto codes the client has data for */ get cnbvSujetoCodes(): string[]; /** * Checks if client has data for a specific CNBV sujeto */ hasCNBVSujeto(code: string): boolean; /** * Whether the alert item has Actividad Vulnerable data */ get hasAlertItemActividadVulnerable(): boolean; get addresses(): MexAddress[] | undefined; get bankAccounts(): MexBankAccount[] | undefined; toString(): string; } import type { AlertClientItemModel } from "../types"; /** * Check if alert client item is a Mexico alert client item */ export declare function isMexAlertClientItem(item: AlertClientItemModel): item is MexAlertClientItem;