import { Product, ProductCollectionService, ProductService, Store, StoreService, TransactionBaseService } from "@medusajs/medusa"; import { ProductRepository } from "@medusajs/medusa/dist/repositories/product"; import { StoreRepository } from "@medusajs/medusa/dist/repositories/store"; import { Logger } from "@medusajs/medusa/dist/types/global"; import { ClientOptions } from "interfaces/shopify-interfaces"; import { EntityManager } from "typeorm"; import ShopifyProductService from "./shopify-product"; export interface ShopifyCollectionServiceParams { manager: EntityManager; shopifyProductService: ShopifyProductService; productCollectionService: ProductCollectionService; productService: ProductService; storeService: StoreService; storeRepository: typeof StoreRepository; productRepository: typeof ProductRepository; logger: Logger; } declare class ShopifyCollectionService extends TransactionBaseService { static LIFE_TIME: import("awilix").LifetimeType; options: ClientOptions; productService_: ShopifyProductService; collectionService_: ProductCollectionService; storeService_: StoreService; medusaProductService_: ProductService; productRepository_: typeof ProductRepository; logger: any; storeRepository_: typeof StoreRepository; constructor(container: ShopifyCollectionServiceParams, options: any); withTransaction(transactionManager: EntityManager): this; /** * * @param {Object[]} collects * @param {Object[]} collections * @param {Object[]} products * @return {Promise} */ createCustomCollections(collects: any, collections: any, products: Product[], storeId?: string): Promise; createSmartCollections(collections: any, products: any, storeId: any): Promise; addProductsToCollection(collectionId: any, productIds: any): Promise; getCustomCollectionProducts_(shCollectionId: string, collects: any, products: Product[]): string[]; getValidProducts_(rules: any, products: any, disjunctive: any, defaultCurrency: any): any; testRule_(rule: any, product: any, defaultCurrency?: any): boolean; testTextRelation_(text: any, relation: any, condition: any): boolean; testNumberRelation_(number: any, relation: any, condition: any): boolean; normalizeCustomCollection_(shopifyCollection: any, storeId: string): any; normalizeSmartCollection_(smartCollection: any, storeId: string): any; getStoreByIdOrName(storeId: string): Promise; } export default ShopifyCollectionService;