import { GsbSubscription, GsbSubscriptionPlan, PaymentType, SubscriptionPlanStatus } from '../../models/gsb-subscription.model';
/**
 * Subscription service that handles all Paddle integration and subscription management
 */
export declare class SubscriptionService {
    private static instance;
    private paddleApiKey;
    private paddleWebhookSecret;
    private paddleClientToken;
    private paddleEnvironment;
    private constructor();
    static getInstance(): SubscriptionService;
    /**
     * Create a new subscription plan
     */
    createSubscriptionPlan(userId: string, tenantId: string, title: string, paymentType?: PaymentType, status?: SubscriptionPlanStatus): Promise<GsbSubscriptionPlan>;
    /**
     * Create a new subscription
     */
    createSubscription(userId: string, planId: string, productVariantId: string, quantity?: number): Promise<GsbSubscription>;
    /**
     * Process a Paddle webhook event
     */
    processWebhookEvent(event: any): Promise<boolean>;
    private handleSubscriptionCreated;
    private handleSubscriptionUpdated;
    private handleSubscriptionCancelled;
    private handlePaymentSucceeded;
    private handlePaymentFailed;
    /**
     * Get Paddle client configuration
     */
    getPaddleConfig(): {
        environment: "production" | "sandbox";
        token: string;
    };
}
