// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/multiapp/v1/keyapis_multiapp_notification_template_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 KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error;
@class KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error;
@class KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error;
@class KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error;
@class KEYAPISMULTIAPPV1NotificationTemplate;
@class KEYAPISMULTIAPPV1NotificationTemplateFilter;
@class KEYAPISMULTIAPPV1NotificationTemplatePaging;
@class KEYAPISMULTIAPPV1NotificationTemplatePartner;
@class KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError;
@class KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_PartnerIsDeleted;
@class KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_TemplateIsDeleted;
@class KEYAPISMULTIAPPV1NotificationTemplate_SavingError;
@class KEYAPISMULTIAPPV1NotificationTemplate_SavingError_Conflict;
@class KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error;
@class KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectDataTypeError;
@class KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectTagFormatError;
@class KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectVariableNameError;
@class KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error;
@class KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error;
@class KEYAPISMULTIAPPV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISMULTIAPPV1NotificationTemplatePaging_OrderByType

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

  /** Дата последнего изменения */
  KEYAPISMULTIAPPV1NotificationTemplatePaging_OrderByType_ChangedAt = 1,

  /** Дата создания */
  KEYAPISMULTIAPPV1NotificationTemplatePaging_OrderByType_CreatedAt = 2,

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

GPBEnumDescriptor *KEYAPISMULTIAPPV1NotificationTemplatePaging_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 KEYAPISMULTIAPPV1NotificationTemplatePaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISMULTIAPPV1NotificationTemplatePaging_DirectionType

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

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

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

GPBEnumDescriptor *KEYAPISMULTIAPPV1NotificationTemplatePaging_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 KEYAPISMULTIAPPV1NotificationTemplatePaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISMULTIAPPV1KeyapisMultiappNotificationTemplateV1Root

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

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplate

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_Id_p = 1,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_TemplateHeader = 2,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_TemplateText = 3,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_CreatedAt = 4,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_ChangedAt = 5,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_DeletedAt = 6,
  KEYAPISMULTIAPPV1NotificationTemplate_FieldNumber_Title = 7,
};

/**
 * Шаблон уведомления.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1NotificationTemplate : GPBMessage

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

/**
 * Заголовок шаблона.
 * Поддерживает mustache теги в формате: {{название переменной|тип данных}}.
 * Название переменной в теге может содержать латинские буквы (в верхнем или нижнем регистре), цифры и символ "_".
 * Тип данных может быть указан в верхнем или нижнем регистре, пробелы не допускаются, допустимые типы данных указаны в таблице.
 * Символы "{" и "}" являются служебными и могут использоваться только для формирования Mustache тегов.
 * # Диапазон: 3..128
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *templateHeader;

/**
 * Тело шаблона.
 * Поддерживает mustache теги в формате: {{название переменной|тип данных}}.
 * Название переменной в теге может содержать латинские буквы (в верхнем или нижнем регистре), цифры и символ "_".
 * Тип данных может быть указан в верхнем или нижнем регистре, пробелы не допускаются, допустимые типы данных указаны в таблице.
 * Символы "{" и "}" являются служебными и могут использоваться только для формирования Mustache тегов.
 * # Диапазон: 3..512
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *templateText;

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

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

/**
 * Системное наименование.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

@end

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplate_SavingError

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplate_SavingError_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplate_SavingError_FieldNumber_Conflict = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplate_SavingError_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1NotificationTemplate_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1NotificationTemplate_SavingError_Reason_OneOfCase_Conflict = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplate_SavingError_Conflict

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

@end

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplatePartner

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplatePartner_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplatePartner_FieldNumber_NotificationTemplateId = 1,
  KEYAPISMULTIAPPV1NotificationTemplatePartner_FieldNumber_PartnerId = 2,
};

/**
 * Связь шаблона уведомлений и партнера.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1NotificationTemplatePartner : GPBMessage

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

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

@end

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_FieldNumber_PartnerIsDeleted = 1,
  KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_FieldNumber_TemplateIsDeleted = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_Reason_OneOfCase_PartnerIsDeleted = 1,
  KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_Reason_OneOfCase_TemplateIsDeleted = 2,
};

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

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

/** Партнер удален */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_PartnerIsDeleted *partnerIsDeleted;

/** Шаблон удален */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_TemplateIsDeleted *templateIsDeleted;

@end

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

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_PartnerIsDeleted

/**
 * Партнер удален
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_PartnerIsDeleted : GPBMessage

@end

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_TemplateIsDeleted

/**
 * Шаблон удален
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError_TemplateIsDeleted : GPBMessage

@end

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1PostNotificationTemplateRequest_FieldNumber) {
  KEYAPISMULTIAPPV1PostNotificationTemplateRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос сохранения приложения
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1PostNotificationTemplateRequest : GPBMessage

/** Приложение */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplate *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1PostNotificationTemplateResponse_FieldNumber) {
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_FieldNumber_Data_p = 1,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Шаблон уведомления */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplate *data_p;

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber_Validation = 1,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber_Saving = 2,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber_IncorrectDataType = 3,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber_IncorrectVariableNameError = 4,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_FieldNumber_IncorrectTagFormatError = 5,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_Saving = 2,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_IncorrectDataType = 3,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_IncorrectVariableNameError = 4,
  KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_Reason_OneOfCase_IncorrectTagFormatError = 5,
};

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

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

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

