import * as z from "zod/v3"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AmountDecimal, AmountDecimal$Outbound } from "./amountdecimal.js"; import { ProductImageMetadata, ProductImageMetadata$Outbound } from "./productimagemetadata.js"; import { ProductOptionGroup, ProductOptionGroup$Outbound } from "./productoptiongroup.js"; /** * A good or service offered by a merchant. */ export type Product = { /** * Unique identifier for a product. */ productID: string; title: string; /** * A detailed description of the product. * * @remarks * * - Must be valid UTF-8 text * - Supports Markdown for formatting * - HTML is not permitted and will be rejected */ description?: string | undefined; /** * A product's starting price, before applying modifiers. */ basePrice: AmountDecimal; /** * Optional configuration options for a product, such as size or color. */ optionGroups?: Array | undefined; /** * Optional images associated with the product. */ images?: Array | undefined; /** * The date and time when the product was added. */ createdOn: Date; /** * The date and time when the product was last updated. */ updatedOn: Date; /** * The date and time when the product was disabled. */ disabledOn?: Date | undefined; }; /** @internal */ export declare const Product$inboundSchema: z.ZodType; /** @internal */ export type Product$Outbound = { productID: string; title: string; description?: string | undefined; basePrice: AmountDecimal$Outbound; optionGroups?: Array | undefined; images?: Array | undefined; createdOn: string; updatedOn: string; disabledOn?: string | undefined; }; /** @internal */ export declare const Product$outboundSchema: z.ZodType; export declare function productToJSON(product: Product): string; export declare function productFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=product.d.ts.map