import { ModelsService } from '../models/models.service';
import { CommonService } from '../common/common.service';
import { CreateHiredVehicleDto, UpdateHiredVehicleDto } from './dto/hired-vehicle.dto';
export declare class HiredVehiclesService {
    private readonly models;
    private readonly commonService;
    constructor(models: ModelsService, commonService: CommonService);
    private assertTruckNumberAvailable;
    createHiredVehicle(dto: CreateHiredVehicleDto, user: any): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    getHiredVehicles(user: any, page?: number, limit?: number, search?: string, status?: string): Promise<{
        status: string;
        message: string;
        data: any[];
        pagination: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
            hasNextPage: boolean;
            hasPrevPage: boolean;
        };
    }>;
    getAvailableHiredVehicles(user: any, trip_start_date: any, delivery_estimate_date: any): Promise<any>;
    getHiredVehicleById(id: string, user: any): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    updateHiredVehicle(id: string, dto: UpdateHiredVehicleDto, user: any): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    deleteHiredVehicle(id: string, user: any): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    activateHiredVehicle(id: string, user: any): Promise<{
        status: string;
        message: string;
        data: any;
    }>;
    private computeStats;
}
