// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/notification/v1/keyapis_notification_push_token_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 KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error;
@class KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error;
@class KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error;
@class KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error;
@class KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error;
@class KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error;
@class KEYAPISNOTIFICATIONV1PushToken;
@class KEYAPISNOTIFICATIONV1PushTokenFilter;
@class KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError;
@class KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_UserAppIdsInvalid;
@class KEYAPISNOTIFICATIONV1PushTokenPaging;
@class KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError;
@class KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_LimitInvalid;
@class KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_OffsetInvalid;
@class KEYAPISNOTIFICATIONV1PushToken_SavingError;
@class KEYAPISNOTIFICATIONV1PushToken_SavingError_Conflict;
@class KEYAPISNOTIFICATIONV1PushToken_SavingError_UserAppIdExists;
@class KEYAPISNOTIFICATIONV1PushToken_ValidationError;
@class KEYAPISNOTIFICATIONV1PushToken_ValidationError_UserAppIdInvalid;
@class KEYAPISNOTIFICATIONV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISNOTIFICATIONV1PushToken_Type

/**
 * Справочников типов пуш-токенов.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_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.
   **/
  KEYAPISNOTIFICATIONV1PushToken_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Не указан */
  KEYAPISNOTIFICATIONV1PushToken_Type_TypeUnknown = 0,

  /** Для Mobile Firebase Cloud Messaging */
  KEYAPISNOTIFICATIONV1PushToken_Type_MobileFcm = 1,

  /** Для Mobile Huawei Messaging System */
  KEYAPISNOTIFICATIONV1PushToken_Type_MobileHms = 2,

  /** Для Mobile Apple PushToken System для текста */
  KEYAPISNOTIFICATIONV1PushToken_Type_MobileApnsText = 3,

  /** Для Mobile Apple PushToken System для звонков */
  KEYAPISNOTIFICATIONV1PushToken_Type_MobileApnsCall = 4,

  /** Для PWA Firebase Cloud Messaging */
  KEYAPISNOTIFICATIONV1PushToken_Type_PwaFcm = 5,

  /** Для PWA Apple PushToken System */
  KEYAPISNOTIFICATIONV1PushToken_Type_PwaApns = 6,

  /** Для Mobile RuStore */
  KEYAPISNOTIFICATIONV1PushToken_Type_MobileRustore = 7,
};

GPBEnumDescriptor *KEYAPISNOTIFICATIONV1PushToken_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 KEYAPISNOTIFICATIONV1PushToken_Type_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISNOTIFICATIONV1PushTokenPaging_OrderByType

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

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

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

  /** По времени изменения */
  KEYAPISNOTIFICATIONV1PushTokenPaging_OrderByType_ChangedAt = 3,
};

GPBEnumDescriptor *KEYAPISNOTIFICATIONV1PushTokenPaging_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 KEYAPISNOTIFICATIONV1PushTokenPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISNOTIFICATIONV1PushTokenPaging_DirectionType

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

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

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

GPBEnumDescriptor *KEYAPISNOTIFICATIONV1PushTokenPaging_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 KEYAPISNOTIFICATIONV1PushTokenPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISNOTIFICATIONV1KeyapisNotificationPushTokenV1Root

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

#pragma mark - KEYAPISNOTIFICATIONV1PushToken

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_Id_p = 1,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_Type = 2,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_Token = 3,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_UserAppId = 4,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_UserId = 5,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_CreatedAt = 6,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_ChangedAt = 7,
  KEYAPISNOTIFICATIONV1PushToken_FieldNumber_AppVersion = 8,
};

/**
 * Пуш-токен.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken : GPBMessage

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

/** Тип */
@property(nonatomic, readwrite) KEYAPISNOTIFICATIONV1PushToken_Type type;

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

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

/**
 * Идентификатор пользователя.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *userId;
/** Test to see if @c userId has been set. */
@property(nonatomic, readwrite) BOOL hasUserId;

/**
 * Дата и время создания.
 * # Тип: 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;

/**
 * Версия приложения.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *appVersion;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PushToken_ValidationError

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_ValidationError_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushToken_ValidationError_FieldNumber_UserAppId = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_ValidationError_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1PushToken_ValidationError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PushToken_ValidationError_Reason_OneOfCase_UserAppId = 1,
};

/**
 * Ошибка валидации пуш-токена.
 * Эти проверки выполняются до обращения в базу данных
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken_ValidationError : GPBMessage

@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1PushToken_ValidationError_Reason_OneOfCase reasonOneOfCase;

/** Передан некоректный идентификатор устройства пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken_ValidationError_UserAppIdInvalid *userAppId;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PushToken_ValidationError_UserAppIdInvalid

/**
 * Причины:
 * - Cодержит значение не Guid
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken_ValidationError_UserAppIdInvalid : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushToken_SavingError

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_SavingError_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushToken_SavingError_FieldNumber_UserAppIdExists = 1,
  KEYAPISNOTIFICATIONV1PushToken_SavingError_FieldNumber_Conflict = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushToken_SavingError_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1PushToken_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PushToken_SavingError_Reason_OneOfCase_UserAppIdExists = 1,
  KEYAPISNOTIFICATIONV1PushToken_SavingError_Reason_OneOfCase_Conflict = 2,
};

/**
 * Ошибка сохранения пуш-токена.
 * Эти проверки выполняются при работе с базой данных и сторонними сервисами
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken_SavingError : GPBMessage

@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1PushToken_SavingError_Reason_OneOfCase reasonOneOfCase;

/** Идентификатор устройства пользователя уже используется */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken_SavingError_UserAppIdExists *userAppIdExists;

