export declare class EarningAggregation {
    Todaymatch(match: any): Promise<{
        $match: any;
    }>;
    Weekmatch(match: any): Promise<{
        $match: any;
    }>;
    monthmatch(match: any): Promise<{
        $match: any;
    }>;
    Yearmatch(match: any): Promise<{
        $match: any;
    }>;
    DateFilterMatch(start_date: any, end_date: any, match: any): Promise<{
        $match: any;
    }>;
    bookingIdLoopup(): Promise<{
        $lookup: {
            from: string;
            let: {
                booking_id: string;
            };
            pipeline: ({
                $match: {
                    $expr: {
                        $and: {
                            $eq: string[];
                        }[];
                    };
                };
                $project?: undefined;
            } | {
                $project: {
                    booking_id: number;
                };
                $match?: undefined;
            })[];
            as: string;
        };
    }>;
    unwindBooking(): Promise<{
        $unwind: {
            path: string;
            preserveNullAndEmptyArrays: boolean;
        };
    }>;
    addFeilds(): Promise<{
        $addFields: {
            commision_amount: {
                $cond: {
                    if: {
                        $eq: string[];
                    };
                    then: number;
                    else: {
                        $ifNull: (string | {
                            $subtract: {
                                $ifNull: (string | number)[];
                            }[];
                        })[];
                    };
                };
            };
        };
    }>;
    project(): Promise<{
        $project: {
            amount: number;
            payout_amount: number;
            commision_amount: number;
            created_at: number;
            booking: number;
            agent_commission: number;
        };
    }>;
    face_set(option: any, isFleet?: any): Promise<{
        $facet: {
            count: {
                $count: string;
            }[];
            data: ({
                $skip: number;
                $limit?: undefined;
            } | {
                $limit: any;
                $skip?: undefined;
            })[];
            total_earning?: undefined;
        };
    } | {
        $facet: {
            count: {
                $count: string;
            }[];
            total_earning: ({
                $group: {
                    _id: any;
                    total_earning: {
                        $sum: string;
                    };
                };
                $project?: undefined;
            } | {
                $project: {
                    total_earning: {
                        $round: (string | number)[];
                    };
                };
                $group?: undefined;
            })[];
            data: ({
                $sort: {
                    _id: 1 | -1;
                };
                $skip?: undefined;
                $limit?: undefined;
            } | {
                $skip: any;
                $sort?: undefined;
                $limit?: undefined;
            } | {
                $limit: any;
                $sort?: undefined;
                $skip?: undefined;
            })[];
        };
    }>;
    match(query: any): Promise<{
        $match: any;
    }>;
    orderLookup(): Promise<{
        $lookup: {
            from: string;
            let: {
                order_id: string;
            };
            pipeline: ({
                $match: {
                    $expr: {
                        $and: ({
                            $eq: string[];
                            $or?: undefined;
                        } | {
                            $or: {
                                $eq: string[];
                            }[];
                            $eq?: undefined;
                        })[];
                    };
                };
                $lookup?: undefined;
                $project?: undefined;
            } | {
                $lookup: {
                    from: string;
                    let: {
                        surcharge_ids: string;
                    };
                    pipeline: {
                        $match: {
                            $expr: {
                                $or: ({
                                    $in: (string | {
                                        $ifNull: (string | any[])[];
                                    })[];
                                } | {
                                    $in: ({
                                        $toString: string;
                                        $ifNull?: undefined;
                                    } | {
                                        $ifNull: (string | any[])[];
                                        $toString?: undefined;
                                    })[];
                                })[];
                            };
                        };
                    }[];
                    as: string;
                };
                $match?: undefined;
                $project?: undefined;
            } | {
                $project: {
                    order_id: number;
                    order_placed_at: number;
                    order_status: number;
                    payment_status: number;
                    delivery_address: number;
                    distance: number;
                    cart_amount: number;
                    total_amount: number;
                    tax_amount: number;
                    tip_amount: number;
                    platform_fee: number;
                    customer_id: number;
                    add_receiver_detail: number;
                    cart_items: number;
                    other_cart_items: number;
                    order_type: number;
                    surcharges: number;
                };
                $match?: undefined;
                $lookup?: undefined;
            })[];
            as: string;
        };
    }>;
    orderUnwind(): Promise<{
        $unwind: {
            path: string;
            preserveNullAndEmptyArrays: boolean;
        };
    }>;
    customerLookup(): Promise<{
        $lookup: {
            from: string;
            localField: string;
            foreignField: string;
            as: string;
        };
    }>;
    customerUnwind(): Promise<{
        $unwind: {
            path: string;
            preserveNullAndEmptyArrays: boolean;
        };
    }>;
    deliverOrderMatch(): Promise<{
        $match: {
            'order.order_status': string;
            'order.payment_status': {
                $in: string[];
            };
        };
    }>;
    EarningMatch(query: any): Promise<{
        $match: any;
    }>;
    earningProject(): Promise<{
        $project: {
            order_id: number;
            reference_id: number;
            delivery_charge: number;
            food_amount: number;
            tax: number;
            total_amount: number;
            sales_commission: number;
            platform_fee: number;
            commission_from_driver: number;
            commission_from_restaurant: number;
            restaurant_surcharge_amount: number;
            driver_surcharge_amount: number;
            admin_surcharge_amount: number;
            created_at: number;
            createdAt: number;
        };
    }>;
    Earningface_set(skip: any, limit: any): Promise<{
        $facet: {
            count: {
                $count: string;
            }[];
            total_earning: ({
                $group: {
                    _id: any;
                    total_earning: {
                        $sum: {
                            $add: (string | {
                                $ifNull: (string | number)[];
                            })[];
                        };
                    };
                };
                $project?: undefined;
            } | {
                $project: {
                    total_earning: {
                        $round: (string | number)[];
                    };
                };
                $group?: undefined;
            })[];
            data: ({
                $sort: {
                    _id: 1 | -1;
                };
                $skip?: undefined;
                $limit?: undefined;
            } | {
                $skip: any;
                $sort?: undefined;
                $limit?: undefined;
            } | {
                $limit: any;
                $sort?: undefined;
                $skip?: undefined;
            })[];
        };
    }>;
    export_project(): Promise<{
        $project: {
            delivery_charge: number;
            food_amount: number;
            commission_from_restaurant: number;
            commission_from_driver: number;
            tax: number;
            total_amount: number;
            created_at: number;
            order: number;
        };
    }>;
}
