import { Model } from 'mongoose';
import { PopularRoute, PopularRouteDocument } from './schema/popular-route.schema';
import { CreatePopularRouteDto } from './dto/create-popular-route.dto';
import { UpdatePopularRouteDto } from './dto/update-popular-route.dto';
import { UpdateVehicleTypeBulkDto } from './dto/update-vehicle-type-bulk.dto';
import { BookingService } from 'src/booking/booking.service';
import { CreateBookingService } from 'src/booking/create.booking.service';
import { DbService } from 'src/db/db.service';
export declare class PopularRouteService {
    private popularRouteModel;
    private readonly bookingService;
    private readonly createBookingService;
    private readonly model;
    constructor(popularRouteModel: Model<PopularRouteDocument>, bookingService: BookingService, createBookingService: CreateBookingService, model: DbService);
    create(createPopularRouteDto: CreatePopularRouteDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }, {}, {}> & import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        } & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>;
    }>;
    findAll(): Promise<{
        message: string;
        selected_vehicle_type: import("mongoose").Types.ObjectId;
        data: (import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }, {}, {}> & import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        } & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>)[];
    }>;
    findAllForUser(): Promise<{
        message: string;
        data: (import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }, {}, {}> & import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        } & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>)[];
    }>;
    findOne(id: string): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }, {}, {}> & import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        } & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>;
    }>;
    update(id: string, updatePopularRouteDto: UpdatePopularRouteDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }, {}, {}> & import("mongoose").Document<unknown, {}, PopularRoute, {}, {}> & PopularRoute & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        } & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>;
    }>;
    remove(id: string): Promise<{
        message: string;
        data: any;
    }>;
    updateVehicleTypeBulk(updateVehicleTypeBulkDto: UpdateVehicleTypeBulkDto): Promise<{
        message: string;
        data: any;
    }>;
}
