// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/bell/v1/keyapis_bell_notification_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 KEYAPISBELLV1GetNotificationCountResponse_Error;
@class KEYAPISBELLV1GetNotificationListResponse_Error;
@class KEYAPISBELLV1GetNotificationResponse_Error;
@class KEYAPISBELLV1Notification;
@class KEYAPISBELLV1NotificationFilter;
@class KEYAPISBELLV1NotificationPaging;
@class KEYAPISBELLV1PostNotificationResponse_Error;
@class KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error;
@class KEYAPISBELLV1PostNotificationViewResponse_Error;
@class KEYAPISBELLV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISBELLV1Notification_StatusType

/** Статус */
typedef GPB_ENUM(KEYAPISBELLV1Notification_StatusType) {
  /**
   * 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.
   **/
  KEYAPISBELLV1Notification_StatusType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISBELLV1Notification_StatusType_StatusTypeUnknown = 0,

  /**
   * Новый.
   * Устанавливается по умолчанию
   **/
  KEYAPISBELLV1Notification_StatusType_New = 1,

  /** Доставлен */
  KEYAPISBELLV1Notification_StatusType_Delivered = 2,

  /** Просмотрен */
  KEYAPISBELLV1Notification_StatusType_Viewed = 3,
};

GPBEnumDescriptor *KEYAPISBELLV1Notification_StatusType_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 KEYAPISBELLV1Notification_StatusType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISBELLV1NotificationPaging_OrderByType

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

  /** По дате создания */
  KEYAPISBELLV1NotificationPaging_OrderByType_CreatedAt = 1,

  /** По дате последнего изменения статуса */
  KEYAPISBELLV1NotificationPaging_OrderByType_StatusChangedAt = 2,
};

GPBEnumDescriptor *KEYAPISBELLV1NotificationPaging_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 KEYAPISBELLV1NotificationPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISBELLV1NotificationPaging_DirectionType

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

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

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

GPBEnumDescriptor *KEYAPISBELLV1NotificationPaging_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 KEYAPISBELLV1NotificationPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISBELLV1KeyapisBellNotificationV1Root

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

#pragma mark - KEYAPISBELLV1Notification

typedef GPB_ENUM(KEYAPISBELLV1Notification_FieldNumber) {
  KEYAPISBELLV1Notification_FieldNumber_Id_p = 1,
  KEYAPISBELLV1Notification_FieldNumber_Orpon = 2,
  KEYAPISBELLV1Notification_FieldNumber_AppTitle = 3,
  KEYAPISBELLV1Notification_FieldNumber_RoomNumber = 4,
  KEYAPISBELLV1Notification_FieldNumber_Header = 5,
  KEYAPISBELLV1Notification_FieldNumber_Text = 6,
  KEYAPISBELLV1Notification_FieldNumber_StatusType = 7,
  KEYAPISBELLV1Notification_FieldNumber_CreatedAt = 8,
  KEYAPISBELLV1Notification_FieldNumber_StatusChangedAt = 9,
  KEYAPISBELLV1Notification_FieldNumber_Payload = 10,
};

/**
 * Уведомление.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISBELLV1Notification : GPBMessage

/**
 * Идентификатор.
 * Создаётся сервером.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

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

/**
 * Наименование приложения-отправителя.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *appTitle;
/** Test to see if @c appTitle has been set. */
@property(nonatomic, readwrite) BOOL hasAppTitle;

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

/**
 * Заголовок.
 * # Диапазон: 3..128
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *header;

/**
 * Тело.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *text;

/** Статус */
@property(nonatomic, readwrite) KEYAPISBELLV1Notification_StatusType statusType;

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

/** Полезная нагрузка */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary<NSString*, NSString*> *payload;
/** The number of items in @c payload without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger payload_Count;

@end

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

#pragma mark - KEYAPISBELLV1PostNotificationRequest

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationRequest_FieldNumber) {
  KEYAPISBELLV1PostNotificationRequest_FieldNumber_Data_p = 1,
};

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

/** Уведомление */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISBELLV1Notification *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - KEYAPISBELLV1PostNotificationResponse

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationResponse_FieldNumber) {
  KEYAPISBELLV1PostNotificationResponse_FieldNumber_Data_p = 1,
  KEYAPISBELLV1PostNotificationResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationResponse_Type_OneOfCase) {
  KEYAPISBELLV1PostNotificationResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISBELLV1PostNotificationResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Уведомление */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISBELLV1Notification *data_p;

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

@end

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

#pragma mark - KEYAPISBELLV1PostNotificationResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationResponse_Error_FieldNumber) {
  KEYAPISBELLV1PostNotificationResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1PostNotificationResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка сохранения уведомления
 **/
GPB_FINAL @interface KEYAPISBELLV1PostNotificationResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationRequest

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationRequest_FieldNumber) {
  KEYAPISBELLV1GetNotificationRequest_FieldNumber_Id_p = 1,
};

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

