import { AppLoggingService } from "../../../core/logging"; import { CompanyRepository } from "../../company/repositories/company.repository"; import { StripePriceRepository } from "../../stripe-price/repositories/stripe-price.repository"; import { StripeSubscriptionRepository } from "../repositories/stripe-subscription.repository"; export interface FeatureSyncResult { success: boolean; companyId?: string; featuresAdded?: string[]; featuresRemoved?: string[]; reason?: string; } export declare class FeatureSyncService { private readonly subscriptionRepository; private readonly companyRepository; private readonly stripePriceRepository; private readonly logger; constructor(subscriptionRepository: StripeSubscriptionRepository, companyRepository: CompanyRepository, stripePriceRepository: StripePriceRepository, logger: AppLoggingService); /** * Add price features to company on subscription payment * Additive operation - merges with existing features */ syncFeaturesOnPayment(params: { stripeSubscriptionId: string; }): Promise; /** * Remove price features from company on subscription end * SMART REMOVAL: Only removes features NOT provided by other active subscriptions */ removeFeaturesOnSubscriptionEnd(params: { stripeSubscriptionId: string; }): Promise; } //# sourceMappingURL=feature-sync.service.d.ts.map