export declare class CouponAggregation {
    AvailableInPhoneMatch(): Promise<{
        $match: {
            type: string;
        };
    }>;
    SharedMatch(): Promise<{
        $match: {
            type: string;
            used_by: {
                $eq: any[];
            };
        };
    }>;
    SharedusedMatch(): Promise<{
        $match: {
            type: string;
            used_by: {
                $ne: any[];
            };
        };
    }>;
    AvailableInPhoneproject(): Promise<{
        $project: {
            maximum_discount_amount: number;
            code: number;
            discount_percentage: number;
            minimum_booking_amount: number;
            status: number;
            valid_upto: number;
        };
    }>;
    SharedUsedLoopup(): Promise<{
        $lookup: {
            from: string;
            let: {
                id: string;
            };
            pipeline: ({
                $match: {
                    $expr: {
                        $and: {
                            $eq: string[];
                        }[];
                    };
                };
                $project?: undefined;
            } | {
                $project: {
                    booking_id: number;
                    created_at: number;
                    coupon_discount: number;
                };
                $match?: undefined;
            })[];
            as: string;
        };
    }>;
    SharedUsedproject(): Promise<{
        $project: {
            maximum_discount_amount: number;
            code: number;
            discount_percentage: number;
            minimum_booking_amount: number;
            booking: number;
            status: number;
            valid_upto: number;
            date_of_use: number;
        };
    }>;
    face_set(option: any): Promise<{
        $facet: {
            count: {
                $count: string;
            }[];
            data: ({
                $sort: {
                    _id: 1 | -1;
                };
                $skip?: undefined;
                $limit?: undefined;
            } | {
                $skip: any;
                $sort?: undefined;
                $limit?: undefined;
            } | {
                $limit: any;
                $sort?: undefined;
                $skip?: undefined;
            })[];
        };
    }>;
}
