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

export interface OpenPeriodicEventStreamRequest extends OcppRequest {
  constantStreamData: ConstantStreamDataType;
  customData?: CustomDataType | null;
}
export interface ConstantStreamDataType {
  /**
   * Uniquely identifies the stream
   *
   */
  id: number;
  params: PeriodicEventStreamParamsType;
  /**
   * Id of monitor used to report his event. It can be a preconfigured or hardwired monitor.
   *
   */
  variableMonitoringId: number;
  customData?: CustomDataType | null;
}
export interface PeriodicEventStreamParamsType {
  /**
   * Time in seconds after which stream data is sent.
   *
   */
  interval?: number | null;
  /**
   * Number of items to be sent together in stream.
   *
   */
  values?: 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;
}
