// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/access_control/v1/keyapis_access_control_flatgramm_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 KEYAPISACCESSCONTROLV1DcCompanyFlatgramm;
@class KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter;
@class KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging;
@class KEYAPISACCESSCONTROLV1Flatgramm;
@class KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation;
@class KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter;
@class KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging;
@class KEYAPISACCESSCONTROLV1FlatgrammFilter;
@class KEYAPISACCESSCONTROLV1FlatgrammPaging;
@class KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error;
@class KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error;
@class KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error;
@class KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error;
@class KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error;
@class KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error;
@class KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error;
@class KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error;
@class KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error;
@class KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error;
@class KEYAPISACCESSCONTROLV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISACCESSCONTROLV1FlatgrammPaging_OrderByType

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

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

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

  /** По времени изменения */
  KEYAPISACCESSCONTROLV1FlatgrammPaging_OrderByType_ChangedAt = 3,

  /**
   * По рангу для поиска по тексту.
   * Применяется когда передано поле для поиска по тексту.
   * В случае если текстовое поле не передано, применяется значение по умолчанию
   **/
  KEYAPISACCESSCONTROLV1FlatgrammPaging_OrderByType_Rank = 4,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1FlatgrammPaging_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 KEYAPISACCESSCONTROLV1FlatgrammPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1FlatgrammPaging_DirectionType

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

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

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

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1FlatgrammPaging_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 KEYAPISACCESSCONTROLV1FlatgrammPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType

/** Справочник типов сортировки */
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_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.
   **/
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType_OrderByTypeUnknown = 0,

  /** По Идентификатору домофонной компании */
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType_CompanyId = 1,

  /** По Идентификатору квартирограммы */
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType_FlatgrammId = 2,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_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 KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_DirectionType

/** Справочник типов направлений сортировки */
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_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.
   **/
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_DirectionType_DirectionTypeUnknown = 0,

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

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

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_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 KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType

/** Справочник типов сортировки */
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_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.
   **/
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType_OrderByTypeUnknown = 0,

  /** По Идентификатору компании */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType_CompanyId = 1,

  /** По Идентификатору квартирограммы */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType_FlatgrammId = 2,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_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 KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_DirectionType

/** Справочник типов направлений сортировки */
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_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.
   **/
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_DirectionType_DirectionTypeUnknown = 0,

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

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

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_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 KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type

/**
 * Тип связи компании и квартирограммы.
 * По умолчанию OWNER.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type) {
  /**
   * 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.
   **/
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_TypeUnknown = 0,

  /** Управляющая компания владеет квартирограммой */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_Management = 1,

  /** Домофонная компания обслуживает квартирограмму */
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_DeviceService = 2,
};

GPBEnumDescriptor *KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_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 KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type_IsValidValue(int32_t value);

#pragma mark - KEYAPISACCESSCONTROLV1KeyapisAccessControlFlatgrammV1Root

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

#pragma mark - KEYAPISACCESSCONTROLV1Flatgramm

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber) {
  KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber_Id_p = 1,
  KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber_Title = 2,
  KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber_CompanyId = 3,
  KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber_CreatedAt = 4,
  KEYAPISACCESSCONTROLV1Flatgramm_FieldNumber_ChangedAt = 5,
};

/**
 * Облегченная квартирограмма
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1Flatgramm : GPBMessage

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

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

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

/**
 * Дата и время создания.
 * # Тип: 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 *changedAt;
/** Test to see if @c changedAt has been set. */
@property(nonatomic, readwrite) BOOL hasChangedAt;

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Упрощенная квартирограмма */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1Flatgramm *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammListRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_FieldNumber_Filter = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_Pagination_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammListRequest_Pagination_OneOfCase_Paging = 2,
};

/**
 * Запрос на получение списка упрощенных квартирограмм
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammListRequest : GPBMessage

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammListResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_FieldNumber_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос на получение списка упрощенных квартирограмм
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammListResponse : GPBMessage

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

/** Упрощенная квартирограмма */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1Flatgramm *data_p;

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения количества упрощенных квартирограмм
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest : GPBMessage

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения количества упрощенных квартирограмм
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse : GPBMessage

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

/** Всего упрощенных квартирограмм */
@property(nonatomic, readwrite) int32_t data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1FlatgrammFilter

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammFilter_FieldNumber) {
  KEYAPISACCESSCONTROLV1FlatgrammFilter_FieldNumber_CompanyIdsArray = 1,
  KEYAPISACCESSCONTROLV1FlatgrammFilter_FieldNumber_Text = 2,
  KEYAPISACCESSCONTROLV1FlatgrammFilter_FieldNumber_DcCompanyIdsArray = 3,
  KEYAPISACCESSCONTROLV1FlatgrammFilter_FieldNumber_FlatgrammCompanyRelationTypesArray = 4,
};

