# coding: utf-8

from __future__ import annotations
from datetime import date, datetime  # noqa: F401

import re  # noqa: F401
from typing import Any, Dict, List, Optional  # noqa: F401

from pydantic import AnyUrl, BaseModel, EmailStr, Field, validator  # noqa: F401


class Statistics(BaseModel):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.

    Statistics - a model defined in OpenAPI

        energy_export: The energy_export of this Statistics [Optional].
        energy_recovered: The energy_recovered of this Statistics [Optional].
        total_charge_count: The total_charge_count of this Statistics [Optional].
        total_charge_time: The total_charge_time of this Statistics [Optional].
        total_running_time: The total_running_time of this Statistics [Optional].
        failed_charge_count: The failed_charge_count of this Statistics [Optional].
        charge_time_dist: The charge_time_dist of this Statistics [Optional].
        energy_export_dist: The energy_export_dist of this Statistics [Optional].
        time_between_failure_dist: The time_between_failure_dist of this Statistics [Optional].
        efficiency_dist: The efficiency_dist of this Statistics [Optional].
    """
    class Config:
        orm_mode = True

    energy_export: Optional[float] = Field(alias="energyExport", default=None)
    energy_recovered: Optional[float] = Field(alias="energyRecovered", default=None)
    total_charge_count: Optional[int] = Field(alias="totalChargeCount", default=None)
    total_charge_time: Optional[int] = Field(alias="totalChargeTime", default=None)
    total_running_time: Optional[int] = Field(alias="totalRunningTime", default=None)
    failed_charge_count: Optional[int] = Field(alias="failedChargeCount", default=None)
    charge_time_dist: Optional[List[float]] = Field(alias="chargeTimeDist", default=None)
    energy_export_dist: Optional[List[float]] = Field(alias="energyExportDist", default=None)
    time_between_failure_dist: Optional[List[float]] = Field(alias="timeBetweenFailureDist", default=None)
    efficiency_dist: Optional[List[float]] = Field(alias="efficiencyDist", default=None)

Statistics.update_forward_refs()
