import { CreatePassDto, PaginationAdminListDto } from './dto/create-pass.dto';
import { UpdatePassDto } from './dto/update-pass.dto';
import { DbService } from 'src/db/db.service';
import { CommonService } from 'src/common/common.service';
import mongoose, { Types } from 'mongoose';
import { StripeService } from 'src/common/helpers/stripe.service';
import { RazorpayService } from 'src/common/helpers/razorpay-helper.service';
import { CashfreeService } from 'src/common/helpers/cashfree-helper.service';
export declare class PassService {
    private readonly model;
    private readonly commonService;
    private readonly stripe;
    private readonly razorpayService;
    private readonly cashfreeService;
    constructor(model: DbService, commonService: CommonService, stripe: StripeService, razorpayService: RazorpayService, cashfreeService: CashfreeService);
    create(createPassDto: CreatePassDto): Promise<{
        message: string;
    }>;
    findAllByCategory(dto: PaginationAdminListDto): Promise<{
        data: (mongoose.FlattenMaps<mongoose.Document<unknown, {}, import("./schema/PassType.schema").PassType, {}, {}> & import("./schema/PassType.schema").PassType & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        }> & Required<{
            _id: Types.ObjectId;
        }>)[];
        count: number;
        daily_count: number;
        weekly_count: number;
        monthly_count: number;
        yearly_count: number;
    }>;
    findOne(id: string): Promise<mongoose.FlattenMaps<mongoose.Document<unknown, {}, import("./schema/PassType.schema").PassType, {}, {}> & import("./schema/PassType.schema").PassType & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }> & Required<{
        _id: Types.ObjectId;
    }>>;
    update(id: string, updatePassDto: UpdatePassDto): Promise<{
        message: string;
    }>;
    changeStatus(id: string, status: string): Promise<{
        message: string;
    }>;
    getPassesGroupedByVehicleType(userId: string, query: any): Promise<{
        message: string;
        pagination: {
            totalItems: any;
            totalPages: number;
            currentPage: number;
            perPage: number;
            nextPage: number;
            prevPage: number;
        };
        data: any[];
    }>;
    purchasePass(customerId: string, passTypeId: string): Promise<{
        client_secret: string;
        amount: number;
        ephemeralKey: any;
        customer: any;
        order_id?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        order_id: any;
        amount: any;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        order_id: any;
        amount: any;
        cf_order_id: any;
        payment_sessions_id: any;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
    }>;
    updatePassExpiry(): Promise<void>;
    getCustomerPasses(customerId: string, status: string): Promise<{
        message: string;
        data: any;
    }>;
    checkHaveActivePassForBooking(customerId: string, query: any): Promise<{
        isAvailable: boolean;
        pass: any;
    }>;
}
