import { CampaignBudgetTypeValues, Context, DAL, FilterablePromotionProps, FindConfig, InferEntityType, InternalModuleDeclaration, ModulesSdkTypes, PromotionDTO, PromotionTypes } from "@medusajs/framework/types"; import { ApplicationMethodAllocation, ApplicationMethodTargetType, CampaignBudgetType, PromotionStatus, PromotionType } from "@medusajs/framework/utils"; import { ApplicationMethod, Campaign, CampaignBudget, CampaignBudgetUsage, Promotion, PromotionRule, PromotionRuleValue } from "../models"; import { ApplicationMethodRuleTypes } from "../types"; type InjectedDependencies = { baseRepository: DAL.RepositoryService; promotionService: ModulesSdkTypes.IMedusaInternalService; applicationMethodService: ModulesSdkTypes.IMedusaInternalService; promotionRuleService: ModulesSdkTypes.IMedusaInternalService; promotionRuleValueService: ModulesSdkTypes.IMedusaInternalService; campaignService: ModulesSdkTypes.IMedusaInternalService; campaignBudgetService: ModulesSdkTypes.IMedusaInternalService; campaignBudgetUsageService: ModulesSdkTypes.IMedusaInternalService; }; declare const PromotionModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<{ Promotion: { dto: PromotionTypes.PromotionDTO; }; ApplicationMethod: { dto: PromotionTypes.ApplicationMethodDTO; }; Campaign: { dto: PromotionTypes.CampaignDTO; }; CampaignBudget: { dto: PromotionTypes.CampaignBudgetDTO; }; CampaignBudgetUsage: { dto: PromotionTypes.CampaignBudgetUsageDTO; }; PromotionRule: { dto: PromotionTypes.PromotionRuleDTO; }; PromotionRuleValue: { dto: PromotionTypes.PromotionRuleValueDTO; }; }>; export default class PromotionModuleService extends PromotionModuleService_base implements PromotionTypes.IPromotionModuleService { protected readonly moduleDeclaration: InternalModuleDeclaration; protected baseRepository_: DAL.RepositoryService; protected promotionService_: ModulesSdkTypes.IMedusaInternalService>; protected applicationMethodService_: ModulesSdkTypes.IMedusaInternalService>; protected promotionRuleService_: ModulesSdkTypes.IMedusaInternalService>; protected promotionRuleValueService_: ModulesSdkTypes.IMedusaInternalService>; protected campaignService_: ModulesSdkTypes.IMedusaInternalService>; protected campaignBudgetService_: ModulesSdkTypes.IMedusaInternalService>; protected campaignBudgetUsageService_: ModulesSdkTypes.IMedusaInternalService>; constructor({ baseRepository, promotionService, applicationMethodService, promotionRuleService, promotionRuleValueService, campaignService, campaignBudgetService, campaignBudgetUsageService, }: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration); listActivePromotions(filters?: FilterablePromotionProps, config?: FindConfig, sharedContext?: Context): Promise; protected listActivePromotions_(filters?: FilterablePromotionProps, config?: FindConfig, sharedContext?: Context): Promise[]>; protected registerCampaignBudgetUsageByAttribute_(budgetId: string, attributeValue: string, sharedContext?: Context): Promise; protected revertCampaignBudgetUsageByAttribute_(budgetId: string, attributeValue: string, sharedContext?: Context): Promise; registerUsage(computedActions: PromotionTypes.UsageComputedActions[], registrationContext: PromotionTypes.CampaignBudgetUsageContext, sharedContext?: Context): Promise; revertUsage(computedActions: PromotionTypes.UsageComputedActions[], registrationContext: PromotionTypes.CampaignBudgetUsageContext, sharedContext?: Context): Promise; computeActions(promotionCodes: string[], applicationContext: PromotionTypes.ComputeActionContext, options?: PromotionTypes.ComputeActionOptions, sharedContext?: Context): Promise; createPromotions(data: PromotionTypes.CreatePromotionDTO, sharedContext?: Context): Promise; createPromotions(data: PromotionTypes.CreatePromotionDTO[], sharedContext?: Context): Promise; protected createPromotions_(data: PromotionTypes.CreatePromotionDTO[], sharedContext?: Context): Promise<{ id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: { id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; application_method: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; buy_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }; rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; method_buy_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }[]>; updatePromotions(data: PromotionTypes.UpdatePromotionDTO, sharedContext?: Context): Promise; updatePromotions(data: PromotionTypes.UpdatePromotionDTO[], sharedContext?: Context): Promise; protected updatePromotions_(data: PromotionTypes.UpdatePromotionDTO[], sharedContext?: Context): Promise<{ id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: { id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; application_method: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; buy_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }; rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; method_buy_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }[]>; updatePromotionRules(data: PromotionTypes.UpdatePromotionRuleDTO[], sharedContext?: Context): Promise; protected updatePromotionRules_(data: PromotionTypes.UpdatePromotionRuleDTO[], sharedContext?: Context): Promise<{ id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: { id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: { id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; application_method: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }; rules: /*elided*/ any[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }[]; method_target_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: { id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: { id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; application_method: /*elided*/ any; rules: /*elided*/ any[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; method_buy_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: { id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: { id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }; application_method: /*elided*/ any; rules: /*elided*/ any[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; addPromotionRules(promotionId: string, rulesData: PromotionTypes.CreatePromotionRuleDTO[], sharedContext?: Context): Promise; addPromotionTargetRules(promotionId: string, rulesData: PromotionTypes.CreatePromotionRuleDTO[], sharedContext?: Context): Promise; addPromotionBuyRules(promotionId: string, rulesData: PromotionTypes.CreatePromotionRuleDTO[], sharedContext?: Context): Promise; protected createPromotionRulesAndValues_(rulesData: PromotionTypes.CreatePromotionRuleDTO[], relationName: "promotions" | "method_target_rules" | "method_buy_rules", relation: InferEntityType | InferEntityType, sharedContext?: Context): Promise[]>; removePromotionRules(promotionId: string, ruleIds: string[], sharedContext?: Context): Promise; protected removePromotionRules_(promotionId: string, ruleIds: string[], sharedContext?: Context): Promise; removePromotionTargetRules(promotionId: string, ruleIds: string[], sharedContext?: Context): Promise; removePromotionBuyRules(promotionId: string, ruleIds: string[], sharedContext?: Context): Promise; protected removeApplicationMethodRules_(promotionId: string, ruleIds: string[], relation: ApplicationMethodRuleTypes.TARGET_RULES | ApplicationMethodRuleTypes.BUY_RULES, sharedContext?: Context): Promise; createCampaigns(data: PromotionTypes.CreateCampaignDTO, sharedContext?: Context): Promise; createCampaigns(data: PromotionTypes.CreateCampaignDTO[], sharedContext?: Context): Promise; protected createCampaigns_(data: PromotionTypes.CreateCampaignDTO[], sharedContext?: Context): Promise<{ id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: { id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: /*elided*/ any; application_method: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; buy_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }; rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; method_buy_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; protected validateCampaignBudgetData(data: { type?: CampaignBudgetTypeValues; currency_code?: string | null; }): void; updateCampaigns(data: PromotionTypes.UpdateCampaignDTO, sharedContext?: Context): Promise; updateCampaigns(data: PromotionTypes.UpdateCampaignDTO[], sharedContext?: Context): Promise; protected updateCampaigns_(data: PromotionTypes.UpdateCampaignDTO[], sharedContext?: Context): Promise<{ id: string; name: string; description: string | null; campaign_identifier: string; starts_at: Date | null; ends_at: Date | null; budget: { id: string; type: CampaignBudgetType; currency_code: string | null; limit: number | null; used: number; campaign: /*elided*/ any; attribute: string | null; usages: { id: string; attribute_value: string; used: number; budget: /*elided*/ any; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; budget_id: string; }[]; raw_limit: Record | null; raw_used: Record; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string; }; promotions: { id: string; code: string; is_automatic: boolean; is_tax_inclusive: boolean; limit: number | null; used: number; type: PromotionType; status: PromotionStatus; campaign: /*elided*/ any; application_method: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; buy_rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: /*elided*/ any[]; method_buy_rules: /*elided*/ any[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }; rules: { id: string; description: string | null; attribute: string; operator: import("@medusajs/framework/utils").PromotionRuleOperator; values: { id: string; value: string; promotion_rule: /*elided*/ any; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_rule_id: string; }[]; promotions: /*elided*/ any[]; method_target_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; method_buy_rules: { id: string; value: number | null; currency_code: string | null; max_quantity: number | null; apply_to_quantity: number | null; buy_rules_min_quantity: number | null; type: import("@medusajs/framework/utils").ApplicationMethodType; target_type: ApplicationMethodTargetType; allocation: ApplicationMethodAllocation | null; promotion: /*elided*/ any; target_rules: /*elided*/ any[]; buy_rules: /*elided*/ any[]; raw_value: Record | null; raw_max_quantity: Record | null; raw_apply_to_quantity: Record | null; raw_buy_rules_min_quantity: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; promotion_id: string; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]; metadata: Record | null; raw_limit: Record | null; created_at: Date; updated_at: Date; deleted_at: Date | null; campaign_id: string | null; }[]; created_at: Date; updated_at: Date; deleted_at: Date | null; }[]>; addPromotionsToCampaign(data: PromotionTypes.AddPromotionsToCampaignDTO, sharedContext?: Context): Promise<{ ids: string[]; }>; protected addPromotionsToCampaign_(data: PromotionTypes.AddPromotionsToCampaignDTO, sharedContext?: Context): Promise; removePromotionsFromCampaign(data: PromotionTypes.AddPromotionsToCampaignDTO, sharedContext?: Context): Promise<{ ids: string[]; }>; protected removePromotionsFromCampaign_(data: PromotionTypes.AddPromotionsToCampaignDTO, sharedContext?: Context): Promise; } export {}; //# sourceMappingURL=promotion-module.d.ts.map