/** Конфликт версий */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken_SavingError_Conflict *conflict;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PushToken_SavingError_UserAppIdExists

/**
 * Причины:
 *  - Переданный индентификатор устройства пользователя уже существует с другим токеном
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken_SavingError_UserAppIdExists : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushToken_SavingError_Conflict

/**
 * Конфликт версий.
 * Причины:
 * - В базе хранится другая версия строки, значения changed_at отличаются
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushToken_SavingError_Conflict : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenFilter

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_TypesArray = 1,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_UserAppIdsArray = 2,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_UserIdsArray = 3,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_BeginCreatedAt = 4,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_EndCreatedAt = 5,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_BeginChangedAt = 6,
  KEYAPISNOTIFICATIONV1PushTokenFilter_FieldNumber_EndChangedAt = 7,
};

/**
 * Фильтр по пуш-токенам
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenFilter : GPBMessage

/** По типам пуш-токенов */
// |typesArray| contains |KEYAPISNOTIFICATIONV1PushToken_Type|
@property(nonatomic, readwrite, strong, null_resettable) GPBEnumArray *typesArray;
/** The number of items in @c typesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger typesArray_Count;

/**
 * По идентификаторам устройств пользователя.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *userAppIdsArray;
/** The number of items in @c userAppIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger userAppIdsArray_Count;

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

/** От даты создания включительно (>=) */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *beginCreatedAt;
/** Test to see if @c beginCreatedAt has been set. */
@property(nonatomic, readwrite) BOOL hasBeginCreatedAt;

/** До даты создания (<) */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *endCreatedAt;
/** Test to see if @c endCreatedAt has been set. */
@property(nonatomic, readwrite) BOOL hasEndCreatedAt;

/** От даты изменения включительно (>=) */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *beginChangedAt;
/** Test to see if @c beginChangedAt has been set. */
@property(nonatomic, readwrite) BOOL hasBeginChangedAt;

/** До даты изменения (<) */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *endChangedAt;
/** Test to see if @c endChangedAt has been set. */
@property(nonatomic, readwrite) BOOL hasEndChangedAt;

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_FieldNumber_UserAppIds = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_Reason_OneOfCase_UserAppIds = 1,
};

/**
 * Ошибки валидации фильтра по фильтру пуш-токенов.
 * Эти проверки выполняются до обращения в базу данных
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError : GPBMessage

@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_Reason_OneOfCase reasonOneOfCase;

/** Идентификаторы устройств пользователя переданы некоректно */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_UserAppIdsInvalid *userAppIds;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_UserAppIdsInvalid

/**
 * Причины:
 * - Cодержит значение не Guid
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError_UserAppIdsInvalid : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenPaging

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenPaging_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushTokenPaging_FieldNumber_OrderByType = 1,
  KEYAPISNOTIFICATIONV1PushTokenPaging_FieldNumber_DirectionType = 2,
  KEYAPISNOTIFICATIONV1PushTokenPaging_FieldNumber_Limit = 3,
  KEYAPISNOTIFICATIONV1PushTokenPaging_FieldNumber_Offset = 4,
};

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

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

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

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

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_FieldNumber) {
  KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_FieldNumber_Limit = 1,
  KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_FieldNumber_Offset = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_Reason_OneOfCase_Limit = 1,
  KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_Reason_OneOfCase_Offset = 2,
};

/**
 * Ошибка валидации постраничной пагинации по пуш-токенам.
 * Эти проверки выполняются до обращения в базу данных
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError : GPBMessage

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

/** Количество передано некорректно */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_LimitInvalid *limit;

/** Сдвиг передан некорректно */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_OffsetInvalid *offset;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_LimitInvalid

/**
 * Причины:
 * - Значение количества < 0 или > 100
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_LimitInvalid : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_OffsetInvalid

/**
 * Причины:
 * - Значение сдвига < 0
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError_OffsetInvalid : GPBMessage

@end

#pragma mark - KEYAPISNOTIFICATIONV1PostPushTokenRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PostPushTokenRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1PostPushTokenRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос на создание/изменение пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PostPushTokenRequest : GPBMessage

/** Пуш-токен */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - KEYAPISNOTIFICATIONV1PostPushTokenResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PostPushTokenResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_FieldNumber_Data_p = 1,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PostPushTokenResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос на создание/изменение пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PostPushTokenResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1PostPushTokenResponse_Type_OneOfCase typeOneOfCase;

