import { Plan } from 'src/entities/plan.entity';
import { Repository } from 'typeorm';
import { StripeServices } from 'src/common/services/payment-gateway/stripe/stripe.service';
import { PaymentRepository } from './payment.reporitory';
import { Card } from 'src/entities/card.entity';
import { Subscription } from 'src/entities/subscription.entity';
import { SubscriptionHistory } from 'src/entities/subscription-history.entity';
import { UserPermissions } from 'src/entities/user-permissions.entity';
import { Users } from 'src/entities/users.entity';
import { ReactiveSubscription } from './dto/reactive-subscription';
export declare class PaymentService {
    private paymentRepository;
    private stripeService;
    private readonly Plan;
    private readonly Users;
    private readonly Card;
    private readonly Subscription;
    private readonly SubscriptionHistory;
    private UserPermissions;
    constructor(paymentRepository: PaymentRepository, stripeService: StripeServices, Plan: Repository<Plan>, Users: Repository<Users>, Card: Repository<Card>, Subscription: Repository<Subscription>, SubscriptionHistory: Repository<SubscriptionHistory>, UserPermissions: Repository<UserPermissions>);
    saveCard(cardData: any, authUser: any): Promise<void>;
    getCard(authUser: any): Promise<{
        data: Card[];
    }>;
    subscriptionList(authUser: any): Promise<{
        data: Subscription[];
    }>;
    subscriptionHistory(queryParam: any, authUser: any): Promise<{
        data: SubscriptionHistory[];
        total: number;
        hasMoreResults: number;
    }>;
    subscriptionHistoryExport(queryParam: any, response: any): Promise<void>;
    getFreePlan(): Promise<Plan>;
    subscription(body: any, authUser: any): Promise<void>;
    subscriptionBk(body: any, authUser: any): Promise<any>;
    sleep(ms: any): Promise<unknown>;
    subscriptionCancel(param: any, authUser: any): Promise<void>;
    subscriptionCancelSchedule(param: any, authUser: any): Promise<void>;
    deleteCard(param: any, authUser: any): Promise<void>;
    getUserPermissions(authUser: any): Promise<{
        permissions: any;
    }>;
    clientSecret(authUser: any): Promise<{
        data: string;
    }>;
    activatedSubscription(authUser: any): Promise<{
        activatedSubscription: Subscription;
        upcomingSubscription: Subscription;
    }>;
    billingPortal(authUser: any): Promise<{
        url: string;
    }>;
    getInvoiceLink(param: {
        subscription_history_id: string;
    }, authUser: any): Promise<{
        url: string;
    }>;
    subscriptionLink(body: any, authUser: any): Promise<{
        link: any;
    }>;
    reactivateSubscription(param: ReactiveSubscription, authUser: any): Promise<void>;
}
