import { AppService } from "src/app.service";
import { PaymentService } from "src/payment/payment.service";
import { DbService } from 'src/db/db.service';
import { BookingService } from 'src/booking/booking.service';
import { EarningAggregation } from './earning.aggregation';
import { CommonService } from 'src/common/common.service';
import { StripeService } from 'src/common/helpers/stripe.service';
import { RazorpayService } from 'src/common/helpers/razorpay-helper.service';
import { Response } from 'express';
import { CashfreeService } from 'src/common/helpers/cashfree-helper.service';
import { FlutterwaveService } from 'src/common/helpers/flutterwave-helper.service';
export declare class EarningService {
    private readonly model;
    private readonly bookingService;
    private readonly earningAggregation;
    private readonly commonService;
    private readonly stripeService;
    private readonly razorpayService;
    private readonly flutterwaveService;
    private readonly cashfreeService;
    private readonly appService;
    private readonly PaymentService;
    constructor(model: DbService, bookingService: BookingService, earningAggregation: EarningAggregation, commonService: CommonService, stripeService: StripeService, razorpayService: RazorpayService, flutterwaveService: FlutterwaveService, cashfreeService: CashfreeService, appService: AppService, PaymentService: PaymentService);
    getAllDriversWeeklyEarnings(query: any, isFleet?: string): Promise<{
        count: number;
        summary: {
            total_trips_amount: number;
            total_app_commission: number;
            total_amount_to_be_paid: number;
            total_amount_paid: number;
            total_you_need_to_pay: number;
            total_net_payout_due: number;
            total_fleet_referral_amount?: undefined;
            total_fleet_paid_amount?: undefined;
        };
        data: any[];
    } | {
        count: number;
        summary: {
            total_trips_amount: number;
            total_app_commission: number;
            total_amount_to_be_paid: number;
            total_fleet_referral_amount: number;
            total_amount_paid: number;
            total_fleet_paid_amount: number;
            total_you_need_to_pay: number;
            total_net_payout_due: number;
        };
        data: any[];
    } | {
        count: number;
        summary: {
            total_trips_amount: number;
            total_app_commission: number;
            total_amount_to_be_paid: number;
            total_driver_referral_amount: number;
            total_amount_paid: number;
            total_driver_paid_amount: number;
            total_you_need_to_pay: number;
            total_net_payout_due: number;
        };
        data: any[];
    }>;
    getAllFleetsWeeklyEarnings(query: any, isFleet?: string): Promise<{
        count: number;
        summary: {
            total_trips_amount: number;
            total_app_commission: number;
            total_amount_to_be_paid: number;
            total_amount_paid: number;
            total_you_need_to_pay: number;
            total_net_payout_due: number;
            total_fleet_referral_amount?: undefined;
            total_fleet_paid_amount?: undefined;
        };
        data: any[];
    } | {
        count: number;
        summary: {
            total_trips_amount: number;
            total_app_commission: number;
            total_amount_to_be_paid: number;
            total_fleet_referral_amount: number;
            total_amount_paid: number;
            total_fleet_paid_amount: number;
            total_you_need_to_pay: number;
            total_net_payout_due: number;
        };
        data: any[];
    }>;
    create(booking_id: any): Promise<{
        message: string;
    }>;
    newEarningListing(user_id: any, status: any, isFleet: any): Promise<{
        data: {};
        weeklyData?: undefined;
    } | {
        weeklyData: any[];
        data?: undefined;
    }>;
    generatePayoutPdf(res: Response, driver_id: string, status: any): Promise<Response<any, Record<string, any>>>;
    AdminEarningListing(body: any, fleet_id: string): Promise<{
        count: number;
        total_earning: number;
        data: any[];
    }>;
    fleet_make_payment(body: any, fleet_id: any): Promise<{
        amount: number;
        meta: any;
        ref_id: string;
    } | {
        client_secret: string;
        amount: number;
        ephemeralKey: any;
        customer: string;
        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;
    }>;
    driver_make_payment(body: any, driver_id: any): Promise<{
        amount: number;
        meta: any;
        ref_id: string;
    } | {
        client_secret: string;
        amount: number;
        ephemeralKey: any;
        customer: string;
        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;
    }>;
    export_earning(body: any, fleetId: string): Promise<{
        data: any[];
        weeklyData: any[];
    } | {
        data: any[];
        weeklyData?: undefined;
    }>;
    transferMoneyToUser(amount: number, destination: string): Promise<import("stripe").Stripe.Response<import("stripe").Stripe.Transfer>>;
    adminPayoutToDriverIncentive(driver: any, incentive: any): Promise<void>;
    findAll(body: any): Promise<{
        count: any;
        total_earning: any;
        total_restaurant_surcharge: any;
        data: any;
    }>;
    driverEarnings(body: any, driver: any): Promise<{
        data: {
            total_delivery_charge: string;
            total_delivery_commission: string;
            amount_to_be_paid: string;
        };
        weeklyData?: undefined;
    } | {
        weeklyData: any[];
        data?: undefined;
    }>;
    driverInvoice(driver_id: any, driverEarnings: any, total_payout: any): Promise<"driver not found!" | {
        downloadUrl: any;
    }>;
    vendorInvoice(restaurant: any, restaurantEarnings: any, total_payout_amount: any): Promise<string>;
    sent_payout_email_to_driver(driver_id: any, total_delivery_charge: any, total_commision_from_driver: any, total_payout_amount: any, invoiceLink: any): Promise<void>;
    sent_payout_email_to_vendor(restaurant: any, total_food_amount: any, total_commision_from_vendor: any, total_payout_amount: any, invoice_link: any): Promise<void>;
    adminEarnings(body: any): Promise<{
        count: any;
        total_earning: any;
        data: any;
        today_count: number;
        week_count: number;
        month_count: number;
        year_count: number;
    }>;
    adminPayoutHandleWithCron(): Promise<void>;
    adminPayoutToVendor(): Promise<void>;
    adminPayoutToDriver(): Promise<void>;
}
