/** * CNBV Products Resource * * Extends MexProductsResource with CNBV-specific behavior: * - Sets scopes to ["MX", "MX:CNBV"] * - Nests data under scopeData.MX.cnbv * - Returns MexCNBVProduct models * * This is a passthrough to MX level (no CNBV-specific product fields). */ import type { CreateMexProductInput, CreateProductInput, ListOptions, PaginatedResponse, ProductFilter, ProductSort, UpdateMexProductInput, UpdateProductInput, UpsertMexProductInput, UpsertResult } from "@artu-ai/shared"; import { MexCNBVProduct, type ProductData } from "../../../models"; import { MexProductsResource } from "../products"; export declare class CNBVProductsResource extends MexProductsResource { create(data: CreateMexProductInput): Promise; retrieve(id: string, opts?: { crossScope?: boolean; }): Promise; retrieveByExternalId(externalId: string, opts?: { crossScope?: boolean; }): Promise; update(id: string, data: UpdateMexProductInput): Promise; list(options?: ListOptions & { crossScope?: boolean; }): Promise>; count(filter?: ProductFilter, options?: { crossScope?: boolean; }): Promise; iterate(options?: { filter?: ProductFilter; sort?: ProductSort; pageSize?: number; crossScope?: boolean; }): AsyncGenerator; upsertByExternalId(data: UpsertMexProductInput): Promise>; protected transformToNested(data: CreateMexProductInput): CreateProductInput; protected transformUpdateToNested(data: UpdateMexProductInput): UpdateProductInput; protected instantiate(data: ProductData): MexCNBVProduct; /** Materializes a raw payload into a {@link MexCNBVProduct} (return type narrowed via the `instantiate` override). */ materialize(data: ProductData): MexCNBVProduct; }