/** * CNBV Transactions Resource * * Extends MexTransactionsResource with CNBV-specific behavior: * - Sets scopes to ["MX", "MX:CNBV"] * - Nests data under scopeData.MX.cnbv * - Returns MexCNBVTransaction models * * This is a passthrough to MX level (no CNBV-specific transaction fields). */ import type { AtomicBatchResult, CreateMexTransactionInput, CreateTransactionInput, ListOptions, MexTransactionFilter, MexTransactionSort, PaginatedResponse, PartialBatchResult, RelatedClient, TransactionSort, UpdateMexTransactionInput, UpdateTransactionInput, UpsertMexTransactionInput, UpsertResult } from "@artu-ai/shared"; import { ClientRole } from "@artu-ai/shared"; import { MexCNBVTransaction, type TransactionData } from "../../../models"; import { MexTransactionsResource } from "../transactions"; export declare class CNBVTransactionsResource extends MexTransactionsResource { protected static readonly SCOPE_PATH: string[]; create(data: CreateMexTransactionInput): Promise; retrieve(id: string, opts?: { crossScope?: boolean; }): Promise; retrieveByMetadata(key: string, value: string, opts?: { crossScope?: boolean; }): Promise; update(id: string, data: UpdateMexTransactionInput): Promise; list(options?: ListOptions & { crossScope?: boolean; }): Promise>; iterate(options?: { filter?: MexTransactionFilter; sort?: MexTransactionSort; pageSize?: number; crossScope?: boolean; }): AsyncGenerator; count(filter?: MexTransactionFilter, options?: { crossScope?: boolean; }): Promise; listByClient(clientId: string, options?: { cursor?: string; limit?: number; }): Promise>; linkClient(transactionId: string, clientId: string, role?: ClientRole): Promise; unlinkClient(transactionId: string, clientId: string): Promise; setClients(transactionId: string, clients: RelatedClient[]): Promise; createMany(transactions: CreateMexTransactionInput[], options?: { atomic?: true; }): Promise>; createMany(transactions: CreateMexTransactionInput[], options: { atomic: false; }): Promise>; updateMany(updates: { id: string; data: UpdateMexTransactionInput; }[], options?: { atomic?: true; }): Promise>; updateMany(updates: { id: string; data: UpdateMexTransactionInput; }[], options: { atomic: false; }): Promise>; upsertByExternalId(data: UpsertMexTransactionInput): Promise>; protected applyScopeToSort(sort?: MexTransactionSort): TransactionSort | undefined; protected transformToNested(data: CreateMexTransactionInput): CreateTransactionInput; protected transformUpdateToNested(data: UpdateMexTransactionInput): UpdateTransactionInput; protected instantiate(data: TransactionData): MexCNBVTransaction; /** Materializes a raw payload into a {@link MexCNBVTransaction} (return type narrowed via the `instantiate` override). */ materialize(data: TransactionData): MexCNBVTransaction; }