import type { Transport, PageResult } from '@23blocks/contracts'; import type { BadgeCategory, CreateBadgeCategoryRequest, MoneyRule, CreateMoneyRuleRequest, UpdateMoneyRuleRequest, ProductRule, CreateProductRuleRequest, UpdateProductRuleRequest, EventRule, CreateEventRuleRequest, UpdateEventRuleRequest } from '../types/loyalty-rules.js'; /** * Badge Categories Service */ export interface BadgeCategoriesService { list(page?: number, perPage?: number): Promise>; get(uniqueId: string): Promise; create(data: CreateBadgeCategoryRequest): Promise; update(uniqueId: string, data: Partial): Promise; delete(uniqueId: string): Promise; } /** * Money Rules Service - Points earned from monetary spend */ export interface MoneyRulesService { list(loyaltyUniqueId: string): Promise; get(loyaltyUniqueId: string, ruleUniqueId: string): Promise; create(loyaltyUniqueId: string, data: CreateMoneyRuleRequest): Promise; update(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateMoneyRuleRequest): Promise; delete(loyaltyUniqueId: string, ruleUniqueId: string): Promise; } /** * Product Rules Service - Points earned from product purchases */ export interface ProductRulesService { list(loyaltyUniqueId: string): Promise; get(loyaltyUniqueId: string, ruleUniqueId: string): Promise; create(loyaltyUniqueId: string, data: CreateProductRuleRequest): Promise; update(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateProductRuleRequest): Promise; delete(loyaltyUniqueId: string, ruleUniqueId: string): Promise; } /** * Event Rules Service - Points earned from events/actions */ export interface EventRulesService { list(loyaltyUniqueId: string): Promise; get(loyaltyUniqueId: string, ruleUniqueId: string): Promise; create(loyaltyUniqueId: string, data: CreateEventRuleRequest): Promise; update(loyaltyUniqueId: string, ruleUniqueId: string, data: UpdateEventRuleRequest): Promise; delete(loyaltyUniqueId: string, ruleUniqueId: string): Promise; } export declare function createBadgeCategoriesService(transport: Transport, _config: { apiKey: string; }): BadgeCategoriesService; export declare function createMoneyRulesService(transport: Transport, _config: { apiKey: string; }): MoneyRulesService; export declare function createProductRulesService(transport: Transport, _config: { apiKey: string; }): ProductRulesService; export declare function createEventRulesService(transport: Transport, _config: { apiKey: string; }): EventRulesService; //# sourceMappingURL=loyalty-rules.service.d.ts.map