// SPDX-FileCopyrightText: 2025 Contributors to the CitrineOS Project
//
// SPDX-License-Identifier: Apache-2.0

/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */

import { ChargingProfilePurposeEnumType } from '../enums/index.js';
import type { OcppRequest } from '../../../internal-types.js';

export interface ClearChargingProfileRequest extends OcppRequest {
  /**
   * The Id of the charging profile to clear.
   *
   */
  chargingProfileId?: number | null;
  chargingProfileCriteria?: ClearChargingProfileType | null;
  customData?: CustomDataType | null;
}
/**
 * A ClearChargingProfileType is a filter for charging profiles to be cleared by ClearChargingProfileRequest.
 *
 *
 */
export interface ClearChargingProfileType {
  /**
   * Specifies the id of the EVSE for which to clear charging profiles. An evseId of zero (0) specifies the charging profile for the overall Charging Station. Absence of this parameter means the clearing applies to all charging profiles that match the other criteria in the request.
   *
   *
   */
  evseId?: number | null;
  chargingProfilePurpose?: ChargingProfilePurposeEnumType | null;
  /**
   * Specifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.
   *
   */
  stackLevel?: number | null;
  customData?: CustomDataType | null;
}
/**
 * This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.
 */
export interface CustomDataType {
  vendorId: string;
  [k: string]: unknown;
}
