/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.9 */

#ifndef PB_TAG_V1_TAG_V1_EXPORT_PB_H_INCLUDED
#define PB_TAG_V1_TAG_V1_EXPORT_PB_H_INCLUDED
#include <pb.h>
#include "tag/v1/get.pb.h"

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Enum definitions */
typedef enum _tag_v1_ReportType {
    tag_v1_ReportType_REPORT_TYPE_UNSPECIFIED = 0,
    tag_v1_ReportType_REPORT_TYPE_CSV = 1,
    tag_v1_ReportType_REPORT_TYPE_XML = 2,
    tag_v1_ReportType_REPORT_TYPE_JSON = 3
} tag_v1_ReportType;

/* Struct definitions */
typedef struct _tag_v1_ExportTagsRequest {
    tag_v1_ReportType type;
    bool has_request;
    tag_v1_GetTagsRequest request;
} tag_v1_ExportTagsRequest;

typedef struct _tag_v1_ExportTagsResponse {
    pb_callback_t file;
} tag_v1_ExportTagsResponse;


#ifdef __cplusplus
extern "C" {
#endif

/* Helper constants for enums */
#define _tag_v1_ReportType_MIN tag_v1_ReportType_REPORT_TYPE_UNSPECIFIED
#define _tag_v1_ReportType_MAX tag_v1_ReportType_REPORT_TYPE_JSON
#define _tag_v1_ReportType_ARRAYSIZE ((tag_v1_ReportType)(tag_v1_ReportType_REPORT_TYPE_JSON+1))

#define tag_v1_ExportTagsRequest_type_ENUMTYPE tag_v1_ReportType



/* Initializer values for message structs */
#define tag_v1_ExportTagsRequest_init_default    {_tag_v1_ReportType_MIN, false, tag_v1_GetTagsRequest_init_default}
#define tag_v1_ExportTagsResponse_init_default   {{{NULL}, NULL}}
#define tag_v1_ExportTagsRequest_init_zero       {_tag_v1_ReportType_MIN, false, tag_v1_GetTagsRequest_init_zero}
#define tag_v1_ExportTagsResponse_init_zero      {{{NULL}, NULL}}

/* Field tags (for use in manual encoding/decoding) */
#define tag_v1_ExportTagsRequest_type_tag        1
#define tag_v1_ExportTagsRequest_request_tag     2
#define tag_v1_ExportTagsResponse_file_tag       1

/* Struct field encoding specification for nanopb */
#define tag_v1_ExportTagsRequest_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    type,              1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  request,           2)
#define tag_v1_ExportTagsRequest_CALLBACK NULL
#define tag_v1_ExportTagsRequest_DEFAULT NULL
#define tag_v1_ExportTagsRequest_request_MSGTYPE tag_v1_GetTagsRequest

#define tag_v1_ExportTagsResponse_FIELDLIST(X, a) \
X(a, CALLBACK, SINGULAR, STRING,   file,              1)
#define tag_v1_ExportTagsResponse_CALLBACK pb_default_field_callback
#define tag_v1_ExportTagsResponse_DEFAULT NULL

extern const pb_msgdesc_t tag_v1_ExportTagsRequest_msg;
extern const pb_msgdesc_t tag_v1_ExportTagsResponse_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define tag_v1_ExportTagsRequest_fields &tag_v1_ExportTagsRequest_msg
#define tag_v1_ExportTagsResponse_fields &tag_v1_ExportTagsResponse_msg

/* Maximum encoded size of messages (where known) */
/* tag_v1_ExportTagsResponse_size depends on runtime parameters */
#if defined(tag_v1_GetTagsRequest_size)
#define TAG_V1_TAG_V1_EXPORT_PB_H_MAX_SIZE       tag_v1_ExportTagsRequest_size
#define tag_v1_ExportTagsRequest_size            (8 + tag_v1_GetTagsRequest_size)
#endif

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif
