/** * Mexico MJR (Metales y Joyas - Precious Metals and Jewelry) Product * * Specialized for precious metals and jewelry product templates. */ import type { MJRProductData } from "@artu-ai/shared"; import { MexAVProduct } from "../MexAVProduct"; /** * Mexico MJR Product Model. * * Provides typed accessors for precious metals/jewelry product data. * MJR products have goods templates and payment defaults. * * @example * ```typescript * if (product instanceof MexMJRProduct) { * console.log(`Operation: ${product.operationType}`); * console.log(`Goods: ${product.goods.length}`); * } * ``` */ export declare class MexMJRProduct extends MexAVProduct { /** * MJR-specific product data */ protected get mjrData(): MJRProductData | undefined; /** * Operation type (sale or purchase) */ get operationType(): string | undefined; /** * Postal code where the operation takes place */ get operationPostalCode(): string | undefined; /** * Array of goods templates for this product */ get goods(): NonNullable; /** * Whether this product has any goods templates */ get hasGoods(): boolean; /** * Total number of goods templates */ get goodsCount(): number; /** * Payment default templates for this product */ get paymentDefaults(): NonNullable; /** * Whether this product has payment defaults */ get hasPaymentDefaults(): boolean; /** * Whether this is a sale product */ get isSale(): boolean; /** * Whether this is a purchase product */ get isPurchase(): boolean; toString(): string; } import type { Product } from "../../../Product"; /** * Check if product is a MJR (Metales y Joyas) product */ export declare function isMexMJRProduct(product: Product): product is MexMJRProduct;