+export const IncomingRequestCommand = {
+ ...OCPP16IncomingRequestCommand,
+ ...OCPP20IncomingRequestCommand
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type IncomingRequestCommand = OCPP16IncomingRequestCommand | OCPP20IncomingRequestCommand
+
+export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType]
+
+export type IncomingRequestHandler = (
+ chargingStation: ChargingStation,
+ commandPayload: JsonType
+) => JsonType | Promise<JsonType>
+
+export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void
+
+export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void
+
+export type CachedRequest = [
+ ResponseCallback,
+ ErrorCallback,
+ RequestCommand | IncomingRequestCommand,
+ JsonType
+]
+
+export const MessageTrigger = {
+ ...OCPP16MessageTrigger
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type MessageTrigger = OCPP16MessageTrigger
+
+export type BootNotificationRequest = OCPP16BootNotificationRequest | OCPP20BootNotificationRequest
+
+export type HeartbeatRequest = OCPP16HeartbeatRequest
+
+export type StatusNotificationRequest =
+ | OCPP16StatusNotificationRequest
+ | OCPP20StatusNotificationRequest
+
+export type MeterValuesRequest = OCPP16MeterValuesRequest
+
+export type DataTransferRequest = OCPP16DataTransferRequest
+
+export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest
+
+export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest
+
+export const AvailabilityType = {
+ ...OCPP16AvailabilityType,
+ ...OperationalStatusEnumType
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType
+
+export const DiagnosticsStatus = {
+ ...OCPP16DiagnosticsStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type DiagnosticsStatus = OCPP16DiagnosticsStatus
+
+export const FirmwareStatus = {
+ ...OCPP16FirmwareStatus
+} as const
+// eslint-disable-next-line @typescript-eslint/no-redeclare
+export type FirmwareStatus = OCPP16FirmwareStatus
+
+export type ResponseType = JsonType | OCPPError