/** * ARI (Arrendamiento de Inmuebles - Real Estate Leasing) Alerts Resource * * Extends MexAlertsResource with ARI-specific behavior: * - Accepts flattened CreateARIAlertInput (ARI fields at root level) * - Returns MexARIAlert models */ import type { AlertItemFilter, AlertItemSort, AlertSort, ARIAlertFilter, ARIAlertItemFilter, ARIAlertSort, AriAlertDefaultsInput, AtomicBatchResult, CreateAlertInput, CreateAlertItemInput, CreateARIAlertInput, CreateARIAlertItemInput, GenerateResult, ListOptions, PaginatedResponse, PartialBatchResult, UpdateAlertInput, UpdateAlertItemInput, UpdateARIAlertInput, UpdateARIAlertItemInput, UpsertARIAlertInput, UpsertResult, ValidationResult } from "@artu-ai/shared"; import { ReportType } from "@artu-ai/shared"; import { type AlertClientItemData, type AlertData, type AlertItemData, type AlertTransactionItemData, MexARIAlert, MexARIAlertClientItem, MexARIAlertItem, MexARIAlertTransactionItem } from "../../../../models"; import { AlertItemsResource } from "../../../alert-items"; import { AVAlertsResource } from "../alerts"; /** * ARI (Arrendamiento de Inmuebles) scoped alerts resource. * * @example * ```typescript * const ariSdk = new ComplianceSDK({ * apiKey, * scope: "MX", * actividadVulnerable: CodigoActividad.ARI, * }); * * const alert = await ariSdk.alerts.create({ * mesReportado: "202401", * }); * * // Returns MexARIAlert * console.log(alert.mesReportado); * ``` */ export declare class ARIAlertsResource extends AVAlertsResource { create(data: CreateARIAlertInput): Promise; retrieve(id: string, opts?: { crossScope?: boolean; }): Promise; retrieveByMetadata(key: string, value: string, opts?: { crossScope?: boolean; }): Promise; retrieveByExternalId(externalId: string, opts?: { crossScope?: boolean; }): Promise; update(id: string, data: UpdateARIAlertInput): Promise; list(options?: ListOptions & { crossScope?: boolean; }): Promise>; iterate(options?: { filter?: ARIAlertFilter; sort?: ARIAlertSort; pageSize?: number; crossScope?: boolean; }): AsyncGenerator; count(filter?: ARIAlertFilter, options?: { crossScope?: boolean; }): Promise; createMany(alerts: CreateARIAlertInput[], options?: { atomic?: true; }): Promise>; createMany(alerts: CreateARIAlertInput[], options: { atomic: false; }): Promise>; updateMany(updates: { id: string; data: UpdateARIAlertInput; }[], options?: { atomic?: true; }): Promise>; updateMany(updates: { id: string; data: UpdateARIAlertInput; }[], options: { atomic: false; }): Promise>; upsertByExternalId(data: UpsertARIAlertInput): Promise>; upsertManyByExternalId(alerts: UpsertARIAlertInput[], options?: { atomic?: true; }): Promise>>; upsertManyByExternalId(alerts: UpsertARIAlertInput[], options: { atomic: false; }): Promise>>; addItem(alertId: string, data: CreateARIAlertItemInput): Promise; getItem(alertId: string, itemId: string): Promise; updateItem(alertId: string, itemId: string, data: UpdateARIAlertItemInput): Promise; listItems(alertId: string, options?: ListOptions): Promise>; protected applyScopeToItemFilter(filter?: ARIAlertItemFilter): AlertItemFilter | undefined; addItems(alertId: string, items: CreateARIAlertItemInput[]): Promise<{ added: number; items: MexARIAlertItem[]; }>; protected createItemsResource(): AlertItemsResource | undefined; } | undefined; alertType?: "100" | "3001" | "3002" | "3003" | "3004" | "3005" | "3006" | "3007" | "3008" | "3009" | "3010" | "3011" | "3012" | "3013" | "3014" | "3015" | "3016" | "3017" | "3018" | "3019" | "3020" | "3021" | "3022" | "3023" | "3024" | "9999" | { eq?: "100" | "3001" | "3002" | "3003" | "3004" | "3005" | "3006" | "3007" | "3008" | "3009" | "3010" | "3011" | "3012" | "3013" | "3014" | "3015" | "3016" | "3017" | "3018" | "3019" | "3020" | "3021" | "3022" | "3023" | "3024" | "9999" | undefined; in?: ("100" | "3001" | "3002" | "3003" | "3004" | "3005" | "3006" | "3007" | "3008" | "3009" | "3010" | "3011" | "3012" | "3013" | "3014" | "3015" | "3016" | "3017" | "3018" | "3019" | "3020" | "3021" | "3022" | "3023" | "3024" | "9999")[] | undefined; nin?: ("100" | "3001" | "3002" | "3003" | "3004" | "3005" | "3006" | "3007" | "3008" | "3009" | "3010" | "3011" | "3012" | "3013" | "3014" | "3015" | "3016" | "3017" | "3018" | "3019" | "3020" | "3021" | "3022" | "3023" | "3024" | "9999")[] | undefined; } | undefined; alertDescription?: string | { eq?: string | undefined; contains?: string | undefined; startsWith?: string | undefined; endsWith?: string | undefined; in?: string[] | undefined; nin?: string[] | undefined; } | undefined; }>; /** * Validates an ARI alert. * * @param alertId - The alert ID to validate * @param defaults - ARI alert defaults including rfc, alertType, etc. */ validateReport(alertId: string, defaults?: AriAlertDefaultsInput): Promise; /** * Generates XML for an ARI alert. * * @param alertId - The alert ID to generate XML for * @param defaults - ARI alert defaults including rfc, alertType, etc. */ generateReport(alertId: string, defaults?: AriAlertDefaultsInput): Promise; protected transformToNested(data: CreateARIAlertInput): CreateAlertInput; protected transformUpdateToNested(data: UpdateARIAlertInput): UpdateAlertInput; protected instantiate(data: AlertData): MexARIAlert; /** Materializes a raw payload into a {@link MexARIAlert} (return type narrowed via the `instantiate` override). */ materialize(data: AlertData): MexARIAlert; protected instantiateItem(data: AlertItemData): MexARIAlertItem; protected instantiateTransactionItem(data: AlertTransactionItemData): MexARIAlertTransactionItem; protected instantiateClientItem(data: AlertClientItemData): MexARIAlertClientItem; protected transformItemToNested(data: CreateARIAlertItemInput): CreateAlertItemInput; protected transformItemUpdateToNested(data: UpdateARIAlertItemInput): UpdateAlertItemInput; protected applyScopeToSort(sort?: ARIAlertSort): AlertSort | undefined; protected transformAriDefaultsToNested(alertId: string, defaults?: AriAlertDefaultsInput): { alertId: string; reportType: ReportType; defaults?: unknown; }; }