// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/access_control/v1/keyapis_access_control_building_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 KEYAPISACCESSCONTROLV1Building;
@class KEYAPISACCESSCONTROLV1BuildingFilter;
@class KEYAPISACCESSCONTROLV1BuildingPaging;
@class KEYAPISACCESSCONTROLV1BuildingSubscriptionMode;
@class KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error;
@class KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error;
@class KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error;
@class KEYAPISACCESSCONTROLV1GetBuildingResponse_Error;
@class KEYAPISACCESSCONTROLV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType

/**
 * Справочник типов значений сортировки.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingPaging_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.
   **/
  KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_OrderByTypeUnknown = 0,

  /** По идентификатору */
  KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_Id = 1,

  /** По времени создания */
  KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_CreatedAt = 2,

  /** По улице, номеру дома, корпусу */
  KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_StreetThenNumberThenPart = 3,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1BuildingPaging_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 KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1BuildingPaging_DirectionType

/**
 * Справочник типов направлений сортировки.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingPaging_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.
   **/
  KEYAPISACCESSCONTROLV1BuildingPaging_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1BuildingPaging_DirectionType_DirectionTypeUnknown = 0,

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

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

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1BuildingPaging_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 KEYAPISACCESSCONTROLV1BuildingPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType

/** Справочник режимов работы с подписками */
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType) {
  /**
   * 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.
   **/
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_SubscriptionModeTypeUnknown = 0,

  /** Режим работы с подписками включен на всех помещениях дома */
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_Enabled = 1,

  /** Режим работы с подписками включен на некоторых помещениях дома */
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_PartiallyEnabled = 2,

  /** Режим работы с подписками выключен на всех помещениях дома */
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_Disabled = 3,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_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 KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType_IsValidValue(int32_t value);

#pragma mark - KEYAPISACCESSCONTROLV1KeyapisAccessControlBuildingV1Root

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

#pragma mark - KEYAPISACCESSCONTROLV1Building

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1Building_FieldNumber) {
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Id_p = 1,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_RfId = 2,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_MrfId = 3,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Orpon = 4,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_City = 5,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Street = 6,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Number = 7,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Part = 8,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_CompanyId = 9,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Prefix = 10,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_CreatedAt = 11,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_DeletedAt = 12,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_FlatgrammId = 13,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_CityOrpon = 14,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Fias = 15,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_District = 16,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Unom = 17,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_RegionOrpon = 18,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_UtcOffset = 19,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_IsKeyPurchasePossibleInSalePoints = 20,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_IsKeyPurchasePossibleInManagementCompany = 21,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_IsKeyPurchasePossibleInIntercomCompany = 22,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_IsRfidMifareSupported = 23,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Area = 24,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_AreaOrpon = 25,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_AreaKladr = 26,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_CapitalMarker = 27,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_CityKladr = 28,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Kladr = 29,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_FiasLevel = 30,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_FiasActualityState = 31,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_GeoLat = 32,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_GeoLon = 33,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Okato = 34,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Oktmo = 35,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_PostalCode = 36,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_Region = 37,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_RegionKladr = 38,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_StreetKladr = 39,
  KEYAPISACCESSCONTROLV1Building_FieldNumber_StreetOrpon = 40,
};

/**
 * Дом
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1Building : GPBMessage

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

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

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

/** ОРПОН */
@property(nonatomic, readwrite) int64_t orpon;

/** Город */
@property(nonatomic, readwrite, copy, null_resettable) NSString *city;

/** Улица */
@property(nonatomic, readwrite, copy, null_resettable) NSString *street;

/** Номер дома */
@property(nonatomic, readwrite, copy, null_resettable) NSString *number;

/** Корпус */
@property(nonatomic, readwrite, copy, null_resettable) NSString *part;

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

/** Префикс */
@property(nonatomic, readwrite, copy, null_resettable) NSString *prefix;

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

/**
 * Дата удаления.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *deletedAt;
/** Test to see if @c deletedAt has been set. */
@property(nonatomic, readwrite) BOOL hasDeletedAt;

/** Идентификатор квартирограммы */
@property(nonatomic, readwrite) int32_t flatgrammId;

/** ОРПОН города, в котором находится дом */
@property(nonatomic, readwrite) int64_t cityOrpon;

/**
 * Идентификатор в федеральной информационной адресной системе.
 * Тип: Guid
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *fias;
/** Test to see if @c fias has been set. */
@property(nonatomic, readwrite) BOOL hasFias;

/**
 * Наименование района города.
 * # Диапазон: 0..200
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *district;
/** Test to see if @c district has been set. */
@property(nonatomic, readwrite) BOOL hasDistrict;

/**
 * Уникальный номер адреса.
 * # Диапазон: 0..9999999999
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Value *unom;
/** Test to see if @c unom has been set. */
@property(nonatomic, readwrite) BOOL hasUnom;

