import { VehicleRepository } from './repositories/vehicle.repository';
import { VehicleMediaRepository } from './repositories/vehicle-media.repository';
import { MediaService } from '../../common/media/media.service';
import { CreateVehicleDto, UpdateVehicleDto } from './dto';
import { VehicleEntity, VehicleStatus } from '../../entities/vehicle.entity';
import { DestinationEntity } from '../../entities/destination.entity';
export declare class VehicleService {
    private readonly repo;
    private readonly mediaRepo;
    private readonly media;
    constructor(repo: VehicleRepository, mediaRepo: VehicleMediaRepository, media: MediaService);
    findAll(query?: {
        page?: number;
        limit?: number;
        search?: string;
    }, filters?: {
        status?: string;
        type?: string;
        supplierId?: string;
        destinationId?: string;
    }): Promise<{
        items: VehicleEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    findAllForLookup(): Promise<VehicleEntity[]>;
    findById(id: string): Promise<{
        media: import("../../common/media/media.service").MediaView[];
        destination: DestinationEntity | null;
        destination_id: string | null;
        supplier: import("../../entities").SupplierEntity | null;
        supplier_id: string | null;
        assigned_driver: import("../../entities").DriverEntity | null;
        assigned_driver_id: string | null;
        vehicle_no: string | null;
        type: string | null;
        company: string | null;
        model: string | null;
        year: number | null;
        capacity: number | null;
        capping: number | null;
        fuel_type: string | null;
        color: string | null;
        insurance_expiry: string | null;
        features: string | null;
        status: VehicleStatus;
        notes: string | null;
        is_active: boolean;
        id: string;
        tenant_id: string;
        created_by: string | null;
        updated_by: string | null;
        created_at: Date;
        updated_at: Date;
        is_deleted: boolean;
    }>;
    create(dto: CreateVehicleDto): Promise<{
        id: string;
        message: string;
    }>;
    update(id: string, dto: UpdateVehicleDto): Promise<{
        id: string;
        message: string;
    }>;
    assignDriver(id: string, driverId: string | null): Promise<{
        id: string;
        message: string;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
}