/** Пуш-токен */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken *data_p;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_FieldNumber_PushTokenValidation = 1,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_FieldNumber_PushTokenSaving = 2,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_FieldNumber_Validation = 3,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_Reason_OneOfCase_PushTokenValidation = 1,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_Reason_OneOfCase_PushTokenSaving = 2,
  KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error_Reason_OneOfCase_Validation = 3,
};

/**
 * Ошибка запроса сохранения пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1PostPushTokenResponse_Error : GPBMessage

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

/** Ошибка валидации пуш-токена */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken_ValidationError *pushTokenValidation GPB_DEPRECATED_MSG("keyapis.notification.v1.PostPushTokenResponse.Error.push_token_validation is deprecated (see keyapis/notification/v1/keyapis_notification_push_token_v1.proto).");

/** Ошибка сохранения пуш-токена */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken_SavingError *pushTokenSaving;

/** Ошибка валидации пуш-токена */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1ValidationError *validation;

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenListRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenListRequest_FieldNumber_Filter = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListRequest_Pagination_OneOfCase) {
  KEYAPISNOTIFICATIONV1GetPushTokenListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1GetPushTokenListRequest_Pagination_OneOfCase_Paging = 2,
};

/**
 * Запрос на получение пуш-токенов пользователя
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1GetPushTokenListRequest : GPBMessage

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

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

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenCountRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenCountRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenCountRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения количества пуш-токенов
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1GetPushTokenCountRequest : GPBMessage

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

@end

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenCountResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_FieldNumber_Data_p = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Всего пуш-токенов */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_FieldNumber_PushTokenFilterValidation = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_FieldNumber_Validation = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_Reason_OneOfCase_PushTokenFilterValidation = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenCountResponse_Error_Reason_OneOfCase_Validation = 2,
};

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

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

/** Ошибка фильтрации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError *pushTokenFilterValidation GPB_DEPRECATED_MSG("keyapis.notification.v1.GetPushTokenCountResponse.Error.push_token_filter_validation is deprecated (see keyapis/notification/v1/keyapis_notification_push_token_v1.proto).");

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenListResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_FieldNumber_Data_p = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на получение списка пуш-токенов
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1GetPushTokenListResponse : GPBMessage

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

/** Пуш-токен */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushToken *data_p;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_FieldNumber_PushTokenFilterValidation = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_FieldNumber_PushTokenPagingValidation = 2,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_FieldNumber_Validation = 3,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_Reason_OneOfCase_PushTokenFilterValidation = 1,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_Reason_OneOfCase_PushTokenPagingValidation = 2,
  KEYAPISNOTIFICATIONV1GetPushTokenListResponse_Error_Reason_OneOfCase_Validation = 3,
};

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

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

/** Ошибка фильтрации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenFilter_ValidationError *pushTokenFilterValidation GPB_DEPRECATED_MSG("keyapis.notification.v1.GetPushTokenListResponse.Error.push_token_filter_validation is deprecated (see keyapis/notification/v1/keyapis_notification_push_token_v1.proto).");

/** Ошибка пагинации по страницам */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISNOTIFICATIONV1PushTokenPaging_ValidationError *pushTokenPagingValidation GPB_DEPRECATED_MSG("keyapis.notification.v1.GetPushTokenListResponse.Error.push_token_paging_validation is deprecated (see keyapis/notification/v1/keyapis_notification_push_token_v1.proto).");

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос удаления пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenRequest : GPBMessage

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

@end

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Type_OneOfCase_Error = 1,
};

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

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Type_OneOfCase typeOneOfCase;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка удаления пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserIdRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserIdRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdRequest_FieldNumber_UserId = 1,
};

/**
 * Запрос удаления пуш-токенов по идентификатору пользователя
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserIdRequest : GPBMessage

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

@end

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос удаления пуш-токенов по идентификатору пользователя
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Type_OneOfCase typeOneOfCase;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка удаления пуш-токенов
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserIdResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdRequest

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdRequest_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdRequest_FieldNumber_UserAppId = 1,
};

/**
 * Запрос удаления пуш-токена по идентификатору устройства пользователя
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdRequest : GPBMessage

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

@end

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Type_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос удаления пуш-токена по идентификатору устройства пользователя
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Type_OneOfCase typeOneOfCase;

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error_FieldNumber) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error_Reason_OneOfCase) {
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка удаления пуш-токена
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1DeletePushTokenUserAppIdResponse_Error : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISNOTIFICATIONV1ValidationError

typedef GPB_ENUM(KEYAPISNOTIFICATIONV1ValidationError_FieldNumber) {
  KEYAPISNOTIFICATIONV1ValidationError_FieldNumber_Path = 1,
  KEYAPISNOTIFICATIONV1ValidationError_FieldNumber_Message = 2,
};

/**
 * Ошибки валидации.
 * Эти проверки выполняются до обращения в базу данных
 **/
GPB_FINAL @interface KEYAPISNOTIFICATIONV1ValidationError : GPBMessage

/** Путь к полю в формате наименования прото */
@property(nonatomic, readwrite, copy, null_resettable) NSString *path;

/** Валидационное сообщение */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
