/** * VEH (VehĂ­culos) Transactions Resource * * Extends MexTransactionsResource with VEH-specific behavior: * - Accepts flattened CreateVEHTransactionInput (VEH fields at root level) * - Returns MexVEHTransaction models * - Handles operationType, postalCode, vehicles[] array, payments[] array */ import type { AtomicBatchResult, CreateTransactionInput, CreateVEHTransactionInput, ListOptions, PaginatedResponse, PartialBatchResult, RelatedClient, TransactionSort, UpdateTransactionInput, UpdateVEHTransactionInput, UpsertResult, UpsertVEHTransactionInput, VEHTransactionFilter, VEHTransactionSort } from "@artu-ai/shared"; import { MexVEHTransaction, type TransactionData } from "../../../../models"; import { AVTransactionsResource } from "../transactions"; /** * VEH (VehĂ­culos) scoped transactions resource. * * @example * ```typescript * const vehSdk = new ComplianceSDK({ * apiKey, * scope: "MX:AV:VEH", * }); * * const txn = await vehSdk.transactions.create({ * amount: 150000, * currency: "MXN", * timestamp: new Date(), * operationType: "801", * postalCode: "06700", * vehicles: [ * { * kind: "terrestre", * marcaFabricante: "NISSAN", * modelo: "VERSA", * anio: "2024", * vin: "1N4AL3AP8JC123456", * }, * ], * payments: [ * { monetaryInstrument: "1", currency: "1", amount: "150000.00" } * ], * relatedClientIds: [client.id], * }); * ``` */ export declare class VEHTransactionsResource extends AVTransactionsResource { protected static readonly SCOPE_PATH: string[]; create(data: CreateVEHTransactionInput): Promise; retrieve(id: string, opts?: { crossScope?: boolean; }): Promise; retrieveByMetadata(key: string, value: string, opts?: { crossScope?: boolean; }): Promise; update(id: string, data: UpdateVEHTransactionInput): Promise; list(options?: ListOptions & { crossScope?: boolean; }): Promise>; iterate(options?: { filter?: VEHTransactionFilter; sort?: VEHTransactionSort; pageSize?: number; crossScope?: boolean; }): AsyncGenerator; count(filter?: VEHTransactionFilter, options?: { crossScope?: boolean; }): Promise; listByClient(clientId: string, options?: { cursor?: string; limit?: number; }): Promise>; linkClient(transactionId: string, clientId: string, role?: import("@artu-ai/shared").ClientRole): Promise; unlinkClient(transactionId: string, clientId: string): Promise; setClients(transactionId: string, clients: RelatedClient[]): Promise; createMany(transactions: CreateVEHTransactionInput[], options?: { atomic?: true; }): Promise>; createMany(transactions: CreateVEHTransactionInput[], options: { atomic: false; }): Promise>; updateMany(updates: { id: string; data: UpdateVEHTransactionInput; }[], options?: { atomic?: true; }): Promise>; updateMany(updates: { id: string; data: UpdateVEHTransactionInput; }[], options: { atomic: false; }): Promise>; upsertByExternalId(data: UpsertVEHTransactionInput): Promise>; upsertManyByExternalId(transactions: UpsertVEHTransactionInput[], options?: { atomic?: true; }): Promise>>; upsertManyByExternalId(transactions: UpsertVEHTransactionInput[], options: { atomic: false; }): Promise>>; protected transformToNested(data: CreateVEHTransactionInput): CreateTransactionInput; protected transformUpdateToNested(data: UpdateVEHTransactionInput): UpdateTransactionInput; protected instantiate(data: TransactionData): MexVEHTransaction; /** Materializes a raw payload into a {@link MexVEHTransaction} (return type narrowed via the `instantiate` override). */ materialize(data: TransactionData): MexVEHTransaction; protected applyScopeToSort(sort?: VEHTransactionSort): TransactionSort | undefined; }