#pragma once
#include <stdbool.h>
#include "auth_types.h"   // enum + MAX LEN para API

#ifdef __cplusplus
extern "C" {
#endif

/* Evento auxiliar legado/útil (resultado local) */
typedef struct {
    char tag[AUTH_TAG_MAX_LEN];
    bool authorized;
} auth_event_t;

void        auth_init(void);
void        auth_set_mode(auth_mode_t mode);
auth_mode_t auth_get_mode(void);

bool auth_add_tag(const char *tag);
bool auth_remove_tag(const char *tag);
bool auth_tag_exists(const char *tag);
void auth_list_tags(void);

void auth_process_tag(const char *tag);
void auth_wait_for_tag_registration(void);

int         auth_get_tag_count(void);
const char *auth_get_tag_by_index(int index);

#ifdef __cplusplus
}
#endif
