// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/vc/v1/keyapis_vc_camera_dictionary_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class KEYAPISVCV1Category;
@class KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories;
@class KEYAPISVCV1GetDictionaryCategoriesResponse_Error;
@class KEYAPISVCV1GetDictionaryRolesResponse_Error;
@class KEYAPISVCV1GetDictionaryRolesResponse_Roles;
@class KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs;
@class KEYAPISVCV1GetDictionaryTariffsResponse_Error;
@class KEYAPISVCV1Role;
@class KEYAPISVCV1Tariff;
@class KEYAPISVCV1VcDictionaryError;
@class KEYAPISVCV1VcDictionaryError_Reason;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISVCV1KeyapisVcCameraDictionaryV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface KEYAPISVCV1KeyapisVcCameraDictionaryV1Root : GPBRootObject
@end

#pragma mark - KEYAPISVCV1Category

typedef GPB_ENUM(KEYAPISVCV1Category_FieldNumber) {
  KEYAPISVCV1Category_FieldNumber_Id_p = 1,
  KEYAPISVCV1Category_FieldNumber_Title = 2,
  KEYAPISVCV1Category_FieldNumber_Kind = 3,
};

/**
 * Категория
 **/
GPB_FINAL @interface KEYAPISVCV1Category : GPBMessage

/** Идентификатор */
@property(nonatomic, readwrite) int32_t id_p;

/** Наименование */
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/** Тип */
@property(nonatomic, readwrite, copy, null_resettable) NSString *kind;

@end

#pragma mark - KEYAPISVCV1Tariff

typedef GPB_ENUM(KEYAPISVCV1Tariff_FieldNumber) {
  KEYAPISVCV1Tariff_FieldNumber_Id_p = 1,
  KEYAPISVCV1Tariff_FieldNumber_Title = 2,
  KEYAPISVCV1Tariff_FieldNumber_Slug = 3,
  KEYAPISVCV1Tariff_FieldNumber_StatusKind = 4,
  KEYAPISVCV1Tariff_FieldNumber_FromAt = 5,
  KEYAPISVCV1Tariff_FieldNumber_ToAt = 6,
};

/**
 * Тариф
 **/
GPB_FINAL @interface KEYAPISVCV1Tariff : GPBMessage

/** Идентификатор */
@property(nonatomic, readwrite) int32_t id_p;

/** Наименование */
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/** Параметр slug */
@property(nonatomic, readwrite, copy, null_resettable) NSString *slug;

/** Тип статуса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *statusKind;

/**
 * Дата действия от.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *fromAt;
/** Test to see if @c fromAt has been set. */
@property(nonatomic, readwrite) BOOL hasFromAt;

/**
 * Дата действия до.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *toAt;
/** Test to see if @c toAt has been set. */
@property(nonatomic, readwrite) BOOL hasToAt;

@end

#pragma mark - KEYAPISVCV1Role

typedef GPB_ENUM(KEYAPISVCV1Role_FieldNumber) {
  KEYAPISVCV1Role_FieldNumber_Id_p = 1,
  KEYAPISVCV1Role_FieldNumber_Title = 2,
  KEYAPISVCV1Role_FieldNumber_PermissionsArray = 3,
  KEYAPISVCV1Role_FieldNumber_IsGlobal = 4,
};

/**
 * Роль
 **/
GPB_FINAL @interface KEYAPISVCV1Role : GPBMessage

/** Идентификатор */
@property(nonatomic, readwrite) int32_t id_p;

/** Наименование */
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/** Доступы */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *permissionsArray;
/** The number of items in @c permissionsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger permissionsArray_Count;

/** Является ли роль глобальной */
@property(nonatomic, readwrite) BOOL isGlobal;

@end

#pragma mark - KEYAPISVCV1GetDictionaryCategoriesRequest

/**
 * Запрос на получение справочника категорий
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryCategoriesRequest : GPBMessage

@end

#pragma mark - KEYAPISVCV1GetDictionaryCategoriesResponse

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryCategoriesResponse_FieldNumber) {
  KEYAPISVCV1GetDictionaryCategoriesResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetDictionaryCategoriesResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryCategoriesResponse_Type_OneOfCase) {
  KEYAPISVCV1GetDictionaryCategoriesResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryCategoriesResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetDictionaryCategoriesResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос получения справочника категорий
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryCategoriesResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryCategoriesResponse_Type_OneOfCase typeOneOfCase;

/** Список категорий */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryCategoriesResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISVCV1GetDictionaryCategoriesResponse_ClearTypeOneOfCase(KEYAPISVCV1GetDictionaryCategoriesResponse *message);

#pragma mark - KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories_FieldNumber) {
  KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories_FieldNumber_CategoryArray = 1,
};

/**
 * Список категорий
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryCategoriesResponse_CameraCategories : GPBMessage

/** Категория */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1Category*> *categoryArray;
/** The number of items in @c categoryArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger categoryArray_Count;

@end

#pragma mark - KEYAPISVCV1GetDictionaryCategoriesResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryCategoriesResponse_Error_FieldNumber) {
  KEYAPISVCV1GetDictionaryCategoriesResponse_Error_FieldNumber_VcDictionaryError = 1,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryCategoriesResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetDictionaryCategoriesResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryCategoriesResponse_Error_Reason_OneOfCase_VcDictionaryError = 1,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryCategoriesResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryCategoriesResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка VCfront */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1VcDictionaryError *vcDictionaryError;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void KEYAPISVCV1GetDictionaryCategoriesResponse_Error_ClearReasonOneOfCase(KEYAPISVCV1GetDictionaryCategoriesResponse_Error *message);

