import { Subscription } from '../models';
import { BillingCycleRepository, PlanRepository, SubscriptionRepository } from '../repositories';
export declare class SubscriptionService {
    private readonly subscriptionRepository;
    private readonly planRepository;
    private readonly billingCycleRepository;
    constructor(subscriptionRepository: SubscriptionRepository, planRepository: PlanRepository, billingCycleRepository: BillingCycleRepository);
    createSubscription(subscription: Omit<Subscription, 'id' | 'startDate' | 'endDate'>): Promise<Subscription>;
    private _unitMap;
    getExpireSoonSubscriptions(): Promise<{
        id: string;
        daysRemainingToExpiry: number;
        subscriberId: string;
    }[]>;
    handleExpiredSubscriptions(dayCount: number): Promise<{
        subscriptionId: string;
        subscriberId: string;
    }[]>;
}