/**
 * Фильтр квартирограмм
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1FlatgrammFilter : GPBMessage

/**
 * По идентификаторам компаний.
 * Фильтрация среди компаний, тип связи компании и КВГ определяется по полю company_relation_types.
 * Если company_relation_types не передан, то учитываются все значения типа FlatgrammCompanyRelation.Type
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *companyIdsArray;
/** The number of items in @c companyIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger companyIdsArray_Count;

/**
 * Поиск по тексту.
 * Если значение не передано то поиск по нему не производится.
 * # Диапазон: 3..64.
 * # Поиск производится по полям:
 * # - Наименование
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *text;

/**
 * По идентификаторам компаний.
 * Фильтрация среди компаний, привязанных как домофонные компании
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *dcCompanyIdsArray GPB_DEPRECATED_MSG("keyapis.access_control.v1.FlatgrammFilter.dc_company_ids is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).");
/** The number of items in @c dcCompanyIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger dcCompanyIdsArray_Count GPB_DEPRECATED_MSG("keyapis.access_control.v1.FlatgrammFilter.dc_company_ids is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).");

/** По типу связи квартирограмм и компаний */
// |flatgrammCompanyRelationTypesArray| contains |KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type|
@property(nonatomic, readwrite, strong, null_resettable) GPBEnumArray *flatgrammCompanyRelationTypesArray;
/** The number of items in @c flatgrammCompanyRelationTypesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger flatgrammCompanyRelationTypesArray_Count;

@end

#pragma mark - KEYAPISACCESSCONTROLV1FlatgrammPaging

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammPaging_FieldNumber) {
  KEYAPISACCESSCONTROLV1FlatgrammPaging_FieldNumber_OrderByType = 1,
  KEYAPISACCESSCONTROLV1FlatgrammPaging_FieldNumber_DirectionType = 2,
  KEYAPISACCESSCONTROLV1FlatgrammPaging_FieldNumber_Limit = 3,
  KEYAPISACCESSCONTROLV1FlatgrammPaging_FieldNumber_Offset = 4,
};

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

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

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

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_FieldNumber_Filter = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_Pagination_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest_Pagination_OneOfCase_Paging = 2,
};

/**
 * Запрос получения списка
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.GetFlatgrammDcCompanyListRequest is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest : GPBMessage

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

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

/** Пагинация */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging *paging;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_FieldNumber_Filter = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_Pagination_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest_Pagination_OneOfCase_Paging = 2,
};

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

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

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

/** Пагинация */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging *paging;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения количества связей квартирограмм и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.GetFlatgrammDcCompanyCountRequest is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest : GPBMessage

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest_FieldNumber_Filter = 1,
};

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

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_FieldNumber_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Type_OneOfCase_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Type_OneOfCase_Data_p = 2,
};

/**
 * Ответ на запрос получения количества связей квартирограмм и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.GetFlatgrammDcCompanyCountResponse is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse : GPBMessage

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

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

/** Всего связей квартирограмм и домофонной компании */
@property(nonatomic, readwrite) int32_t data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_FieldNumber_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Type_OneOfCase_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Type_OneOfCase_Data_p = 2,
};

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

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

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

/** Всего связей квартирограмм и компаний */
@property(nonatomic, readwrite) int32_t data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_FieldNumber) {
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_FieldNumber_OrderByType = 1,
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_FieldNumber_DirectionType = 2,
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_FieldNumber_Limit = 3,
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging_FieldNumber_Offset = 4,
};

/**
 * Пагинация квартирограмм и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.DcCompanyFlatgrammPaging is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1DcCompanyFlatgrammPaging : GPBMessage

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

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

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

/**
 * Сдвиг.
 * По умолчанию: 0
 **/
@property(nonatomic, readwrite) int32_t offset;

@end

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

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

#pragma mark - KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_FieldNumber) {
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_FieldNumber_OrderByType = 1,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_FieldNumber_DirectionType = 2,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_FieldNumber_Limit = 3,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging_FieldNumber_Offset = 4,
};

/**
 * Пагинация квартирограмм и компаний
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationPaging : GPBMessage

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

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

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

/**
 * Сдвиг.
 * По умолчанию: 0
 **/
@property(nonatomic, readwrite) int32_t offset;

@end

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

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_FieldNumber_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Type_OneOfCase_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Type_OneOfCase_Data_p = 2,
};

/**
 * Ответ на запрос получения списка связей квартирограмм и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.GetFlatgrammDcCompanyListResponse is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse : GPBMessage

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

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

/** Связь квартирограммы и домофонной компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1DcCompanyFlatgramm *data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_FieldNumber_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Type_OneOfCase_Error = 1,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Type_OneOfCase_Data_p = 2,
};

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

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

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

/** Связь квартирограммы и компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation *data_p;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest_FieldNumber_DcCompanyFlatgramm = 1,
};

/**
 * Запрос сохранения связей квартирограммы и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.PutFlatgrammDcCompanyAttachRequest is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest : GPBMessage

/** Связь квартирограммы и домофонной компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1DcCompanyFlatgramm *dcCompanyFlatgramm;
/** Test to see if @c dcCompanyFlatgramm has been set. */
@property(nonatomic, readwrite) BOOL hasDcCompanyFlatgramm;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest_FieldNumber_FlatgrammCompanyRelation = 1,
};

