import { CreateCateringPlanDto, CreatePlateDto, PlateBookingDto, PlateBookingStatusDto, UpdateCateringPlanDto } from './dto/catering_services.dto';
import { DbService } from 'src/db/db.service';
import { CommonService } from 'src/common/common.service';
import mongoose from 'mongoose';
import { CateringServicesAggregation } from './catering_services.aggregation';
import { RazorpayService } from 'src/common/helpers/razorpay-helper.service';
import { PaymentService } from 'src/payment/payment.service';
import { PaytabService } from 'src/common/helpers/paytab-helper.service';
import { CashfreeService } from 'src/common/helpers/cashfree-helper.service';
export declare class CateringServicesService {
    private readonly model;
    private readonly CommonService;
    private readonly categoryListAggregation;
    private readonly RazorpayService;
    private readonly paymentService;
    private readonly PaytabService;
    private readonly cashfreeService;
    constructor(model: DbService, CommonService: CommonService, categoryListAggregation: CateringServicesAggregation, RazorpayService: RazorpayService, paymentService: PaymentService, PaytabService: PaytabService, cashfreeService: CashfreeService);
    createPlan(dto: CreateCateringPlanDto, req: any): Promise<{
        plan: mongoose.Document<unknown, {}, import("./schema/catering_plan.schema").CateringPlan, {}, {}> & import("./schema/catering_plan.schema").CateringPlan & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getPlans(id: string, req: any): Promise<{
        plans: (mongoose.Document<unknown, {}, import("./schema/catering_plan.schema").CateringPlan, {}, {}> & import("./schema/catering_plan.schema").CateringPlan & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    deletePlan(id: string, req: any): Promise<{
        message: string;
    }>;
    planDetails(id: string, req: any): Promise<{
        data: mongoose.Document<unknown, {}, import("./schema/catering_plan.schema").CateringPlan, {}, {}> & import("./schema/catering_plan.schema").CateringPlan & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    updatePlan(id: string, dto: UpdateCateringPlanDto, req: any): Promise<{
        message: string;
    }>;
    getCategoryList(id: string, req: any): Promise<{
        data: any[];
    }>;
    createPlate(dto: CreatePlateDto, req: any): Promise<{
        client_secret: string;
        ephemeralKey: string;
        customer: any;
        data: mongoose.Document<unknown, {}, import("./schema/plate.schema").Plate, {}, {}> & import("./schema/plate.schema").Plate & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
        razorpay?: undefined;
        cashfree?: undefined;
        amount?: undefined;
        plate_id?: undefined;
        paytab?: undefined;
    } | {
        razorpay: {
            amount: any;
            currency: any;
            id: any;
            order_id: any;
            slot_id: any;
            plate_id: any;
        };
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        cashfree?: undefined;
        amount?: undefined;
        plate_id?: undefined;
        paytab?: undefined;
    } | {
        cashfree: {
            id: any;
            order_meta: any;
            payment_session_id: any;
        };
        amount: number;
        plate_id: string;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        razorpay?: undefined;
        paytab?: undefined;
    } | {
        paytab: {
            redirect_url: any;
        };
        amount: number;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        razorpay?: undefined;
        cashfree?: undefined;
        plate_id?: undefined;
    }>;
    plateBookings(dto: PlateBookingDto, req: any): Promise<{
        total: number;
        data: (mongoose.Document<unknown, {}, import("./schema/plate.schema").Plate, {}, {}> & import("./schema/plate.schema").Plate & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    completeBookingAmount(id: string, req: any): Promise<{
        client_secret: string;
        ephemeralKey: string;
        customer: any;
        data: mongoose.Document<unknown, {}, import("./schema/plate.schema").Plate, {}, {}> & import("./schema/plate.schema").Plate & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
        razorpay?: undefined;
        cashfree?: undefined;
        amount?: undefined;
        paytab?: undefined;
    } | {
        razorpay: {
            amount: any;
            currency: any;
            id: any;
            order_id: any;
            slot_id: any;
            plate_id: any;
        };
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        cashfree?: undefined;
        amount?: undefined;
        paytab?: undefined;
    } | {
        cashfree: {
            id: any;
            order_meta: any;
            payment_session_id: any;
        };
        amount: number;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        razorpay?: undefined;
        paytab?: undefined;
    } | {
        paytab: {
            redirect_url: any;
        };
        amount: number;
        client_secret?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        data?: undefined;
        razorpay?: undefined;
        cashfree?: undefined;
    }>;
    plateStatusUpdate(id: string, dto: PlateBookingStatusDto, req: any): Promise<{
        data: mongoose.Document<unknown, {}, import("./schema/plate.schema").Plate, {}, {}> & import("./schema/plate.schema").Plate & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    plateDetails(id: string, req: any): Promise<{
        data: mongoose.Document<unknown, {}, import("./schema/plate.schema").Plate, {}, {}> & import("./schema/plate.schema").Plate & {
            _id: mongoose.Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
}
