import { ISubscriptionRepository } from '../../application/repositories/ISubscriptionRepository.js'; import { Subscription } from '../../domain/entities/Subscription.js'; import { Customer } from '../../domain/entities/Customer.js'; import { DrizzleDb } from '../database/drizzle.js'; import { SubscriptionFilterDto } from '../../application/dtos/SubscriptionDto.js'; export declare class DrizzleSubscriptionRepository implements ISubscriptionRepository { private readonly db; constructor(db: DrizzleDb); save(subscription: Subscription): Promise; private loadSubscriptionById; private loadFeatureOverrides; findById(id: number): Promise; findByKey(key: string): Promise; findByStripeId(stripeId: string): Promise; findAll(filters?: SubscriptionFilterDto): Promise>; findByCustomerId(customerId: number, filters?: any): Promise; findByIds(ids: number[]): Promise; delete(id: number): Promise; findActiveByCustomerAndPlan(customerId: number, planId: number): Promise; exists(id: number): Promise; hasSubscriptionsForPlan(planId: number): Promise; hasSubscriptionsForBillingCycle(billingCycleId: number): Promise; findExpiredWithTransitionPlans(limit?: number): Promise; } //# sourceMappingURL=DrizzleSubscriptionRepository.d.ts.map