/** * JYS (Joyeria y Piedras Preciosas) Products Resource * * Extends MexProductsResource with JYS-specific behavior: * - Accepts flattened CreateJYSProductInput (JYS fields at root level) * - Returns MexJYSProduct models */ import type { CreateJYSProductInput, CreateProductInput, ListOptions, PaginatedResponse, ProductFilter, ProductSort, UpdateJYSProductInput, UpdateProductInput, UpsertJYSProductInput, UpsertResult } from "@artu-ai/shared"; import { MexJYSProduct, type ProductData } from "../../../../models"; import { AVProductsResource } from "../products"; export declare class JYSProductsResource extends AVProductsResource { create(data: CreateJYSProductInput): Promise; retrieve(id: string, opts?: { crossScope?: boolean; }): Promise; retrieveByExternalId(externalId: string, opts?: { crossScope?: boolean; }): Promise; update(id: string, data: UpdateJYSProductInput): 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: UpsertJYSProductInput): Promise>; protected transformToNested(data: CreateJYSProductInput): CreateProductInput; protected transformUpdateToNested(data: UpdateJYSProductInput): UpdateProductInput; protected instantiate(data: ProductData): MexJYSProduct; /** Materializes a raw payload into a {@link MexJYSProduct} (return type narrowed via the `instantiate` override). */ materialize(data: ProductData): MexJYSProduct; }