import { UUID } from "crypto";

export interface DecodedVeh {
  // Basic vehicle information
  plate_no?: string;
  plate_st?: string;
  v_vin?: string;
  v_model_yr?: string;
  v_make_desc?: string;
  v_model_desc?: string;
  v_color?: string;
  kmin?: number;
  area_of_damage?: {
    impact1?: string;
    impact2?: string;
  };
  // Complete vehicle data object
  vehicle?: { data: VehicleRecordInterface };
}

export interface VehicleRecordInterface {
  // Area of damage information
  area_of_damage?: {
    impact1?: string;
    impact2?: string;
  };
  // Paint code information
  v_paint_codes: {
    paint_cd1: string;
    paint_cd2: string;
    paint_cd3: string;
  };
  // Vehicle information from DBF file
  db_v_code?: string;
  plate_no?: string;
  plate_st?: string;
  v_vin?: string;
  v_cond: string;
  v_prod_dt?: Date;
  v_model_yr: string;
  v_makecode: string;
  v_make_desc?: string;
  v_model?: string;
  v_model_desc?: string;
  v_type: string;
  v_bstyle?: string;
  v_trimcode?: string;
  trim_color?: string;
  v_mldgcode?: string;
  v_engine?: string;
  v_mileage?: number; //TODO: This can sometimes come in as UNK.
  v_color?: string;
  v_tone?: string;
  v_stage?: string;
  shopid: UUID;

  //These are removed during business logic processing.
  v_makedesc?: string;
  impact_1?: string;
  impact_2?: string;
  paint_cd1?: string;
  paint_cd2?: string;
  paint_cd3?: string;
}
