/** * VEH (VehĂ­culos) Alerts Resource * * Extends MexAlertsResource with VEH-specific behavior: * - Accepts flattened CreateVEHAlertInput (VEH fields at root level) * - Returns MexVEHAlert models */ import type { AlertItemFilter, AlertItemSort, AlertSort, AtomicBatchResult, CreateAlertInput, CreateAlertItemInput, CreateVEHAlertInput, CreateVEHAlertItemInput, GenerateResult, ListOptions, PaginatedResponse, PartialBatchResult, UpdateAlertInput, UpdateAlertItemInput, UpdateVEHAlertInput, UpdateVEHAlertItemInput, UpsertResult, UpsertVEHAlertInput, ValidationResult, VEHAlertFilter, VEHAlertItemFilter, VEHAlertSort, VehAlertDefaultsInput } from "@artu-ai/shared"; import { ReportType } from "@artu-ai/shared"; import { type AlertClientItemData, type AlertData, type AlertItemData, type AlertTransactionItemData, MexVEHAlert, MexVEHAlertClientItem, MexVEHAlertItem, MexVEHAlertTransactionItem } from "../../../../models"; import { AlertItemsResource } from "../../../alert-items"; import { AVAlertsResource } from "../alerts"; /** * VEH (VehĂ­culos) scoped alerts resource. * * @example * ```typescript * const vehSdk = new ComplianceSDK({ * apiKey, * scope: "MX:AV:VEH", * }); * * const alert = await vehSdk.alerts.create({ * mesReportado: "202401", * }); * * // Returns MexVEHAlert * console.log(alert.mesReportado); * ``` */ export declare class VEHAlertsResource extends AVAlertsResource { create(data: CreateVEHAlertInput): 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: UpdateVEHAlertInput): Promise; list(options?: ListOptions & { crossScope?: boolean; }): Promise>; iterate(options?: { filter?: VEHAlertFilter; sort?: VEHAlertSort; pageSize?: number; crossScope?: boolean; }): AsyncGenerator; count(filter?: VEHAlertFilter, options?: { crossScope?: boolean; }): Promise; createMany(alerts: CreateVEHAlertInput[], options?: { atomic?: true; }): Promise>; createMany(alerts: CreateVEHAlertInput[], options: { atomic: false; }): Promise>; updateMany(updates: { id: string; data: UpdateVEHAlertInput; }[], options?: { atomic?: true; }): Promise>; updateMany(updates: { id: string; data: UpdateVEHAlertInput; }[], options: { atomic: false; }): Promise>; upsertByExternalId(data: UpsertVEHAlertInput): Promise>; upsertManyByExternalId(alerts: UpsertVEHAlertInput[], options?: { atomic?: true; }): Promise>>; upsertManyByExternalId(alerts: UpsertVEHAlertInput[], options: { atomic: false; }): Promise>>; addItem(alertId: string, data: CreateVEHAlertItemInput): Promise; getItem(alertId: string, itemId: string): Promise; updateItem(alertId: string, itemId: string, data: UpdateVEHAlertItemInput): Promise; listItems(alertId: string, options?: ListOptions): Promise>; protected applyScopeToItemFilter(filter?: VEHAlertItemFilter): AlertItemFilter | undefined; addItems(alertId: string, items: CreateVEHAlertItemInput[]): Promise<{ added: number; items: MexVEHAlertItem[]; }>; protected createItemsResource(): AlertItemsResource | undefined; } | undefined; alertType?: "100" | "9999" | "2501" | "2502" | "2503" | "2504" | "2505" | "2506" | "2507" | "2508" | "2509" | "2510" | "2511" | "2512" | "2513" | "2514" | "2515" | "2516" | "2517" | "2518" | "2519" | "2520" | "2521" | { eq?: "100" | "9999" | "2501" | "2502" | "2503" | "2504" | "2505" | "2506" | "2507" | "2508" | "2509" | "2510" | "2511" | "2512" | "2513" | "2514" | "2515" | "2516" | "2517" | "2518" | "2519" | "2520" | "2521" | undefined; in?: ("100" | "9999" | "2501" | "2502" | "2503" | "2504" | "2505" | "2506" | "2507" | "2508" | "2509" | "2510" | "2511" | "2512" | "2513" | "2514" | "2515" | "2516" | "2517" | "2518" | "2519" | "2520" | "2521")[] | undefined; nin?: ("100" | "9999" | "2501" | "2502" | "2503" | "2504" | "2505" | "2506" | "2507" | "2508" | "2509" | "2510" | "2511" | "2512" | "2513" | "2514" | "2515" | "2516" | "2517" | "2518" | "2519" | "2520" | "2521")[] | undefined; } | undefined; alertDescription?: string | { eq?: string | undefined; contains?: string | undefined; startsWith?: string | undefined; endsWith?: string | undefined; in?: string[] | undefined; nin?: string[] | undefined; } | undefined; }>; /** * Validates a VEH alert. * * @param alertId - The alert ID to validate * @param defaults - VEH alert defaults including rfc, alertType, etc. */ validateReport(alertId: string, defaults?: VehAlertDefaultsInput): Promise; /** * Generates XML for a VEH alert. * * @param alertId - The alert ID to generate XML for * @param defaults - VEH alert defaults including rfc, alertType, etc. */ generateReport(alertId: string, defaults?: VehAlertDefaultsInput): Promise; protected transformToNested(data: CreateVEHAlertInput): CreateAlertInput; protected transformUpdateToNested(data: UpdateVEHAlertInput): UpdateAlertInput; protected instantiate(data: AlertData): MexVEHAlert; /** Materializes a raw payload into a {@link MexVEHAlert} (return type narrowed via the `instantiate` override). */ materialize(data: AlertData): MexVEHAlert; protected instantiateItem(data: AlertItemData): MexVEHAlertItem; protected instantiateTransactionItem(data: AlertTransactionItemData): MexVEHAlertTransactionItem; protected instantiateClientItem(data: AlertClientItemData): MexVEHAlertClientItem; protected transformItemToNested(data: CreateVEHAlertItemInput): CreateAlertItemInput; protected transformItemUpdateToNested(data: UpdateVEHAlertItemInput): UpdateAlertItemInput; protected applyScopeToSort(sort?: VEHAlertSort): AlertSort | undefined; protected transformVehDefaultsToNested(alertId: string, defaults?: VehAlertDefaultsInput): { alertId: string; reportType: ReportType; defaults?: unknown; }; }