#pragma mark - KEYAPISVCV1GetDictionaryTariffsRequest

/**
 * Запрос на получение справочника тарифов
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryTariffsRequest : GPBMessage

@end

#pragma mark - KEYAPISVCV1GetDictionaryTariffsResponse

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryTariffsResponse_FieldNumber) {
  KEYAPISVCV1GetDictionaryTariffsResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetDictionaryTariffsResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryTariffsResponse_Type_OneOfCase) {
  KEYAPISVCV1GetDictionaryTariffsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryTariffsResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetDictionaryTariffsResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос получения справочника тарифов
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryTariffsResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryTariffsResponse_Type_OneOfCase typeOneOfCase;

/** Список тарифов */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryTariffsResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISVCV1GetDictionaryTariffsResponse_ClearTypeOneOfCase(KEYAPISVCV1GetDictionaryTariffsResponse *message);

#pragma mark - KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs_FieldNumber) {
  KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs_FieldNumber_TariffArray = 1,
};

/**
 * Список тарифов
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryTariffsResponse_CameraTariffs : GPBMessage

/** Тариф */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1Tariff*> *tariffArray;
/** The number of items in @c tariffArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger tariffArray_Count;

@end

#pragma mark - KEYAPISVCV1GetDictionaryTariffsResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryTariffsResponse_Error_FieldNumber) {
  KEYAPISVCV1GetDictionaryTariffsResponse_Error_FieldNumber_VcDictionaryError = 1,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryTariffsResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetDictionaryTariffsResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryTariffsResponse_Error_Reason_OneOfCase_VcDictionaryError = 1,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryTariffsResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryTariffsResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка VCfront */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1VcDictionaryError *vcDictionaryError;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void KEYAPISVCV1GetDictionaryTariffsResponse_Error_ClearReasonOneOfCase(KEYAPISVCV1GetDictionaryTariffsResponse_Error *message);

#pragma mark - KEYAPISVCV1GetDictionaryRolesRequest

/**
 * Запрос на получение справочника ролей
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryRolesRequest : GPBMessage

@end

#pragma mark - KEYAPISVCV1GetDictionaryRolesResponse

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryRolesResponse_FieldNumber) {
  KEYAPISVCV1GetDictionaryRolesResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetDictionaryRolesResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryRolesResponse_Type_OneOfCase) {
  KEYAPISVCV1GetDictionaryRolesResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryRolesResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetDictionaryRolesResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос получения справочника ролей
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryRolesResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryRolesResponse_Type_OneOfCase typeOneOfCase;

/** Список ролей */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryRolesResponse_Roles *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetDictionaryRolesResponse_Error *error;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISVCV1GetDictionaryRolesResponse_ClearTypeOneOfCase(KEYAPISVCV1GetDictionaryRolesResponse *message);

#pragma mark - KEYAPISVCV1GetDictionaryRolesResponse_Roles

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryRolesResponse_Roles_FieldNumber) {
  KEYAPISVCV1GetDictionaryRolesResponse_Roles_FieldNumber_RolesArray = 1,
};

/**
 * Список ролей
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryRolesResponse_Roles : GPBMessage

/** Роли */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1Role*> *rolesArray;
/** The number of items in @c rolesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rolesArray_Count;

@end

#pragma mark - KEYAPISVCV1GetDictionaryRolesResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryRolesResponse_Error_FieldNumber) {
  KEYAPISVCV1GetDictionaryRolesResponse_Error_FieldNumber_VcDictionaryError = 1,
};

typedef GPB_ENUM(KEYAPISVCV1GetDictionaryRolesResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetDictionaryRolesResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetDictionaryRolesResponse_Error_Reason_OneOfCase_VcDictionaryError = 1,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface KEYAPISVCV1GetDictionaryRolesResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) KEYAPISVCV1GetDictionaryRolesResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка VCfront */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1VcDictionaryError *vcDictionaryError;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void KEYAPISVCV1GetDictionaryRolesResponse_Error_ClearReasonOneOfCase(KEYAPISVCV1GetDictionaryRolesResponse_Error *message);

#pragma mark - KEYAPISVCV1VcDictionaryError

typedef GPB_ENUM(KEYAPISVCV1VcDictionaryError_FieldNumber) {
  KEYAPISVCV1VcDictionaryError_FieldNumber_Service = 1,
  KEYAPISVCV1VcDictionaryError_FieldNumber_Product = 2,
  KEYAPISVCV1VcDictionaryError_FieldNumber_Message = 3,
  KEYAPISVCV1VcDictionaryError_FieldNumber_ReasonsArray = 4,
};

/**
 * Ошибка VCfront
 **/
GPB_FINAL @interface KEYAPISVCV1VcDictionaryError : GPBMessage

/** Сервис */
@property(nonatomic, readwrite, copy, null_resettable) NSString *service;

/** Продукт */
@property(nonatomic, readwrite, copy, null_resettable) NSString *product;

/** Сообщение */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

/** Причины */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1VcDictionaryError_Reason*> *reasonsArray;
/** The number of items in @c reasonsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger reasonsArray_Count;

@end

#pragma mark - KEYAPISVCV1VcDictionaryError_Reason

typedef GPB_ENUM(KEYAPISVCV1VcDictionaryError_Reason_FieldNumber) {
  KEYAPISVCV1VcDictionaryError_Reason_FieldNumber_Message = 1,
};

/**
 * Причина
 **/
GPB_FINAL @interface KEYAPISVCV1VcDictionaryError_Reason : GPBMessage

/** Сообщение */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
