#ifndef EVSE_EVENTS_H
#define EVSE_EVENTS_H

#pragma once
#include "esp_event.h"

ESP_EVENT_DECLARE_BASE(EVSE_EVENTS);

typedef enum {
    EVSE_EVENT_INIT,
    EVSE_EVENT_STATE_CHANGED,
    // Outros eventos possíveis futuramente
} evse_event_id_t;

typedef enum {
    EVSE_STATE_EVENT_IDLE,
    EVSE_STATE_EVENT_WAITING,
    EVSE_STATE_EVENT_CHARGING,
    EVSE_STATE_EVENT_FAULT
} evse_state_event_t;

typedef struct {
    evse_state_event_t state;
} evse_state_event_data_t;


#endif // EVSE_EVENTS_H
