import { y as CurrencyCode, c as Product, P as ProductClassification, S as SEOContent, b as ShopifyProduct, d as ShopifySingleProduct, g as StoreInfo } from './store-CJVUz2Yb.js'; /** * Interface for product operations */ interface ProductOperations { /** * Fetches all products from the store across all pages. */ all(options?: { currency?: CurrencyCode; }): Promise; /** * Fetches products with pagination support. */ paginated(options?: { page?: number; limit?: number; currency?: CurrencyCode; }): Promise; /** * Finds a specific product by its handle. */ find(productHandle: string, options?: { currency?: CurrencyCode; }): Promise; /** * Finds a product by handle and enriches its content using LLM. * Requires an OpenAI API key via options.apiKey or process.env.OPENAI_API_KEY. */ enriched(productHandle: string, options?: { apiKey?: string; useGfm?: boolean; inputType?: "markdown" | "html"; model?: string; outputFormat?: "markdown" | "json"; }): Promise; classify(productHandle: string, options?: { apiKey?: string; model?: string; }): Promise; /** * Generate SEO and marketing content for a product. */ generateSEOContent(productHandle: string, options?: { apiKey?: string; model?: string; }): Promise; /** * Fetches products that are showcased/featured on the store's homepage. */ showcased(): Promise; /** * Creates a filter map of variant options and their distinct values from all products. */ filter(): Promise | null>; } /** * Creates product operations for a store instance */ declare function createProductOperations(baseUrl: string, storeDomain: string, fetchProducts: (page: number, limit: number) => Promise, productsDto: (products: ShopifyProduct[]) => Product[] | null, productDto: (product: ShopifySingleProduct) => Product, getStoreInfo: () => Promise, findProduct: (handle: string) => Promise): ProductOperations; export { type ProductOperations, createProductOperations };