import { Repository } from 'typeorm';
import Stripe from 'stripe';
import { Enrollment } from '../enrollments/enrollment.entity';
import { Course } from '../course/course.entity';
import { ConfigService } from '@nestjs/config';
import { MailService } from '../mail/mail.service';
export declare class BillingService {
    private stripe;
    private config;
    private enrollRepo;
    private mailService;
    constructor(stripe: Stripe, config: ConfigService, enrollRepo: Repository<Enrollment>, mailService: MailService);
    createOneTimeCheckout(id: number, course: Course, opts?: {
        allowPromotionCodes?: boolean;
        automaticTax?: boolean;
    }): Promise<{
        url: string | null;
    }>;
    activateEnrollmentFromCheckout(session: Stripe.Checkout.Session): Promise<void>;
    confirmCheckoutSession(sessionId: string): Promise<Enrollment | null>;
}