/** Ошибка сохранения */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplate_SavingError *saving;

/** Некорректный тип данных для переменной в шаблоне */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectDataTypeError *incorrectDataType;

/** Некорректное наименование переменной в шаблоне */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectVariableNameError *incorrectVariableNameError;

/** Некорректный формат Mustache тегов */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectTagFormatError *incorrectTagFormatError;

@end

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

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectDataTypeError

/**
 * Некорректный тип данных для переменной в шаблоне.
 * Список допустимых типов данных:
 * - Number;
 * - Date;
 * - Phone;
 * - Time
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectDataTypeError : GPBMessage

@end

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectVariableNameError

/**
 * Некорректное наименование переменной в шаблоне
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectVariableNameError : GPBMessage

@end

#pragma mark - KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectTagFormatError

/**
 * Некорректный формат Mustache тегов
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1PostNotificationTemplateResponse_Error_IncorrectTagFormatError : GPBMessage

@end

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateRequest_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateResponse_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_FieldNumber_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Шаблон уведомления */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplate *data_p;

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateListRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_FieldNumber_Filter = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_Pagination_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateListRequest_Pagination_OneOfCase_Paging = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateListResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_FieldNumber_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Шаблон уведомления */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplate *data_p;

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateCountRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateCountRequest_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateCountRequest_FieldNumber_Filter = 1,
};

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

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

@end

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_FieldNumber_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Всего шаблонов уведомлений */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1GetNotificationTemplateCountResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachRequest_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachRequest_FieldNumber_NotificationTemplatePartner = 1,
};

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

/** Связь шаблона уведомления и партнера */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplatePartner *notificationTemplatePartner;
/** Test to see if @c notificationTemplatePartner has been set. */
@property(nonatomic, readwrite) BOOL hasNotificationTemplatePartner;

@end

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_FieldNumber_Validation = 1,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_FieldNumber_Saving = 2,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerAttachResponse_Error_Reason_OneOfCase_Saving = 2,
};

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

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

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

/** Ошибка сохранения */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplatePartner_SavingError *saving;

@end

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

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachRequest_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachRequest_FieldNumber_NotificationTemplatePartner = 1,
};

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

/** Связь шаблона уведомления и партнера */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1NotificationTemplatePartner *notificationTemplatePartner;
/** Test to see if @c notificationTemplatePartner has been set. */
@property(nonatomic, readwrite) BOOL hasNotificationTemplatePartner;

@end

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1PutNotificationTemplatePartnerDetachResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1DeleteNotificationTemplateRequest

typedef GPB_ENUM(KEYAPISMULTIAPPV1DeleteNotificationTemplateRequest_FieldNumber) {
  KEYAPISMULTIAPPV1DeleteNotificationTemplateRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse

typedef GPB_ENUM(KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_FieldNumber) {
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Type_OneOfCase) {
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Type_OneOfCase_Error = 1,
};

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

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

/** Ошибка при удалении */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error *error;

@end

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

#pragma mark - KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error

typedef GPB_ENUM(KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error_FieldNumber) {
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error_Reason_OneOfCase) {
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISMULTIAPPV1DeleteNotificationTemplateResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplateFilter

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplateFilter_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplateFilter_FieldNumber_Text = 1,
  KEYAPISMULTIAPPV1NotificationTemplateFilter_FieldNumber_PartnerIdsArray = 2,
  KEYAPISMULTIAPPV1NotificationTemplateFilter_FieldNumber_IsShowDeleted = 3,
};

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

/**
 * По тексту.
 * Если значение не передано то поиск по нему не производится.
 * # Диапазон: 3..64.
 * # Поиск производится по полям:
 * # - Заголовок шаблона;
 * # - Тело шаблона;
 * # - Системное наименование
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *text;
/** Test to see if @c text has been set. */
@property(nonatomic, readwrite) BOOL hasText;

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

/** Показывать удаленные */
@property(nonatomic, readwrite, strong, null_resettable) GPBBoolValue *isShowDeleted;
/** Test to see if @c isShowDeleted has been set. */
@property(nonatomic, readwrite) BOOL hasIsShowDeleted;

@end

#pragma mark - KEYAPISMULTIAPPV1NotificationTemplatePaging

typedef GPB_ENUM(KEYAPISMULTIAPPV1NotificationTemplatePaging_FieldNumber) {
  KEYAPISMULTIAPPV1NotificationTemplatePaging_FieldNumber_OrderByType = 1,
  KEYAPISMULTIAPPV1NotificationTemplatePaging_FieldNumber_DirectionType = 2,
  KEYAPISMULTIAPPV1NotificationTemplatePaging_FieldNumber_Limit = 3,
  KEYAPISMULTIAPPV1NotificationTemplatePaging_FieldNumber_Offset = 4,
};

/**
 * Пагинация шаблонов уведомлений
 **/
GPB_FINAL @interface KEYAPISMULTIAPPV1NotificationTemplatePaging : GPBMessage

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

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

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