/** ОРПОН региона */
@property(nonatomic, readwrite) int64_t regionOrpon;

/**
 * Смещение таймзоны в минутах.
 * # Диапазон: -720..840
 **/
@property(nonatomic, readwrite) int32_t utcOffset;

/** Флаг указывает на то могут ли жители этого дома приобрести ключи домофона в партнёрских салонах или на маркетплейсах */
@property(nonatomic, readwrite) BOOL isKeyPurchasePossibleInSalePoints;

/** Флаг указывает на то могут ли жители этого дома приобретать ключи через управляющую компанию */
@property(nonatomic, readwrite) BOOL isKeyPurchasePossibleInManagementCompany;

/** Флаг указывает на то могут ли жители этого дома приобрести ключи напрямую у домофонной компании */
@property(nonatomic, readwrite) BOOL isKeyPurchasePossibleInIntercomCompany;

/** Флаг указывает на то поддерживает ли дом использование RFID-меток с типом MIFARE */
@property(nonatomic, readwrite) BOOL isRfidMifareSupported;

/**
 * Наименование муниципального района.
 * # Диапазон: 0..64
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *area;
/** Test to see if @c area has been set. */
@property(nonatomic, readwrite) BOOL hasArea;

/**
 * ОРПОН муниципального района.
 * # Диапазон: 0..9999999999
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Value *areaOrpon;
/** Test to see if @c areaOrpon has been set. */
@property(nonatomic, readwrite) BOOL hasAreaOrpon;

/**
 * КЛАДР муниципального района.
 * # Диапазон: 0..32
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *areaKladr;
/** Test to see if @c areaKladr has been set. */
@property(nonatomic, readwrite) BOOL hasAreaKladr;

/**
 * Признак принадлежности населённого пункта к столичному статусу.
 * 1 — центр района.
 * 2 — центр региона.
 * 3 — центр района и региона.
 * 4 — центральный район региона.
 * 0 — ничего из перечисленного.
 * # Диапазон: 0..4
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *capitalMarker;
/** Test to see if @c capitalMarker has been set. */
@property(nonatomic, readwrite) BOOL hasCapitalMarker;

/**
 * КЛАДР-код города.
 * # Диапазон: 0..17
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *cityKladr;
/** Test to see if @c cityKladr has been set. */
@property(nonatomic, readwrite) BOOL hasCityKladr;

/**
 * КЛАДР-код строения.
 * # Диапазон: 0..17
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *kladr;
/** Test to see if @c kladr has been set. */
@property(nonatomic, readwrite) BOOL hasKladr;

/**
 * Уровень детализации, до которого адрес найден в ФИАС.
 * 0 — страна.
 * 1 — регион.
 * 3 — район.
 * 4 — город.
 * 5 — район города.
 * 6 — населенный пункт.
 * 7 — улица.
 * 8 — дом.
 * 9 — квартира.
 * 65 — планировочная структура.
 * 90 — доп. территория.
 * 91 — улица в доп. территории.
 * -1 — иностранный или пустой.
 * # Диапазон: -1..99
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *fiasLevel;
/** Test to see if @c fiasLevel has been set. */
@property(nonatomic, readwrite) BOOL hasFiasLevel;

/**
 * Уровень детализации, до которого адрес найден в ФИАС.
 * 0 — актуальный.
 * 1-50 — переименован.
 * 51 — переподчинен.
 * 99 — удален.
 * # Диапазон: 0..99
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *fiasActualityState;
/** Test to see if @c fiasActualityState has been set. */
@property(nonatomic, readwrite) BOOL hasFiasActualityState;

/** Координаты: широта */
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *geoLat;
/** Test to see if @c geoLat has been set. */
@property(nonatomic, readwrite) BOOL hasGeoLat;

/** Координаты: долгота */
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *geoLon;
/** Test to see if @c geoLon has been set. */
@property(nonatomic, readwrite) BOOL hasGeoLon;

/** Код ОКАТО */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *okato;
/** Test to see if @c okato has been set. */
@property(nonatomic, readwrite) BOOL hasOkato;

/** Код ОКТМО */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *oktmo;
/** Test to see if @c oktmo has been set. */
@property(nonatomic, readwrite) BOOL hasOktmo;

/** Почтовый индекс */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *postalCode;
/** Test to see if @c postalCode has been set. */
@property(nonatomic, readwrite) BOOL hasPostalCode;

/**
 * Наименование региона.
 * # Диапазон: 0..64
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *region;
/** Test to see if @c region has been set. */
@property(nonatomic, readwrite) BOOL hasRegion;

