// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/access_control/v1/keyapis_access_control_sync_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 KEYAPISACCESSCONTROLV1BuildingSync;
@class KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList;
@class KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error;
@class KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error;
@class KEYAPISACCESSCONTROLV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISACCESSCONTROLV1KeyapisAccessControlSyncV1Root

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

#pragma mark - KEYAPISACCESSCONTROLV1BuildingSync

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber) {
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Id_p = 1,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Orpon = 2,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_City = 3,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Street = 4,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Number = 5,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_CityOrpon = 6,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_RegionOrpon = 7,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Area = 8,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_AreaOrpon = 9,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_AreaKladr = 10,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_CapitalMarker = 11,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_CityKladr = 12,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Kladr = 13,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_FiasLevel = 14,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_FiasActualityState = 15,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_GeoLat = 16,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_GeoLon = 17,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Okato = 18,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Oktmo = 19,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_PostalCode = 20,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_Region = 21,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_RegionKladr = 22,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_StreetKladr = 23,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_StreetOrpon = 24,
  KEYAPISACCESSCONTROLV1BuildingSync_FieldNumber_HouseKladr = 25,
};

/**
 * Дом для синхронизации
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1BuildingSync : GPBMessage

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

/** ОРПОН */
@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) int64_t cityOrpon;

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

/**
 * Наименование муниципального района.
 * # Диапазон: 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) GPBInt64Value *okato;
/** Test to see if @c okato has been set. */
@property(nonatomic, readwrite) BOOL hasOkato;

/** Код ОКТМО */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Value *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;

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1PostSyncBuildingRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_FieldNumber_BuildingId = 1,
  KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_Type_OneOfCase_BuildingId = 1,
  KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_Type_OneOfCase_Data_p = 2,
};

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

/** Тип параметра */
@property(nonatomic, readonly) KEYAPISACCESSCONTROLV1PostSyncBuildingRequest_Type_OneOfCase typeOneOfCase;

/** Передается в случае когда изменения данных не требуются, но необходимо зафиксировать дату синхронизации */
@property(nonatomic, readwrite) int32_t buildingId;

/** Дом с обновленными данными из DaData */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1BuildingSync *data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PostSyncBuildingResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PostSyncBuildingResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetSyncBuildingsRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsRequest_FieldNumber_BatchSize = 1,
  KEYAPISACCESSCONTROLV1GetSyncBuildingsRequest_FieldNumber_LastSyncBeforeAt = 2,
};

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

/**
 * Количество.
 * По умолчанию 10.
 * # Диапазон: 10..5000
 **/
@property(nonatomic, readwrite) int32_t batchSize;

/** Дата, старше которой должны вернуться записи для синхронизации */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *lastSyncBeforeAt;
/** Test to see if @c lastSyncBeforeAt has been set. */
@property(nonatomic, readwrite) BOOL hasLastSyncBeforeAt;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Дома */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList_FieldNumber_BuildingsArray = 1,
};

/**
 * Список домов
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_BuildingList : GPBMessage

/** Список домов */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISACCESSCONTROLV1BuildingSync*> *buildingsArray;
/** The number of items in @c buildingsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger buildingsArray_Count;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetSyncBuildingsResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
