// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/access_control/v1/keyapis_access_control_room_device_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 KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error;
@class KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error;
@class KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error;
@class KEYAPISACCESSCONTROLV1RoomDevice;
@class KEYAPISACCESSCONTROLV1RoomDeviceFilter;
@class KEYAPISACCESSCONTROLV1RoomDevicePaging;
@class KEYAPISACCESSCONTROLV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType

/**
 * Справочник типов значений сортировки.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_OrderByTypeUnknown = 0,

  /** По ОРПОНу и номеру подъезда */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_OrponThenEntranceNumber = 1,

  /** По идентификатору устройства */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_DeviceId = 2,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType

/**
 * Справочник типов направлений сортировки.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_DirectionTypeUnknown = 0,

  /** От большего к меньшему */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_Desc = 1,

  /** От меньшего к большему */
  KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_Asc = 2,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISACCESSCONTROLV1KeyapisAccessControlRoomDeviceV1Root

/**
 * 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 KEYAPISACCESSCONTROLV1KeyapisAccessControlRoomDeviceV1Root : GPBRootObject
@end

#pragma mark - KEYAPISACCESSCONTROLV1RoomDevice

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1RoomDevice_FieldNumber) {
  KEYAPISACCESSCONTROLV1RoomDevice_FieldNumber_Orpon = 1,
  KEYAPISACCESSCONTROLV1RoomDevice_FieldNumber_RoomNumber = 2,
  KEYAPISACCESSCONTROLV1RoomDevice_FieldNumber_DeviceId = 3,
};

/**
 * Связка квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1RoomDevice : GPBMessage

/**
 * Идентификатор ОРПОН дома.
 * # Диапазон 1..9223372036854775807
 **/
@property(nonatomic, readwrite) int64_t orpon;

/**
 * Номер квартиры.
 * # Диапазон: 1..4
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/**
 * Идентификатор устройства.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t deviceId;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceAttachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceAttachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachRequest_FieldNumber_RoomDevice = 1,
};

/**
 * Запрос создания связи квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutRoomDeviceAttachRequest : GPBMessage

/** Связь квартиры и устройства */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDevice *roomDevice;
/** Test to see if @c roomDevice has been set. */
@property(nonatomic, readwrite) BOOL hasRoomDevice;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос сохранения связи квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Type_OneOfCase typeOneOfCase;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса на создание связи квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutRoomDeviceAttachResponse_Error : GPBMessage

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

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1ValidationError *validation;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceDetachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceDetachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachRequest_FieldNumber_RoomDevice = 1,
};

/**
 * Запрос удаления связи квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutRoomDeviceDetachRequest : GPBMessage

/** Связь квартиры и устройства */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDevice *roomDevice;
/** Test to see if @c roomDevice has been set. */
@property(nonatomic, readwrite) BOOL hasRoomDevice;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Type_OneOfCase_Error = 1,
};

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

/** Тип результата */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Type_OneOfCase typeOneOfCase;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса на удаления связи квартиры и устройства
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutRoomDeviceDetachResponse_Error : GPBMessage

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

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1ValidationError *validation;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1RoomDeviceFilter

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1RoomDeviceFilter_FieldNumber) {
  KEYAPISACCESSCONTROLV1RoomDeviceFilter_FieldNumber_FlatgrammIdsArray = 1,
  KEYAPISACCESSCONTROLV1RoomDeviceFilter_FieldNumber_OrponsArray = 2,
  KEYAPISACCESSCONTROLV1RoomDeviceFilter_FieldNumber_RoomNumbersArray = 3,
  KEYAPISACCESSCONTROLV1RoomDeviceFilter_FieldNumber_DeviceIdsArray = 4,
};

