/**
 * @ai-summary Response DTOs for platform feature
 * @ai-context Type-safe response structures for vehicle data queries
 */

/**
 * Years response
 */
export type YearsResponse = number[];

/**
 * Makes response - array of make strings
 */
export type MakesResponse = string[];

/**
 * Models response - array of model strings
 */
export type ModelsResponse = string[];

/**
 * Trims response - array of trim strings
 */
export type TrimsResponse = string[];

/**
 * Engines response - array of engine strings (includes 'N/A (Electric)' for EVs)
 */
export type EnginesResponse = string[];

/**
 * Transmissions response - array of transmission type strings
 */
export type TransmissionsResponse = string[];

/**
 * VIN decode result (detailed vehicle information)
 */
export interface VINDecodeResult {
  make: string | null;
  model: string | null;
  year: number | null;
  trim_name: string | null;
  engine_description: string | null;
  transmission_description: string | null;
  horsepower: number | null;
  torque: number | null;
  top_speed: number | null;
  fuel: string | null;
  confidence_score: number | null;
  vehicle_type: string | null;
}

/**
 * VIN decode response (wrapper with success status)
 */
export interface VINDecodeResponse {
  vin: string;
  result: VINDecodeResult | null;
  success: boolean;
  error?: string;
}

/**
 * vPIC API response structure (NHTSA)
 */
export interface VPICVariable {
  Variable: string;
  Value: string | null;
  ValueId: string | null;
  VariableId: number;
}

export interface VPICResponse {
  Count: number;
  Message: string;
  SearchCriteria: string;
  Results: VPICVariable[];
}
