import { PlanPermission } from "src/entities/plan-permission.entity";
import { Plan } from "src/entities/plan.entity";
import { Repository } from "typeorm";
import { PlanRepository } from "./plan.reporitory";
import { StripeServices } from "src/common/services/payment-gateway/stripe/stripe.service";
import { Users } from "src/entities/users.entity";
export declare class PlanService {
    private planRepository;
    private stripeService;
    private readonly Plan;
    private readonly PlanPermission;
    private readonly Users;
    constructor(planRepository: PlanRepository, stripeService: StripeServices, Plan: Repository<Plan>, PlanPermission: Repository<PlanPermission>, Users: Repository<Users>);
    createPlan(planData: any, authUser: any): Promise<boolean>;
    getPlanPriorityByPrice(price: number): Promise<number>;
    generateSlug(name: any): Promise<string>;
    checkExists(id: any, slug: any): Promise<void>;
    listPlan(queryParam: any, authUser: any): Promise<{
        data: Plan[];
    }>;
    details(queryParam: any): Promise<{
        data: Plan;
    }>;
    updatePlan(planIdParam: any, planData: any, authUser: any): Promise<boolean>;
    chageStatus(planIdParam: any, authUser: any): Promise<void>;
    permissions(authUser: any): Promise<{
        permissions: {
            feature_name: string;
            description: string;
            type: string;
            limits: number;
            order_by: number;
            time_period: string;
        }[];
    }>;
}
