+import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
+import {
+ OCPP16AvailabilityStatus,
+ type OCPP16BootNotificationResponse,
+ type OCPP16CancelReservationResponse,
+ OCPP16ChargingProfileStatus,
+ OCPP16ClearChargingProfileStatus,
+ OCPP16ConfigurationStatus,
+ type OCPP16DataTransferResponse,
+ OCPP16DataTransferStatus,
+ type OCPP16DiagnosticsStatusNotificationResponse,
+ type OCPP16FirmwareStatusNotificationResponse,
+ type OCPP16HeartbeatResponse,
+ OCPP16ReservationStatus,
+ type OCPP16StatusNotificationResponse,
+ OCPP16TriggerMessageStatus,
+ OCPP16UnlockStatus,
+} from './1.6/Responses';
+import type {
+ OCPP20BootNotificationResponse,
+ OCPP20ClearCacheResponse,
+ OCPP20StatusNotificationResponse,
+} from './2.0/Responses';
+import type { ErrorType } from './ErrorType';
+import type { MessageType } from './MessageType';
+import type { ChargingStation } from '../../charging-station';
+import type { JsonType } from '../JsonType';
+
+export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
+
+export type ErrorResponse = [MessageType.CALL_ERROR_MESSAGE, string, ErrorType, string, JsonType];
+
+export type ResponseHandler = (
+ chargingStation: ChargingStation,
+ payload: JsonType,
+ requestPayload?: JsonType
+) => void | Promise<void>;
+
+export type BootNotificationResponse =
+ | OCPP16BootNotificationResponse
+ | OCPP20BootNotificationResponse;
+
+export type HeartbeatResponse = OCPP16HeartbeatResponse;
+
+export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse;
+
+export type StatusNotificationResponse =
+ | OCPP16StatusNotificationResponse
+ | OCPP20StatusNotificationResponse;
+
+export type MeterValuesResponse = OCPP16MeterValuesResponse;
+
+export type DataTransferResponse = OCPP16DataTransferResponse;
+
+export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse;
+
+export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse;
+
+export enum GenericStatus {
+ Accepted = 'Accepted',
+ Rejected = 'Rejected',