/**
 * КЛАДР-код региона.
 * # Диапазон: 0..32
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *regionKladr;
/** Test to see if @c regionKladr has been set. */
@property(nonatomic, readwrite) BOOL hasRegionKladr;

/**
 * КЛАДР-код улицы.
 * # Диапазон: 0..32
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *streetKladr;
/** Test to see if @c streetKladr has been set. */
@property(nonatomic, readwrite) BOOL hasStreetKladr;

/**
 * ОРПОН улицы.
 * # Диапазон: 0..9999999999
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Value *streetOrpon;
/** Test to see if @c streetOrpon has been set. */
@property(nonatomic, readwrite) BOOL hasStreetOrpon;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Квартира */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1Building *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingListRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingListRequest_FieldNumber_Filter = 1,
  KEYAPISACCESSCONTROLV1GetBuildingListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListRequest_Pagination_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingListRequest_Pagination_OneOfCase_Paging = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingListResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Квартира */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1Building *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingCountRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingCountRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingCountRequest_FieldNumber_Filter = 1,
};

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

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingCountResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingCountResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingCountResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingCountResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingCountResponse_Type_OneOfCase_Data_p = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1BuildingFilter

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber) {
  KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber_MrfIdsArray = 1,
  KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber_RfIdsArray = 2,
  KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber_DeviceIdsArray = 3,
  KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber_FlatgrammIdsArray = 4,
  KEYAPISACCESSCONTROLV1BuildingFilter_FieldNumber_OrponsArray = 5,
};

/**
 * Фильтр по домам
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1BuildingFilter : GPBMessage

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

/** По идентификаторам РФ */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *rfIdsArray;
/** The number of items in @c rfIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfIdsArray_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;

/** По идентификаторам квартирограмм */
@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;

@end

#pragma mark - KEYAPISACCESSCONTROLV1BuildingPaging

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingPaging_FieldNumber) {
  KEYAPISACCESSCONTROLV1BuildingPaging_FieldNumber_OrderByType = 1,
  KEYAPISACCESSCONTROLV1BuildingPaging_FieldNumber_DirectionType = 2,
  KEYAPISACCESSCONTROLV1BuildingPaging_FieldNumber_Limit = 3,
  KEYAPISACCESSCONTROLV1BuildingPaging_FieldNumber_Offset = 4,
};

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

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

/**
 * Тип направления сортировки.
 * # По умолчанию: DESC
 **/
@property(nonatomic, readwrite) KEYAPISACCESSCONTROLV1BuildingPaging_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 KEYAPISACCESSCONTROLV1BuildingPaging's @c orderByType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_RawValue(KEYAPISACCESSCONTROLV1BuildingPaging *message);
/**
 * Sets the raw value of an @c KEYAPISACCESSCONTROLV1BuildingPaging'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 SetKEYAPISACCESSCONTROLV1BuildingPaging_OrderByType_RawValue(KEYAPISACCESSCONTROLV1BuildingPaging *message, int32_t value);

/**
 * Fetches the raw value of a @c KEYAPISACCESSCONTROLV1BuildingPaging's @c directionType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISACCESSCONTROLV1BuildingPaging_DirectionType_RawValue(KEYAPISACCESSCONTROLV1BuildingPaging *message);
/**
 * Sets the raw value of an @c KEYAPISACCESSCONTROLV1BuildingPaging'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 SetKEYAPISACCESSCONTROLV1BuildingPaging_DirectionType_RawValue(KEYAPISACCESSCONTROLV1BuildingPaging *message, int32_t value);

#pragma mark - KEYAPISACCESSCONTROLV1BuildingSubscriptionMode

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_FieldNumber) {
  KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_FieldNumber_SubscriptionModeType = 1,
};

/**
 * Агрегированный статус режима работы с подписками на доме
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1BuildingSubscriptionMode : GPBMessage

/** Режим работы с подписками на доме */
@property(nonatomic, readwrite) KEYAPISACCESSCONTROLV1BuildingSubscriptionMode_SubscriptionModeType subscriptionModeType;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeRequest_FieldNumber_Orpon = 1,
};

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

/**
 * ОРПОН.
 * # Диапазон: 1..9223372036854775807
 **/
@property(nonatomic, readwrite) int64_t orpon;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Агрегированный статус режима работы с подписками дома */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1BuildingSubscriptionMode *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingOrponSubscriptionModeResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponExistsRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponExistsRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsRequest_FieldNumber_Orpon = 1,
};

/**
 * Запрос проверки существования дома по ОРПОН
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetBuildingOrponExistsRequest : GPBMessage

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос проверки существования дома по ОРПОН
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse : GPBMessage

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

/** Результат проверки: true - если дом существует, false - в противном случае */
@property(nonatomic, readwrite) BOOL data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetBuildingOrponExistsResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
