#ifndef ZABBIX_ZBXPROMETHEUS_H
#define ZABBIX_ZBXPROMETHEUS_H
ZBX_PTR_VECTOR_DECL(prometheus_label, zbx_prometheus_label_t *)
zbx_vector_prometheus_label_t labels;
ZBX_PTR_VECTOR_DECL(prometheus_row, zbx_prometheus_row_t *)
zbx_prometheus_label_index_t;
ZBX_PTR_VECTOR_DECL(prometheus_label_index, zbx_prometheus_label_index_t *)
zbx_vector_prometheus_row_t rows;
zbx_vector_prometheus_label_index_t indexes;
pthread_mutex_t index_lock;
int zbx_prometheus_init(zbx_prometheus_t *prom, const char *data, char **error);
void zbx_prometheus_clear(zbx_prometheus_t *prom);
int zbx_prometheus_pattern_ex(zbx_prometheus_t *prom, const char *filter_data, const char *request,
const char *output, char **value, char **error);
int zbx_prometheus_pattern(const char *data, const char *filter_data, const char *request, const char *output,
char **value, char **error);
int zbx_prometheus_to_json(const char *data, const char *filter_data, char **value, char **error);
int zbx_prometheus_to_json_ex(zbx_prometheus_t *prom, const char *filter_data, char **value, char **error);
int zbx_prometheus_validate_filter(const char *pattern, char **error);
int zbx_prometheus_validate_label(const char *label);