/**
 * Идентификатор уведомления.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

@end

#pragma mark - KEYAPISBELLV1GetNotificationResponse

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationResponse_FieldNumber) {
  KEYAPISBELLV1GetNotificationResponse_FieldNumber_Data_p = 1,
  KEYAPISBELLV1GetNotificationResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationResponse_Type_OneOfCase) {
  KEYAPISBELLV1GetNotificationResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISBELLV1GetNotificationResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Уведомление */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISBELLV1Notification *data_p;

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationResponse_Error_FieldNumber) {
  KEYAPISBELLV1GetNotificationResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1GetNotificationResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationListRequest

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListRequest_FieldNumber) {
  KEYAPISBELLV1GetNotificationListRequest_FieldNumber_Filter = 1,
  KEYAPISBELLV1GetNotificationListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListRequest_Pagination_OneOfCase) {
  KEYAPISBELLV1GetNotificationListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationListRequest_Pagination_OneOfCase_Paging = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationListResponse

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListResponse_FieldNumber) {
  KEYAPISBELLV1GetNotificationListResponse_FieldNumber_Data_p = 1,
  KEYAPISBELLV1GetNotificationListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListResponse_Type_OneOfCase) {
  KEYAPISBELLV1GetNotificationListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISBELLV1GetNotificationListResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Уведомление */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISBELLV1Notification *data_p;

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationListResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListResponse_Error_FieldNumber) {
  KEYAPISBELLV1GetNotificationListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationListResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1GetNotificationListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationCountRequest

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationCountRequest_FieldNumber) {
  KEYAPISBELLV1GetNotificationCountRequest_FieldNumber_Filter = 1,
};

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

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

@end

#pragma mark - KEYAPISBELLV1GetNotificationCountResponse

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationCountResponse_FieldNumber) {
  KEYAPISBELLV1GetNotificationCountResponse_FieldNumber_Data_p = 1,
  KEYAPISBELLV1GetNotificationCountResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationCountResponse_Type_OneOfCase) {
  KEYAPISBELLV1GetNotificationCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationCountResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISBELLV1GetNotificationCountResponse_Type_OneOfCase_Error = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1GetNotificationCountResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationCountResponse_Error_FieldNumber) {
  KEYAPISBELLV1GetNotificationCountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1GetNotificationCountResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1GetNotificationCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1GetNotificationCountResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1PostNotificationViewRequest

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewRequest_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос на изменение статуса уведомления на "Просмотрено" уведомления
 **/
GPB_FINAL @interface KEYAPISBELLV1PostNotificationViewRequest : GPBMessage

/**
 * Идентификатор уведомления.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *id_p;

@end

#pragma mark - KEYAPISBELLV1PostNotificationViewResponse

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewResponse_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewResponse_Type_OneOfCase) {
  KEYAPISBELLV1PostNotificationViewResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationViewResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на изменение статуса уведомления на "Просмотрено" уведомления
 **/
GPB_FINAL @interface KEYAPISBELLV1PostNotificationViewResponse : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISBELLV1PostNotificationViewResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewResponse_Error_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1PostNotificationViewResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationViewResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISBELLV1NotificationFilter

typedef GPB_ENUM(KEYAPISBELLV1NotificationFilter_FieldNumber) {
  KEYAPISBELLV1NotificationFilter_FieldNumber_OrponsArray = 1,
  KEYAPISBELLV1NotificationFilter_FieldNumber_RoomNumbersArray = 2,
  KEYAPISBELLV1NotificationFilter_FieldNumber_StatusTypesArray = 3,
};

/**
 * Фильтр уведомлений
 **/
GPB_FINAL @interface KEYAPISBELLV1NotificationFilter : GPBMessage

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

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

/** По статусам */
// |statusTypesArray| contains |KEYAPISBELLV1Notification_StatusType|
@property(nonatomic, readwrite, strong, null_resettable) GPBEnumArray *statusTypesArray;
/** The number of items in @c statusTypesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger statusTypesArray_Count;

@end

#pragma mark - KEYAPISBELLV1NotificationPaging

typedef GPB_ENUM(KEYAPISBELLV1NotificationPaging_FieldNumber) {
  KEYAPISBELLV1NotificationPaging_FieldNumber_OrderByType = 1,
  KEYAPISBELLV1NotificationPaging_FieldNumber_DirectionType = 2,
  KEYAPISBELLV1NotificationPaging_FieldNumber_Limit = 3,
  KEYAPISBELLV1NotificationPaging_FieldNumber_Offset = 4,
};

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

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

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

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

#pragma mark - KEYAPISBELLV1PostNotificationViewOrponRoomNumberRequest

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewOrponRoomNumberRequest_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberRequest_FieldNumber_Orpon = 1,
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberRequest_FieldNumber_RoomNumber = 2,
};

/**
 * Запрос на изменение статуса уведомлений на "Просмотрено" по ОРПОНу и номеру квартиры
 **/
GPB_FINAL @interface KEYAPISBELLV1PostNotificationViewOrponRoomNumberRequest : GPBMessage

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

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

@end

#pragma mark - KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_FieldNumber_Data_p = 1,
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Type_OneOfCase) {
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на изменение статуса уведомлений на "Просмотрено" по ОРПОНу и номеру квартиры
 **/
GPB_FINAL @interface KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse : GPBMessage

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

/** Количество изменённых уведомлений */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error_FieldNumber) {
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error_Reason_OneOfCase) {
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISBELLV1PostNotificationViewOrponRoomNumberResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