/**
 * Запрос сохранения связей квартирограммы и компании
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest : GPBMessage

/** Связь квартирограммы и компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation *flatgrammCompanyRelation;
/** Test to see if @c flatgrammCompanyRelation has been set. */
@property(nonatomic, readwrite) BOOL hasFlatgrammCompanyRelation;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос сохранения связи квартирограммы и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.PutFlatgrammDcCompanyAttachResponse is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса сохранения связи квартирограммы и домофонной компании
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос сохранения связи квартирограммы и компании
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса сохранения связи квартирограммы и компании
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest_FieldNumber_DcCompanyFlatgramm = 1,
};

/**
 * Запрос удаления связей квартирограммы и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.PutFlatgrammDcCompanyDetachRequest is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest : GPBMessage

/** Связь квартирограммы и домофонной компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1DcCompanyFlatgramm *dcCompanyFlatgramm;
/** Test to see if @c dcCompanyFlatgramm has been set. */
@property(nonatomic, readwrite) BOOL hasDcCompanyFlatgramm;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest_FieldNumber_FlatgrammCompanyRelation = 1,
};

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

/** Связь квартирограммы и компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation *flatgrammCompanyRelation;
/** Test to see if @c flatgrammCompanyRelation has been set. */
@property(nonatomic, readwrite) BOOL hasFlatgrammCompanyRelation;

@end

#pragma mark - KEYAPISACCESSCONTROLV1DcCompanyFlatgramm

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1DcCompanyFlatgramm_FieldNumber) {
  KEYAPISACCESSCONTROLV1DcCompanyFlatgramm_FieldNumber_CompanyId = 1,
  KEYAPISACCESSCONTROLV1DcCompanyFlatgramm_FieldNumber_FlatgrammId = 2,
};

/**
 * Связка квартирограммы и домофонной компании.
 * Задает область ресурсов (resource scope), доступную пользователю.
 * Используется для контроля доступа к квартирограмме
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.DcCompanyFlatgramm is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1DcCompanyFlatgramm : GPBMessage

/**
 * Идентификатор домофонной компании.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite) int32_t companyId;

/**
 * Идентификатор квартирограммы.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite) int32_t flatgrammId;

@end

#pragma mark - KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_FieldNumber) {
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_FieldNumber_CompanyId = 1,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_FieldNumber_FlatgrammId = 2,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_FieldNumber_Type = 3,
};

/**
 * Связка квартирограммы и компании.
 * Задает область ресурсов (resource scope), доступную пользователю.
 * Используется для контроля доступа к квартирограмме
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation : GPBMessage

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

/**
 * Идентификатор квартирограммы.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t flatgrammId;

/** Тип связи компании и квартирограммы */
@property(nonatomic, readwrite) KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type type;

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter_FieldNumber) {
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter_FieldNumber_CompanyIdsArray = 1,
  KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter_FieldNumber_FlatgrammIdsArray = 2,
};

/**
 * Фильтр для запроса связей квартирограммы и домофонной компании.
 * При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
 * При передаче нескольких разных параметров фильтра они работают в выборке через И
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.DcCompanyFlatgrammFilter is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1DcCompanyFlatgrammFilter : GPBMessage

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

@end

#pragma mark - KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter_FieldNumber) {
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter_FieldNumber_FlatgrammIdsArray = 1,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter_FieldNumber_CompanyIdsArray = 2,
  KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter_FieldNumber_FlatgrammCompanyRelationTypesArray = 3,
};

/**
 * Фильтр для запроса связей квартирограммы и компании.
 * При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ.
 * При передаче нескольких разных параметров фильтра они работают в выборке через И
 **/
GPB_FINAL @interface KEYAPISACCESSCONTROLV1FlatgrammCompanyRelationFilter : 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) GPBInt32Array *companyIdsArray;
/** The number of items in @c companyIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger companyIdsArray_Count;

/** Тип назначения компании для квартирограммы */
// |flatgrammCompanyRelationTypesArray| contains |KEYAPISACCESSCONTROLV1FlatgrammCompanyRelation_Type|
@property(nonatomic, readwrite, strong, null_resettable) GPBEnumArray *flatgrammCompanyRelationTypesArray;
/** The number of items in @c flatgrammCompanyRelationTypesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger flatgrammCompanyRelationTypesArray_Count;

@end

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос удаления связи квартирограммы и домофонной компании
 **/
GPB_DEPRECATED_MSG("keyapis.access_control.v1.PutFlatgrammDcCompanyDetachResponse is deprecated (see keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto).")
GPB_FINAL @interface KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Type_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error_FieldNumber) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error_Reason_OneOfCase) {
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
