import { StripeSettingsService } from "../stripe-settings/stripe-settings.service";
import { SubscriptionRepository } from "../subscriptions/repository/subscription.repository";
import { TransactionRepository } from "../transactions/repository/transaction.repository";
import { SubscriptionPlanRepository } from "../subscription-plans/repository/subscription-plan.repository";
import { WebhookLogRepository } from "../webhook-logs/repository/webhook-log.repository";
import { SubscriptionHistoryRepository } from "../subscription-history/repository/subscription-history.repository";
import { AuthService } from "../auth/auth.service";
export declare class StripeService {
    private readonly stripeSettingsService;
    private readonly subscriptionRepository;
    private readonly transactionRepository;
    private readonly subscriptionPlanRepository;
    private readonly webhookLogRepository;
    private readonly subscriptionHistoryRepository;
    private readonly authService;
    private readonly logger;
    constructor(stripeSettingsService: StripeSettingsService, subscriptionRepository: SubscriptionRepository, transactionRepository: TransactionRepository, subscriptionPlanRepository: SubscriptionPlanRepository, webhookLogRepository: WebhookLogRepository, subscriptionHistoryRepository: SubscriptionHistoryRepository, authService: AuthService);
    private getStripeClient;
    createCheckoutSession(token: string, planId: string, successUrl?: string, cancelUrl?: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    handleWebhook(rawBody: Buffer, signature: string): Promise<{
        received: boolean;
        error?: undefined;
    } | {
        received: boolean;
        error: any;
    }>;
    private handleCheckoutCompleted;
    private handleInvoicePaid;
    private handleInvoicePaymentFailed;
    private handleSubscriptionUpdated;
    private handleSubscriptionDeleted;
    cancelStripeSubscription(stripeSubscriptionId: string): Promise<void>;
    private logSubscriptionHistory;
}
