import { VerificationResponse, VehicleVerificationRequest as BaseVehicleVerificationRequest } from '../verification-adapter.interface'; // Re-export the base type (extended to support VIN) export interface VehicleVerificationRequest extends BaseVehicleVerificationRequest { vinNumber?: string; // Vehicle Identification Number / Chassis number } // Standard vehicle verification data structure export interface VehicleVerificationData { plateNumber?: string; vinNumber?: string; make?: string; model?: string; year?: number; color?: string; ownerName?: string; registrationDate?: string; expiryDate?: string; engineNumber?: string; chassisNumber?: string; vehicleType?: string; [key: string]: any; } /** * Interface for Vehicle verification services * Implementations should throw NotImplementedException for unsupported methods */ export interface IVehicleVerificationService { /** * General vehicle verification (plate or VIN) - REQUIRED */ verifyVehicle(data: VehicleVerificationRequest): Promise>; /** * Verify vehicle by VIN/Chassis number - OPTIONAL */ verifyVINChasis?(data: { vinNumber: string }): Promise>; /** * Verify vehicle by plate number - OPTIONAL */ verifyPlateNumber?(data: { plateNumber: string }): Promise>; /** * Check if the service is ready and configured */ isReady(): boolean; }