/** * Mexico Tenant Resource * * Extends TenantResource with flattened MX update input. * Accepts MX scope fields (rfc, actividadVulnerable, cnbv) at root level * and transforms them to the nested format expected by the API. */ import type { TenantResponse } from "@artu-ai/shared"; import { TenantResource } from "../tenant"; /** Common AV scope tenant fields */ export interface AVScopeTenantFields { /** Collegiate entity code */ collegiateEntityCode?: string; /** Whether the entity is exempt */ exempt?: boolean; } /** * Flattened Mexico tenant update input type. * * Accepts MX-specific fields at the root level for better DX. * actividadVulnerable settings are per-scope (ARI, AVI, JYS, MJR, TSC). */ export interface MexUpdateTenantInput { /** Company display name */ name?: string; /** Company-wide RFC (shared across all MX activities) */ rfc?: string; /** Actividad Vulnerable settings (per scope) */ actividadVulnerable?: { ARI?: AVScopeTenantFields; AVI?: AVScopeTenantFields & { /** Platform domain */ platformDomain?: string; }; INM?: AVScopeTenantFields; JYS?: AVScopeTenantFields; MJR?: AVScopeTenantFields; MPC?: AVScopeTenantFields; TSC?: AVScopeTenantFields; VEH?: AVScopeTenantFields; }; /** CNBV settings */ cnbv?: { /** Transmisor-specific settings */ TRANSMISOR?: { /** Default branch code */ sucursal?: string; }; }; } /** * Mexico-scoped tenant resource. * * Provides the same get operation as TenantResource, but with * a flattened update input that accepts MX fields at root level. * * @example * ```typescript * await mexSdk.tenant.update({ * name: "My Company", * rfc: "ABC123456789", * actividadVulnerable: { * ARI: { collegiateEntityCode: "12345", exempt: false }, * AVI: { platformDomain: "exchange.example.com", exempt: false }, * }, * }); * ``` */ export declare class MexTenantResource extends TenantResource { update(data: MexUpdateTenantInput): Promise; }