// 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 { MessageTriggerEnumType } from '../enums/index.js';
import type { OcppRequest } from '../../../internal-types.js';

export interface TriggerMessageRequest extends OcppRequest {
  evse?: EVSEType | null;
  requestedMessage: MessageTriggerEnumType;
  /**
   * *(2.1)* When _requestedMessage_ = `CustomTrigger` this will trigger sending the corresponding message in field _customTrigger_, if supported by Charging Station.
   *
   *
   */
  customTrigger?: string | null;
  customData?: CustomDataType | null;
}
/**
 * Electric Vehicle Supply Equipment
 *
 */
export interface EVSEType {
  /**
   * EVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.
   *
   */
  id: number;
  /**
   * An id to designate a specific connector (on an EVSE) by connector index number.
   *
   */
  connectorId?: 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;
}
