import { RateCustomerDto, RateDriverDto, RateRestaurantDto } from "./dto/review.dto";
import { ReviewService } from './review.service';
import { AddReviewDto } from './dto/review.dto';
export declare class ReviewController {
    private readonly reviewService;
    constructor(reviewService: ReviewService);
    create(body: AddReviewDto, req: any): Promise<{
        message: any;
    }>;
    findAll(req: any, page: number, limit: number): Promise<{
        count: number;
        overall_rating: number;
        data: (import("mongoose").FlattenMaps<{
            booking_id: string;
            driver_id: string;
            customer_id: string;
            rate: number;
            description: string;
            type: string;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    rateRestaurant(body: RateRestaurantDto, req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/reviews.schema").Reviews, {}, {}> & import("./schema/reviews.schema").Reviews & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    RateDriver(body: RateDriverDto, req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/reviews.schema").Reviews, {}, {}> & import("./schema/reviews.schema").Reviews & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    RateCustomer(body: RateCustomerDto, req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/reviews.schema").Reviews, {}, {}> & import("./schema/reviews.schema").Reviews & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getCustomerReview(customer_id: string, page: number, limit: number): Promise<{
        customer_name: string;
        overall_rating: number;
        count: any;
        data: any;
    }>;
    getRestaurantReview(restaurant_id: string, page: number, limit: number): Promise<{
        restaurant_name: string;
        overall_rating: number;
        count: any;
        data: any;
    }>;
    getDriverReview(driver_id: string, page: number, limit: number): Promise<{
        driver_name: string;
        overall_rating: number;
        count: any;
        data: any;
    }>;
    reviewListing(req: any, page: number, limit: number): Promise<{
        vendor_name: string;
        restaurant_id: import("mongoose").Types.ObjectId;
        restaurant_name: string;
        overall_rating: number;
        count: any;
        data: any;
    }>;
}
