-import type ChargingStation from '../../charging-station/ChargingStation';
-import type { JsonType } from '../JsonType';
import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
import {
OCPP16AvailabilityStatus,
OCPP16ConfigurationStatus,
type OCPP16DataTransferResponse,
OCPP16DataTransferStatus,
+ type OCPP16DiagnosticsStatusNotificationResponse,
+ type OCPP16FirmwareStatusNotificationResponse,
type OCPP16HeartbeatResponse,
- OCPP16RegistrationStatus,
+ OCPP16ReservationStatus,
type OCPP16StatusNotificationResponse,
OCPP16TriggerMessageStatus,
OCPP16UnlockStatus,
} from './1.6/Responses';
+import type { OCPP20BootNotificationResponse, OCPP20ClearCacheResponse } from './2.0/Responses';
+import { type GenericResponse, GenericStatus } from './Common';
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 ResponseHandler = (
chargingStation: ChargingStation,
payload: JsonType,
- requestPayload?: JsonType
+ requestPayload?: JsonType,
) => void | Promise<void>;
-export type BootNotificationResponse = OCPP16BootNotificationResponse;
+export type BootNotificationResponse =
+ | OCPP16BootNotificationResponse
+ | OCPP20BootNotificationResponse;
export type HeartbeatResponse = OCPP16HeartbeatResponse;
+export type ClearCacheResponse = GenericResponse | OCPP20ClearCacheResponse;
+
export type StatusNotificationResponse = OCPP16StatusNotificationResponse;
export type MeterValuesResponse = OCPP16MeterValuesResponse;
export type DataTransferResponse = OCPP16DataTransferResponse;
-export enum DefaultStatus {
- ACCEPTED = 'Accepted',
- REJECTED = 'Rejected',
-}
+export type DiagnosticsStatusNotificationResponse = OCPP16DiagnosticsStatusNotificationResponse;
-export type DefaultResponse = {
- status: DefaultStatus;
-};
-
-export const RegistrationStatus = {
- ...OCPP16RegistrationStatus,
-} as const;
-export type RegistrationStatus = OCPP16RegistrationStatus;
+export type FirmwareStatusNotificationResponse = OCPP16FirmwareStatusNotificationResponse;
export const AvailabilityStatus = {
...OCPP16AvailabilityStatus,
...OCPP16DataTransferStatus,
} as const;
export type DataTransferStatus = OCPP16DataTransferStatus;
+
+export type ReservationStatus = OCPP16ReservationStatus;
+export const ReservationStatus = {
+ ...OCPP16ReservationStatus,
+} as const;
+
+export type CancelReservationStatus = GenericStatus;
+export const CancelReservationStatus = {
+ ...GenericStatus,
+} as const;
+
+export type CancelReservationResponse = GenericResponse;