import { BaseModel } from "./Base";
import { VehicleBodyType } from "./VehicleBodyType";
import { VehicleFeature } from "./VehicleFeature";
import { VehicleFinance } from "./VehicleFinance";
import { VehicleMake } from "./VehicleMake";
import { VehicleMedia } from "./VehicleMedia";
import { VehicleMetaData } from "./VehicleMetaData";
import { VehicleModel } from "./VehicleModel";
import { VehicleOrder } from "./VehicleOrder";
import { UserFavoriteVehicle } from "./UserFavoriteVehicle";
import { User } from "./User";
import { Deposit } from "./Deposit";
import { VehicleInspectionDTO, VehicleWarrantyYearType } from "../vehicle";
export declare class Vehicle extends BaseModel {
    title?: string;
    referenceNumber?: string;
    slug: string;
    make: VehicleMake;
    makeId: string;
    model: VehicleModel;
    modelId: string;
    bodyType: VehicleBodyType;
    bodyTypeId: string;
    vin: string;
    chassisNumber: string;
    trim: string;
    mileage: number;
    fuelType: string;
    color: string;
    evRange?: number;
    engineCapacity: string;
    numberOfCylinders?: number;
    cylinderCapacity: number;
    doors: number;
    seats: number;
    keys: number;
    vehicleSpec?: string;
    wheelsType: string;
    airbags: number;
    transmission: string;
    driveType: string;
    emissions: string;
    media?: VehicleMedia[];
    year: number;
    price: number;
    status: string;
    features?: VehicleFeature[];
    metaData?: VehicleMetaData;
    finance?: VehicleFinance;
    warrantyYears?: VehicleWarrantyYearType;
    warrantyKm?: number;
    serviceContractYears?: VehicleWarrantyYearType;
    serviceContractKm?: number;
    serviceContract?: string;
    warranty?: string;
    orders?: VehicleOrder[];
    draft?: VehicleDraft;
    vehicleFavorites?: UserFavoriteVehicle[];
    favoritedBy?: User[];
    deposits?: Deposit[];
    inspection?: VehicleInspectionDTO;
    dubiCarsAdId?: string;
    soldAt?: Date;
    static fromPlain(plain: Record<string, unknown>): Vehicle;
    toPlain(): Record<string, unknown>;
}
export declare class VehicleDraft {
    page: number;
    isDraft: boolean;
    lastUpdated: string;
}