/**
 * Фильтр связок помещение-устройство
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1RoomDeviceFilter : GPBMessage

/** По идентификаторам квартирограмм */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *flatgrammIdsArray;
/** The number of items in @c flatgrammIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger flatgrammIdsArray_Count;

/** По ОРПОН */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Array *orponsArray;
/** The number of items in @c orponsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger orponsArray_Count;

/** По номерам квартир */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *roomNumbersArray;
/** The number of items in @c roomNumbersArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger roomNumbersArray_Count;

/** По идентификаторам привязанных устройств */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *deviceIdsArray;
/** The number of items in @c deviceIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger deviceIdsArray_Count;

@end

#pragma mark - KEYAPISACCESSCONTROLV1RoomDevicePaging

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1RoomDevicePaging_FieldNumber) {
  KEYAPISACCESSCONTROLV1RoomDevicePaging_FieldNumber_OrderByType = 1,
  KEYAPISACCESSCONTROLV1RoomDevicePaging_FieldNumber_DirectionType = 2,
  KEYAPISACCESSCONTROLV1RoomDevicePaging_FieldNumber_Limit = 3,
  KEYAPISACCESSCONTROLV1RoomDevicePaging_FieldNumber_Offset = 4,
};

/**
 * Постраничный вывод
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1RoomDevicePaging : GPBMessage

/**
 * Тип значения сортировки.
 * Если значение не передано, то будет взято значение по умолчанию.
 * # По умолчанию: ORPON_THEN_ENTRANCE_NUMBER
 **/
@property(nonatomic, readwrite) KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType orderByType;

/**
 * Тип направления сортировки.
 * # По умолчанию: DESC
 **/
@property(nonatomic, readwrite) KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType directionType;

/**
 * Количество записей на страницу.
 * Если значение 0 (не передано), то будет взято значение по умолчанию.
 * # Диапазон: 0..100.
 * # По умолчанию: 20
 **/
@property(nonatomic, readwrite) int32_t limit;

/**
 * Сдвиг.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite) int32_t offset;

@end

/**
 * Fetches the raw value of a @c KEYAPISACCESSCONTROLV1RoomDevicePaging's @c orderByType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_RawValue(KEYAPISACCESSCONTROLV1RoomDevicePaging *message);
/**
 * Sets the raw value of an @c KEYAPISACCESSCONTROLV1RoomDevicePaging's @c orderByType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISACCESSCONTROLV1RoomDevicePaging_OrderByType_RawValue(KEYAPISACCESSCONTROLV1RoomDevicePaging *message, int32_t value);

/**
 * Fetches the raw value of a @c KEYAPISACCESSCONTROLV1RoomDevicePaging's @c directionType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_RawValue(KEYAPISACCESSCONTROLV1RoomDevicePaging *message);
/**
 * Sets the raw value of an @c KEYAPISACCESSCONTROLV1RoomDevicePaging's @c directionType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISACCESSCONTROLV1RoomDevicePaging_DirectionType_RawValue(KEYAPISACCESSCONTROLV1RoomDevicePaging *message, int32_t value);

#pragma mark - KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_FieldNumber_Filter = 1,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_Pagination_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_Pagination_OneOfCase_Paging = 2,
};

/**
 * Запрос на получение связок помещение-устройство
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest : GPBMessage

/** Фильтр по связкам помещение-устройство */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDeviceFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

/** Вариант разбиения на страницы */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_Pagination_OneOfCase paginationOneOfCase;

/** Стандартный постраничный вывод */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDevicePaging *paging;

@end

/**
 * Clears whatever value was set for the oneof 'pagination'.
 **/
void KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest_ClearPaginationOneOfCase(KEYAPISACCESSCONTROLV1GetRoomDeviceListRequest *message);

#pragma mark - KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Type_OneOfCase_Error = 2,
};

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

/** Тип результата */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Type_OneOfCase typeOneOfCase;

/** Связка помещение-устройство */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDevice *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса на получение списка связок помещение-устройство
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetRoomDeviceListResponse_Error : GPBMessage

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

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1ValidationError *validation;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetRoomDeviceCountRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceCountRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceCountRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения количества домов
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetRoomDeviceCountRequest : GPBMessage

/** Фильтр */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1RoomDeviceFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_Type_OneOfCase_Data_p = 1,
};

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

/** Тип результата */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1GetRoomDeviceCountResponse_Type_OneOfCase typeOneOfCase;

/** Количество */
@property(nonatomic, readwrite) int32_t data_p;

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
