import { AddPricesDTO, Context, DAL, FindConfig, InferEntityType, InternalModuleDeclaration, MedusaContainer, ModuleJoinerConfig, ModulesSdkTypes, PricePreferenceDTO, PriceSetDTO, PricingContext, PricingFilters, PricingRepositoryService, PricingTypes, UpsertPricePreferenceDTO, UpsertPriceSetDTO } from "@medusajs/framework/types"; import { ModulesSdkUtils, PriceListType, PricingRuleOperator } from "@medusajs/framework/utils"; import { Price, PriceList, PriceListRule, PricePreference, PriceRule, PriceSet } from "../models"; import { ServiceTypes } from "../types"; type InjectedDependencies = { baseRepository: DAL.RepositoryService; pricingRepository: PricingRepositoryService; priceSetService: ModulesSdkTypes.IMedusaInternalService; priceRuleService: ModulesSdkTypes.IMedusaInternalService; priceService: ModulesSdkTypes.IMedusaInternalService; priceListService: ModulesSdkTypes.IMedusaInternalService; pricePreferenceService: ModulesSdkTypes.IMedusaInternalService; priceListRuleService: ModulesSdkTypes.IMedusaInternalService; }; declare const BaseClass: ModulesSdkUtils.MedusaServiceReturnType<{ PriceSet: { dto: PricingTypes.PriceSetDTO; }; Price: { dto: PricingTypes.PriceDTO; }; PriceRule: { dto: PricingTypes.PriceRuleDTO; create: PricingTypes.CreatePriceRuleDTO; update: PricingTypes.UpdatePriceRuleDTO; }; PriceList: { dto: PricingTypes.PriceListDTO; }; PriceListRule: { dto: PricingTypes.PriceListRuleDTO; }; PricePreference: { dto: any; }; }>; export default class PricingModuleService extends BaseClass implements PricingTypes.IPricingModuleService { protected readonly moduleDeclaration: InternalModuleDeclaration; protected readonly container_: MedusaContainer; protected baseRepository_: DAL.RepositoryService; protected readonly pricingRepository_: PricingRepositoryService & { clearAvailableAttributes?: () => Promise; }; protected readonly priceSetService_: ModulesSdkTypes.IMedusaInternalService>; protected readonly priceRuleService_: ModulesSdkTypes.IMedusaInternalService>; protected readonly priceService_: ModulesSdkTypes.IMedusaInternalService>; protected readonly priceListService_: ModulesSdkTypes.IMedusaInternalService>; protected readonly priceListRuleService_: ModulesSdkTypes.IMedusaInternalService>; protected readonly pricePreferenceService_: ModulesSdkTypes.IMedusaInternalService>; constructor({ baseRepository, pricingRepository, priceSetService, priceRuleService, priceService, pricePreferenceService, priceListService, priceListRuleService, }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration); __joinerConfig(): ModuleJoinerConfig; private setupCalculatedPriceConfig_; createPriceRules(...args: Parameters): Promise; updatePriceRules(...args: Parameters): Promise; createPriceListRules(...args: any[]): Promise; updatePriceListRules(...args: any[]): Promise; retrievePriceSet(id: string, config?: FindConfig | undefined, sharedContext?: Context | undefined): Promise; listPriceSets(filters?: PricingTypes.FilterablePriceSetProps, config?: FindConfig, sharedContext?: Context): Promise; listAndCountPriceSets(filters?: PricingTypes.FilterablePriceSetProps, config?: FindConfig, sharedContext?: Context): Promise<[PriceSetDTO[], number]>; listPriceRules(filters: PricingTypes.FilterablePriceRuleProps, config?: FindConfig, sharedContext?: Context): Promise; protected listPriceRules_(filters: PricingTypes.FilterablePriceRuleProps, config?: FindConfig, sharedContext?: Context): Promise[]>; listPricePreferences(filters: PricingTypes.FilterablePricePreferenceProps, config?: FindConfig, sharedContext?: Context): Promise; protected listPricePreferences_(filters: PricingTypes.FilterablePricePreferenceProps, config?: FindConfig, sharedContext?: Context): Promise[]>; calculatePrices(pricingFilters: PricingFilters, pricingContext?: PricingContext, sharedContext?: Context): Promise; createPriceSets(data: PricingTypes.CreatePriceSetDTO, sharedContext?: Context): Promise; createPriceSets(data: PricingTypes.CreatePriceSetDTO[], sharedContext?: Context): Promise; upsertPriceSets(data: UpsertPriceSetDTO[], sharedContext?: Context): Promise; upsertPriceSets(data: UpsertPriceSetDTO, sharedContext?: Context): Promise; protected upsertPriceSets_(data: UpsertPriceSetDTO | UpsertPriceSetDTO[], sharedContext?: Context): Promise[]>; updatePriceSets(id: string, data: PricingTypes.UpdatePriceSetDTO, sharedContext?: Context): Promise; updatePriceSets(selector: PricingTypes.FilterablePriceSetProps, data: PricingTypes.UpdatePriceSetDTO, sharedContext?: Context): Promise; protected updatePriceSets_(data: ServiceTypes.UpdatePriceSetInput[], sharedContext?: Context): Promise[]>; private normalizeUpdateData; private normalizePrices; addPrices(data: AddPricesDTO, sharedContext?: Context): Promise; addPrices(data: AddPricesDTO[], sharedContext?: Context): Promise; createPriceLists(data: PricingTypes.CreatePriceListDTO[], sharedContext?: Context): Promise; updatePriceLists(data: PricingTypes.UpdatePriceListDTO[], sharedContext?: Context): Promise; updatePriceListPrices(data: PricingTypes.UpdatePriceListPricesDTO[], sharedContext?: Context): Promise; removePrices(ids: string[], sharedContext?: Context): Promise; addPriceListPrices(data: PricingTypes.AddPriceListPricesDTO[], sharedContext?: Context): Promise; setPriceListRules(data: PricingTypes.SetPriceListRulesDTO, sharedContext?: Context): Promise; removePriceListRules(data: PricingTypes.RemovePriceListRulesDTO, sharedContext?: Context): Promise; createPricePreferences(data: PricingTypes.CreatePricePreferenceDTO, sharedContext?: Context): Promise; createPricePreferences(data: PricingTypes.CreatePricePreferenceDTO[], sharedContext?: Context): Promise; upsertPricePreferences(data: UpsertPricePreferenceDTO[], sharedContext?: Context): Promise; upsertPricePreferences(data: UpsertPricePreferenceDTO, sharedContext?: Context): Promise; protected upsertPricePreferences_(data: UpsertPricePreferenceDTO | UpsertPricePreferenceDTO[], sharedContext?: Context): Promise[]>; updatePricePreferences(id: string, data: PricingTypes.UpdatePricePreferenceDTO, sharedContext?: Context): Promise; updatePricePreferences(selector: PricingTypes.FilterablePricePreferenceProps, data: PricingTypes.UpdatePricePreferenceDTO, sharedContext?: Context): Promise; protected createPricePreferences_(data: PricingTypes.CreatePricePreferenceDTO[], sharedContext?: Context): Promise<{ id: string; attribute: string; value: string | null; is_tax_inclusive: boolean; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected updatePricePreferences_(data: PricingTypes.UpdatePricePreferenceDTO[], sharedContext?: Context): Promise<{ id: string; attribute: string; value: string | null; is_tax_inclusive: boolean; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected createPriceSets_(data: PricingTypes.CreatePriceSetDTO[], sharedContext?: Context): Promise<{ id: string; prices: { id: string; title: string | null; currency_code: string; amount: number; min_quantity: number | null; max_quantity: number | null; rules_count: number | null; price_set: /*elided*/ any; price_rules: { id: string; attribute: string; value: string; operator: PricingRuleOperator; priority: number; price: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_id: string; }[]; price_list: { id: string; title: string; description: string; status: import("@medusajs/framework/utils").PriceListStatus; type: PriceListType; starts_at: Date | null; ends_at: Date | null; rules_count: number | null; prices: /*elided*/ any[]; price_list_rules: { id: string; attribute: string; value: NoInfer> | null; price_list: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_list_id: string; }[]; metadata: NoInfer> | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; }; raw_amount: Record; raw_min_quantity: Record | null; raw_max_quantity: Record | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; price_set_id: string; price_list_id: string | null; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected addPrices_(input: AddPricesDTO[], sharedContext?: Context): Promise<{ id: string; title: string | null; currency_code: string; amount: number; min_quantity: number | null; max_quantity: number | null; rules_count: number | null; price_set: { id: string; prices: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; price_rules: { id: string; attribute: string; value: string; operator: PricingRuleOperator; priority: number; price: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_id: string; }[]; price_list: { id: string; title: string; description: string; status: import("@medusajs/framework/utils").PriceListStatus; type: PriceListType; starts_at: Date | null; ends_at: Date | null; rules_count: number | null; prices: /*elided*/ any[]; price_list_rules: { id: string; attribute: string; value: NoInfer> | null; price_list: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_list_id: string; }[]; metadata: NoInfer> | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; }; raw_amount: Record; raw_min_quantity: Record | null; raw_max_quantity: Record | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; price_set_id: string; price_list_id: string | null; }[]>; protected createPriceLists_(data: PricingTypes.CreatePriceListDTO[], sharedContext?: Context): Promise<{ id: string; title: string; description: string; status: import("@medusajs/framework/utils").PriceListStatus; type: PriceListType; starts_at: Date | null; ends_at: Date | null; rules_count: number | null; prices: { id: string; title: string | null; currency_code: string; amount: number; min_quantity: number | null; max_quantity: number | null; rules_count: number | null; price_set: { id: string; prices: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; price_rules: { id: string; attribute: string; value: string; operator: PricingRuleOperator; priority: number; price: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_id: string; }[]; price_list: /*elided*/ any; raw_amount: Record; raw_min_quantity: Record | null; raw_max_quantity: Record | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; price_set_id: string; price_list_id: string | null; }[]; price_list_rules: { id: string; attribute: string; value: NoInfer> | null; price_list: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_list_id: string; }[]; metadata: NoInfer> | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected updatePriceLists_(data: PricingTypes.UpdatePriceListDTO[], sharedContext?: Context): Promise<{ id: string; title: string; description: string; status: import("@medusajs/framework/utils").PriceListStatus; type: PriceListType; starts_at: Date | null; ends_at: Date | null; rules_count: number | null; prices: { id: string; title: string | null; currency_code: string; amount: number; min_quantity: number | null; max_quantity: number | null; rules_count: number | null; price_set: { id: string; prices: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; price_rules: { id: string; attribute: string; value: string; operator: PricingRuleOperator; priority: number; price: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_id: string; }[]; price_list: /*elided*/ any; raw_amount: Record; raw_min_quantity: Record | null; raw_max_quantity: Record | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; price_set_id: string; price_list_id: string | null; }[]; price_list_rules: { id: string; attribute: string; value: NoInfer> | null; price_list: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; price_list_id: string; }[]; metadata: NoInfer> | null; raw_rules_count: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected updatePriceListPrices_(data: PricingTypes.UpdatePriceListPricesDTO[], sharedContext?: Context): Promise[]>; protected removePrices_(ids: string[], sharedContext?: Context): Promise; protected addPriceListPrices_(data: PricingTypes.AddPriceListPricesDTO[], sharedContext?: Context): Promise[]>; protected setPriceListRules_(data: PricingTypes.SetPriceListRulesDTO[], sharedContext?: Context): Promise[]>; protected removePriceListRules_(data: PricingTypes.RemovePriceListRulesDTO[], sharedContext?: Context): Promise[]>; protected normalizePriceListDate(data: (ServiceTypes.UpdatePriceListDTO | ServiceTypes.CreatePriceListDTO | ServiceTypes.CreatePriceListDTO)[]): any[]; protected normalizePriceSetConfig(config: FindConfig | undefined): { select?: ((string & {}) | keyof PriceSetDTO)[] | undefined; skip?: number | null | undefined; take?: number | null | undefined; relations?: string[]; order?: import("@medusajs/framework/types").FindConfigOrder; withDeleted?: boolean; filters?: Record; options: Record; __internal?: DAL.InternalQueryOptions; }; } export {}; //# sourceMappingURL=pricing-module.d.ts.map