/** * Subscription Lifecycle Manager * Handles creation, upgrades, downgrades, and cancellations */ import { EventEmitter } from 'events'; import { Subscription, SubscriptionTier, BillingCycle, StorageAdapter } from '../types.js'; import { PricingManager } from '../pricing/tiers.js'; export declare class SubscriptionManager extends EventEmitter { private storage; private pricingManager; constructor(storage: StorageAdapter, pricingManager?: PricingManager); /** * Create a new subscription */ createSubscription(params: { userId: string; tier: SubscriptionTier; billingCycle: BillingCycle; paymentMethodId?: string; couponCode?: string; }): Promise; /** * Upgrade subscription to a higher tier */ upgradeSubscription(subscriptionId: string, newTier: SubscriptionTier): Promise; /** * Downgrade subscription to a lower tier */ downgradeSubscription(subscriptionId: string, newTier: SubscriptionTier): Promise; /** * Cancel subscription */ cancelSubscription(subscriptionId: string, immediate?: boolean): Promise; /** * Renew subscription */ renewSubscription(subscriptionId: string): Promise; /** * Get subscription by ID */ getSubscription(subscriptionId: string): Promise; /** * List user subscriptions */ listSubscriptions(userId: string): Promise; /** * Check if user has access to feature */ hasAccess(subscriptionId: string, feature: string): Promise; private getPriceForCycle; private calculatePeriodEnd; private calculateProratedAmount; private getTierOrder; private saveEvent; private generateId; } //# sourceMappingURL=manager.d.ts.map