import { APIResource } from "../core/resource.js"; import * as CheckoutIntentsAPI from "./checkout-intents/checkout-intents.js"; import { APIPromise } from "../core/api-promise.js"; import { RequestOptions } from "../internal/request-options.js"; export declare class Products extends APIResource { /** * Lookup a product's information by URL. */ lookup(query: ProductLookupParams, options?: RequestOptions): APIPromise; } export interface Product { id: string; /** * The availability status of a product. * * - `in_stock`: Product is available for immediate purchase * - `out_of_stock`: Product is currently unavailable * - `preorder`: Product is available for pre-order before release * - `backorder`: Product is temporarily out of stock but can be ordered * - `unknown`: Availability could not be determined */ availability: ProductAvailability; brand: string | null; description: string | null; images: Array; isPurchasable: boolean; name: string; price: CheckoutIntentsAPI.Money; retailer: string | null; sku: string | null; url: string; variantDimensions?: Array | null; variants?: Array | null; } /** * The availability status of a product. * * - `in_stock`: Product is available for immediate purchase * - `out_of_stock`: Product is currently unavailable * - `preorder`: Product is available for pre-order before release * - `backorder`: Product is temporarily out of stock but can be ordered * - `unknown`: Availability could not be determined */ export type ProductAvailability = 'in_stock' | 'out_of_stock' | 'preorder' | 'backorder' | 'unknown'; export interface ProductImage { isFeatured: boolean; url: string; } export interface ProductVariant { id: string | null; /** * The availability status of a product. * * - `in_stock`: Product is available for immediate purchase * - `out_of_stock`: Product is currently unavailable * - `preorder`: Product is available for pre-order before release * - `backorder`: Product is temporarily out of stock but can be ordered * - `unknown`: Availability could not be determined */ availability: ProductAvailability; dimensions: Array; images: Array; name: string | null; price: CheckoutIntentsAPI.Money; sku: string | null; } export interface VariantDimension { label: string; values: Array; } export interface ProductLookupParams { url: string; } export declare namespace Products { export { type Product as Product, type ProductAvailability as ProductAvailability, type ProductImage as ProductImage, type ProductVariant as ProductVariant, type VariantDimension as VariantDimension, type ProductLookupParams as ProductLookupParams, }; } //# sourceMappingURL=products.d.ts.map