import { Service } from "../serviceSDK"; import { Product } from "../../types/product"; /** * Service class for managing product-related operations. */ export declare class ProductService extends Service { /** * Constructs a new ProductService instance. * @param endpoint - The endpoint URL for the service. * @param orgId - The organization ID. * @param storeId - The store ID. */ constructor(endpoint: string, orgId: string, storeId: string); /** * Retrieves a product by its ID. * @param productId - The ID of the product. * @returns A promise that resolves to the product. * @throws If an error occurs while fetching the product. */ getProductById(productId: string): Promise; getProductByIdV2(productId: string): Promise; getSimpleProductById(productId: string): Promise; /** * Retrieves a product by its slug. * @param slug - The slug of the product. * @returns A promise that resolves to the product. * @throws If an error occurs while fetching the product. */ getProductBySlug(slug: string): Promise; /** * Retrieves simple products based on the provided variables. * @param variables - The variables for the query. * @returns A promise that resolves to the simple products. * @throws If an error occurs while fetching the simple products. */ getSimpleProducts(variables: any): Promise; getProductOption(productId: string): Promise; getPolicy(groupId: string): Promise; getStores(type: string): Promise; getDetailStores(): Promise; getDetailStoresV2(storeId: string): Promise; getDetailStoresV3(partnerId: string, storeId: string): Promise; getProductImage: (productId: string) => Promise; getCategory(typeBuild: string, level: number, storeId: string): Promise; getProduct(dataQuery: any): Promise; getProductV2(dataQuery: any): Promise; updateProductTitle(productId: string, title: string, updatedBy: string): Promise; updatePrice(productId: string, price: string, updatedBy: string): Promise; updatePricePromotion(productId: string, price: string, updatedBy: string): Promise; updateCategory(productId: string, categoryId: string, updatedBy: string): Promise; updateShortDescription(productId: string, shortDescription: string, updatedBy: string): Promise; updateUnit(productId: string, unitId: string, updatedBy: string): Promise; getUnits(): Promise; clearAllCaches(): Promise; getProductVariantById(variantId: string): Promise; createProductTemplatesByPartner(partnerId: string): Promise; createProductFromTemplate(templateId: string, createdBy: string): Promise; getProductTemplates(groupId: string): Promise; getGroups(): Promise; getBrand(): Promise; getTags(): Promise; addProductAttribute(productId: string, key: string, values: [string]): Promise; saveProductDraft(productId: string, productInputDTOS: [any]): Promise; updateProductBrand(productId: string, brandId: string, updatedBy: string): Promise; updateProductAttribute(productId: string, attributeId: string, key: string, values: [string]): Promise; removeProductAttribute(productId: string, key: string): Promise; createProductVariant(attributes: [any]): Promise; updateProductSKU(productId: string, sku: string, updatedBy: string): Promise; updateProductVAT(productId: string, vat: number, updatedBy: string): Promise; createGroup(name: string, createdBy: string): Promise; createCategory(name: string, createdBy: string): Promise; createBrand(brandName: string, createdBy: string): Promise; createUnit(name: string): Promise; createProductImages(productId: string, createdBy: string, imageDTO: any): Promise; removeProductImages(productId: string, imageDTO: any): Promise; buildProductPreBuildByProduct(productId: string): Promise; buildProductPreBuildByStore(storeIds: [string]): Promise; getProductByGroup(storeChannel: string, group: string): Promise; RemoveImage(productId: string): Promise; CreateProduct(productInputDTO: any): Promise; RemoveProduct(productId: string): Promise; UpdateProductSubtype(productId: string, subType: string): Promise; getCategoryById(categoryId: string): Promise; getCategoryByHandle(handle: string): Promise; updateAttributeMetadata(productId: string, attributeId: string, attributeMetadata: any): Promise; createTag(dataTag: any): Promise; addProductTag(dataTag: any): Promise; removeProductTag(dataTag: any): Promise; getTagsByProduct(productId: string): Promise; getProductStoreByScope(scope: string, enable: boolean): Promise; getProductStorePublic(productId: string, isPublic: boolean): Promise; publicProduct(storeId: string, productId: string, isPublic: boolean, updatedBy: string): Promise; getProductMarketplace(dataQuery: any): Promise; getProductMarketplaceDetailBySlug(storeChannel: string, slug: string): Promise; getProductMarketplaceDetailById(storeChannel: string, id: string): Promise; getProductMarketplaceBySupplier(dataQuery: any): Promise; getProductSimpleByHandle(handle: string, store: string, fields: string[]): Promise; getStoresAndDescription(dataQuery: any): Promise; getProductRealtedToArticle(articleId: string, fields: string[]): Promise; getListPrice(productIds: string[]): Promise; }