// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/preset/v1/keyapis_preset_preset_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 KEYAPISPRESETV1DeletePresetResponse_Error;
@class KEYAPISPRESETV1DeletePresetResponse_Error_NotAllowedForDefault;
@class KEYAPISPRESETV1GetPresetCountResponse_Error;
@class KEYAPISPRESETV1GetPresetListResponse_Error;
@class KEYAPISPRESETV1PostPresetResponse_Error;
@class KEYAPISPRESETV1Preset;
@class KEYAPISPRESETV1PresetFilter;
@class KEYAPISPRESETV1PresetPaging;
@class KEYAPISPRESETV1Preset_Dtmf;
@class KEYAPISPRESETV1Preset_FaceRecognition;
@class KEYAPISPRESETV1Preset_Ntp;
@class KEYAPISPRESETV1Preset_Room;
@class KEYAPISPRESETV1Preset_SavingError;
@class KEYAPISPRESETV1Preset_SavingError_Conflict;
@class KEYAPISPRESETV1Preset_SavingError_NotAllowedForDefault;
@class KEYAPISPRESETV1Preset_Sip;
@class KEYAPISPRESETV1Preset_Syslog;
@class KEYAPISPRESETV1Preset_VideoConfig;
@class KEYAPISPRESETV1Preset_VideoConfig_RtspUser;
@class KEYAPISPRESETV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISPRESETV1Preset_StatusType

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

  /** Активный */
  KEYAPISPRESETV1Preset_StatusType_Active = 1,

  /** Архивный */
  KEYAPISPRESETV1Preset_StatusType_Archive = 2,
};

GPBEnumDescriptor *KEYAPISPRESETV1Preset_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 KEYAPISPRESETV1Preset_StatusType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISPRESETV1Preset_Syslog_ProtocolType

/**
 * Тип протокола.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISPRESETV1Preset_Syslog_ProtocolType) {
  /**
   * 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.
   **/
  KEYAPISPRESETV1Preset_Syslog_ProtocolType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISPRESETV1Preset_Syslog_ProtocolType_ProtocolTypeUnknown = 0,

  /** Протокол UDP */
  KEYAPISPRESETV1Preset_Syslog_ProtocolType_Udp = 1,

  /** Протокол TCP */
  KEYAPISPRESETV1Preset_Syslog_ProtocolType_Tcp = 2,
};

GPBEnumDescriptor *KEYAPISPRESETV1Preset_Syslog_ProtocolType_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 KEYAPISPRESETV1Preset_Syslog_ProtocolType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISPRESETV1Preset_VideoConfig_QualityType

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

  /** Высокое качество */
  KEYAPISPRESETV1Preset_VideoConfig_QualityType_High = 1,

  /** Среднее качество */
  KEYAPISPRESETV1Preset_VideoConfig_QualityType_Medium = 2,
};

GPBEnumDescriptor *KEYAPISPRESETV1Preset_VideoConfig_QualityType_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 KEYAPISPRESETV1Preset_VideoConfig_QualityType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType

/** Тип конфигурации */
typedef GPB_ENUM(KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType) {
  /**
   * 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.
   **/
  KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType_ConfigurationTypeUnknown = 0,

  /** По умолчанию */
  KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType_Default = 1,
};

GPBEnumDescriptor *KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType_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 KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISPRESETV1PresetPaging_OrderByType

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

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

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

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

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

GPBEnumDescriptor *KEYAPISPRESETV1PresetPaging_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 KEYAPISPRESETV1PresetPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISPRESETV1PresetPaging_DirectionType

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

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

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

GPBEnumDescriptor *KEYAPISPRESETV1PresetPaging_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 KEYAPISPRESETV1PresetPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISPRESETV1KeyapisPresetPresetV1Root

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

#pragma mark - KEYAPISPRESETV1Preset

typedef GPB_ENUM(KEYAPISPRESETV1Preset_FieldNumber) {
  KEYAPISPRESETV1Preset_FieldNumber_Id_p = 1,
  KEYAPISPRESETV1Preset_FieldNumber_Title = 2,
  KEYAPISPRESETV1Preset_FieldNumber_MrfIdsArray = 3,
  KEYAPISPRESETV1Preset_FieldNumber_RfIdsArray = 4,
  KEYAPISPRESETV1Preset_FieldNumber_Description_p = 5,
  KEYAPISPRESETV1Preset_FieldNumber_CreatedAt = 6,
  KEYAPISPRESETV1Preset_FieldNumber_ChangedAt = 7,
  KEYAPISPRESETV1Preset_FieldNumber_StatusType = 8,
  KEYAPISPRESETV1Preset_FieldNumber_Sip = 9,
  KEYAPISPRESETV1Preset_FieldNumber_Ntp = 10,
  KEYAPISPRESETV1Preset_FieldNumber_Syslog = 11,
  KEYAPISPRESETV1Preset_FieldNumber_RoomsArray = 12,
  KEYAPISPRESETV1Preset_FieldNumber_VideoConfig = 13,
  KEYAPISPRESETV1Preset_FieldNumber_DtmfArray = 14,
  KEYAPISPRESETV1Preset_FieldNumber_FaceRecognition = 15,
};

/**
 * Пресет.
 * Пресет с id=1 является дефолтным пресетом.
 * # Описание модели
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset : GPBMessage

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

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

/**
 * Идентификатор МРФ.
 * # Диапазон: 0..10
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *mrfIdsArray;
/** The number of items in @c mrfIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger mrfIdsArray_Count;

/**
 * Идентификатор РФ.
 * # Диапазон: 0..100
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *rfIdsArray;
/** The number of items in @c rfIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfIdsArray_Count;

/**
 * Описание.
 * # Диапазон: 3..1024
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *description_p;
/** Test to see if @c description_p has been set. */
@property(nonatomic, readwrite) BOOL hasDescription_p;

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

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

/** Параметр SIP */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_Sip *sip;
/** Test to see if @c sip has been set. */
@property(nonatomic, readwrite) BOOL hasSip;

/** Параметр NTP */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_Ntp *ntp;
/** Test to see if @c ntp has been set. */
@property(nonatomic, readwrite) BOOL hasNtp;

/** Параметр Syslog */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_Syslog *syslog;
/** Test to see if @c syslog has been set. */
@property(nonatomic, readwrite) BOOL hasSyslog;

/**
 * Помещения.
 * # Диапазон: 0..10000
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISPRESETV1Preset_Room*> *roomsArray;
/** The number of items in @c roomsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger roomsArray_Count;

/** Параметры конфигурации видео */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_VideoConfig *videoConfig;
/** Test to see if @c videoConfig has been set. */
@property(nonatomic, readwrite) BOOL hasVideoConfig;

/**
 * Параметр DTMF.
 * # Диапазон: 0..64
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISPRESETV1Preset_Dtmf*> *dtmfArray;
/** The number of items in @c dtmfArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger dtmfArray_Count;

/** Распознование лиц */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_FaceRecognition *faceRecognition;
/** Test to see if @c faceRecognition has been set. */
@property(nonatomic, readwrite) BOOL hasFaceRecognition;

@end

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

#pragma mark - KEYAPISPRESETV1Preset_Sip

typedef GPB_ENUM(KEYAPISPRESETV1Preset_Sip_FieldNumber) {
  KEYAPISPRESETV1Preset_Sip_FieldNumber_Host = 1,
  KEYAPISPRESETV1Preset_Sip_FieldNumber_Port = 2,
  KEYAPISPRESETV1Preset_Sip_FieldNumber_RegHost = 3,
  KEYAPISPRESETV1Preset_Sip_FieldNumber_RegPort = 4,
  KEYAPISPRESETV1Preset_Sip_FieldNumber_ProxyHost = 5,
  KEYAPISPRESETV1Preset_Sip_FieldNumber_ProxyPort = 6,
};

/**
 * Параметр SIP
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_Sip : GPBMessage

/**
 * Хост.
 * # Диапазон: 5..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/**
 * Порт.
 * # Диапазон: 1..65536
 **/
@property(nonatomic, readwrite) int32_t port;

/**
 * Хост reg.
 * # Диапазон: 5..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *regHost;

/**
 * Порт reg.
 * # Диапазон: 1..65536
 **/
@property(nonatomic, readwrite) int32_t regPort;

/**
 * Хост proxy.
 * # Диапазон: 5..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *proxyHost;

/**
 * Порт proxy.
 * # Диапазон: 1..65536
 **/
@property(nonatomic, readwrite) int32_t proxyPort;

@end

#pragma mark - KEYAPISPRESETV1Preset_Ntp

typedef GPB_ENUM(KEYAPISPRESETV1Preset_Ntp_FieldNumber) {
  KEYAPISPRESETV1Preset_Ntp_FieldNumber_Host = 1,
  KEYAPISPRESETV1Preset_Ntp_FieldNumber_Port = 2,
};

/**
 * Параметр NTP
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_Ntp : GPBMessage

/**
 * Хост.
 * # Диапазон: 5..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/**
 * Порт.
 * # Диапазон: 1..65536
 **/
@property(nonatomic, readwrite) int32_t port;

@end

#pragma mark - KEYAPISPRESETV1Preset_Syslog

typedef GPB_ENUM(KEYAPISPRESETV1Preset_Syslog_FieldNumber) {
  KEYAPISPRESETV1Preset_Syslog_FieldNumber_Host = 1,
  KEYAPISPRESETV1Preset_Syslog_FieldNumber_Port = 2,
  KEYAPISPRESETV1Preset_Syslog_FieldNumber_ProtocolType = 3,
};

/**
 * Параметр Syslog
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_Syslog : GPBMessage

/**
 * Хост.
 * # Диапазон: 5..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/**
 * Порт.
 * # Диапазон: 1..65536
 **/
@property(nonatomic, readwrite) int32_t port;

/** Протокол */
@property(nonatomic, readwrite) KEYAPISPRESETV1Preset_Syslog_ProtocolType protocolType;

@end

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

#pragma mark - KEYAPISPRESETV1Preset_Room

typedef GPB_ENUM(KEYAPISPRESETV1Preset_Room_FieldNumber) {
  KEYAPISPRESETV1Preset_Room_FieldNumber_Phone = 1,
  KEYAPISPRESETV1Preset_Room_FieldNumber_Num = 2,
};

/**
 * Помещение
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_Room : GPBMessage

/**
 * Номер телефона.
 * # Диапазон: 5..14
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *phone;

/**
 * Номер помещения.
 * # Диапазон: 1..10000
 **/
@property(nonatomic, readwrite) int32_t num;

@end

#pragma mark - KEYAPISPRESETV1Preset_VideoConfig

typedef GPB_ENUM(KEYAPISPRESETV1Preset_VideoConfig_FieldNumber) {
  KEYAPISPRESETV1Preset_VideoConfig_FieldNumber_QualityType = 1,
  KEYAPISPRESETV1Preset_VideoConfig_FieldNumber_RtspUser = 2,
};

/**
 * Параметры конфигурации видео
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_VideoConfig : GPBMessage

/** Тип пресета */
@property(nonatomic, readwrite) KEYAPISPRESETV1Preset_VideoConfig_QualityType qualityType;

/** Пользователь */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_VideoConfig_RtspUser *rtspUser;
/** Test to see if @c rtspUser has been set. */
@property(nonatomic, readwrite) BOOL hasRtspUser;

@end

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

#pragma mark - KEYAPISPRESETV1Preset_VideoConfig_RtspUser

typedef GPB_ENUM(KEYAPISPRESETV1Preset_VideoConfig_RtspUser_FieldNumber) {
  KEYAPISPRESETV1Preset_VideoConfig_RtspUser_FieldNumber_Username = 1,
  KEYAPISPRESETV1Preset_VideoConfig_RtspUser_FieldNumber_Password = 2,
};

/**
 * Пользователь
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_VideoConfig_RtspUser : GPBMessage

/**
 * Имя пользователя.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/**
 * Пароль.
 * # Диапазон: 3..256
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

@end

#pragma mark - KEYAPISPRESETV1Preset_Dtmf

typedef GPB_ENUM(KEYAPISPRESETV1Preset_Dtmf_FieldNumber) {
  KEYAPISPRESETV1Preset_Dtmf_FieldNumber_Code = 1,
  KEYAPISPRESETV1Preset_Dtmf_FieldNumber_RelayIndex = 2,
};

/**
 * Параметр DTMF
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_Dtmf : GPBMessage

/**
 * Код.
 * # Диапазон: 1..1
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

/**
 * Индекс реле.
 * # Диапазон: 0..64
 **/
@property(nonatomic, readwrite) int32_t relayIndex;

@end

#pragma mark - KEYAPISPRESETV1Preset_FaceRecognition

typedef GPB_ENUM(KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber) {
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_Host = 1,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_AltHost = 2,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_Endpoint = 3,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_AuthToken = 4,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_ConfigurationType = 5,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_OriginId = 6,
  KEYAPISPRESETV1Preset_FaceRecognition_FieldNumber_GroupIdsArray = 7,
};

/**
 * Распознование лиц
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_FaceRecognition : GPBMessage

/** Адрес */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Альтернативный адрес */
@property(nonatomic, readwrite, copy, null_resettable) NSString *altHost;

/** Путь запроса к серверу */
@property(nonatomic, readwrite, copy, null_resettable) NSString *endpoint;

/** Токен */
@property(nonatomic, readwrite, copy, null_resettable) NSString *authToken;

/** Тип конфигурации */
@property(nonatomic, readwrite) KEYAPISPRESETV1Preset_FaceRecognition_ConfigurationType configurationType;

/** Идентификатор источника в identix */
@property(nonatomic, readwrite, copy, null_resettable) NSString *originId;

/** Идентификаторы групп профилей в identix */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *groupIdsArray;
/** The number of items in @c groupIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger groupIdsArray_Count;

@end

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

#pragma mark - KEYAPISPRESETV1Preset_SavingError

typedef GPB_ENUM(KEYAPISPRESETV1Preset_SavingError_FieldNumber) {
  KEYAPISPRESETV1Preset_SavingError_FieldNumber_Conflict = 1,
  KEYAPISPRESETV1Preset_SavingError_FieldNumber_NotAllowedForDefault = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1Preset_SavingError_Reason_OneOfCase) {
  KEYAPISPRESETV1Preset_SavingError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1Preset_SavingError_Reason_OneOfCase_Conflict = 1,
  KEYAPISPRESETV1Preset_SavingError_Reason_OneOfCase_NotAllowedForDefault = 2,
};

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

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

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

/** Запрещено для дефолтного пресета */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset_SavingError_NotAllowedForDefault *notAllowedForDefault;

@end

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

#pragma mark - KEYAPISPRESETV1Preset_SavingError_Conflict

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

@end

#pragma mark - KEYAPISPRESETV1Preset_SavingError_NotAllowedForDefault

/**
 * Недоступно для дефолтного пресета.
 * Причины:
 * - Смена статуса на Архивный
 **/
GPB_FINAL @interface KEYAPISPRESETV1Preset_SavingError_NotAllowedForDefault : GPBMessage

@end

#pragma mark - KEYAPISPRESETV1PostPresetRequest

typedef GPB_ENUM(KEYAPISPRESETV1PostPresetRequest_FieldNumber) {
  KEYAPISPRESETV1PostPresetRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос на создание/изменение пресета
 **/
GPB_FINAL @interface KEYAPISPRESETV1PostPresetRequest : GPBMessage

/** Пресет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - KEYAPISPRESETV1PostPresetResponse

typedef GPB_ENUM(KEYAPISPRESETV1PostPresetResponse_FieldNumber) {
  KEYAPISPRESETV1PostPresetResponse_FieldNumber_Data_p = 1,
  KEYAPISPRESETV1PostPresetResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1PostPresetResponse_Type_OneOfCase) {
  KEYAPISPRESETV1PostPresetResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1PostPresetResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISPRESETV1PostPresetResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос на создание/изменение пресета
 **/
GPB_FINAL @interface KEYAPISPRESETV1PostPresetResponse : GPBMessage

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

/** Пресет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset *data_p;

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

@end

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

#pragma mark - KEYAPISPRESETV1PostPresetResponse_Error

typedef GPB_ENUM(KEYAPISPRESETV1PostPresetResponse_Error_FieldNumber) {
  KEYAPISPRESETV1PostPresetResponse_Error_FieldNumber_Validation = 1,
  KEYAPISPRESETV1PostPresetResponse_Error_FieldNumber_Saving = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1PostPresetResponse_Error_Reason_OneOfCase) {
  KEYAPISPRESETV1PostPresetResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1PostPresetResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISPRESETV1PostPresetResponse_Error_Reason_OneOfCase_Saving = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetListRequest

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListRequest_FieldNumber) {
  KEYAPISPRESETV1GetPresetListRequest_FieldNumber_Filter = 1,
  KEYAPISPRESETV1GetPresetListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListRequest_Pagination_OneOfCase) {
  KEYAPISPRESETV1GetPresetListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetListRequest_Pagination_OneOfCase_Paging = 2,
};

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

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

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

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

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetRequest

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetRequest_FieldNumber) {
  KEYAPISPRESETV1GetPresetRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISPRESETV1GetPresetResponse

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetResponse_FieldNumber) {
  KEYAPISPRESETV1GetPresetResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetResponse_Type_OneOfCase) {
  KEYAPISPRESETV1GetPresetResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetResponse_Type_OneOfCase_Data_p = 1,
};

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

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

/** Пресет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset *data_p;

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetDefaultRequest

/**
 * Запрос получения дефолтного пресета
 **/
GPB_FINAL @interface KEYAPISPRESETV1GetPresetDefaultRequest : GPBMessage

@end

#pragma mark - KEYAPISPRESETV1GetPresetDefaultResponse

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetDefaultResponse_FieldNumber) {
  KEYAPISPRESETV1GetPresetDefaultResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetDefaultResponse_Type_OneOfCase) {
  KEYAPISPRESETV1GetPresetDefaultResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetDefaultResponse_Type_OneOfCase_Data_p = 1,
};

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

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

/** Пресет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset *data_p;

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetListResponse

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListResponse_FieldNumber) {
  KEYAPISPRESETV1GetPresetListResponse_FieldNumber_Data_p = 1,
  KEYAPISPRESETV1GetPresetListResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListResponse_Type_OneOfCase) {
  KEYAPISPRESETV1GetPresetListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetListResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISPRESETV1GetPresetListResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Пресет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1Preset *data_p;

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

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetListResponse_Error

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListResponse_Error_FieldNumber) {
  KEYAPISPRESETV1GetPresetListResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetListResponse_Error_Reason_OneOfCase) {
  KEYAPISPRESETV1GetPresetListResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetListResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetCountRequest

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetCountRequest_FieldNumber) {
  KEYAPISPRESETV1GetPresetCountRequest_FieldNumber_Filter = 1,
};

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

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

@end

#pragma mark - KEYAPISPRESETV1GetPresetCountResponse

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetCountResponse_FieldNumber) {
  KEYAPISPRESETV1GetPresetCountResponse_FieldNumber_Data_p = 1,
  KEYAPISPRESETV1GetPresetCountResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetCountResponse_Type_OneOfCase) {
  KEYAPISPRESETV1GetPresetCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetCountResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISPRESETV1GetPresetCountResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Всего пресетов */
@property(nonatomic, readwrite) int32_t data_p;

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

@end

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

#pragma mark - KEYAPISPRESETV1GetPresetCountResponse_Error

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetCountResponse_Error_FieldNumber) {
  KEYAPISPRESETV1GetPresetCountResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1GetPresetCountResponse_Error_Reason_OneOfCase) {
  KEYAPISPRESETV1GetPresetCountResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1GetPresetCountResponse_Error_Reason_OneOfCase_Validation = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISPRESETV1DeletePresetRequest

typedef GPB_ENUM(KEYAPISPRESETV1DeletePresetRequest_FieldNumber) {
  KEYAPISPRESETV1DeletePresetRequest_FieldNumber_Id_p = 1,
};

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

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

@end

#pragma mark - KEYAPISPRESETV1DeletePresetResponse

typedef GPB_ENUM(KEYAPISPRESETV1DeletePresetResponse_FieldNumber) {
  KEYAPISPRESETV1DeletePresetResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1DeletePresetResponse_Type_OneOfCase) {
  KEYAPISPRESETV1DeletePresetResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1DeletePresetResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISPRESETV1DeletePresetResponse_Error

typedef GPB_ENUM(KEYAPISPRESETV1DeletePresetResponse_Error_FieldNumber) {
  KEYAPISPRESETV1DeletePresetResponse_Error_FieldNumber_NotAllowedForDefault = 1,
};

typedef GPB_ENUM(KEYAPISPRESETV1DeletePresetResponse_Error_Reason_OneOfCase) {
  KEYAPISPRESETV1DeletePresetResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISPRESETV1DeletePresetResponse_Error_Reason_OneOfCase_NotAllowedForDefault = 1,
};

/**
 * Ошибка при удалении
 **/
GPB_FINAL @interface KEYAPISPRESETV1DeletePresetResponse_Error : GPBMessage

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

/** Запрещено для дефолтного пресета */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISPRESETV1DeletePresetResponse_Error_NotAllowedForDefault *notAllowedForDefault;

@end

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

#pragma mark - KEYAPISPRESETV1DeletePresetResponse_Error_NotAllowedForDefault

/**
 * Недоступно для дефолтного пресета
 **/
GPB_FINAL @interface KEYAPISPRESETV1DeletePresetResponse_Error_NotAllowedForDefault : GPBMessage

@end

#pragma mark - KEYAPISPRESETV1PresetFilter

typedef GPB_ENUM(KEYAPISPRESETV1PresetFilter_FieldNumber) {
  KEYAPISPRESETV1PresetFilter_FieldNumber_MrfIdsArray = 1,
  KEYAPISPRESETV1PresetFilter_FieldNumber_RfIdsArray = 2,
  KEYAPISPRESETV1PresetFilter_FieldNumber_Text = 3,
  KEYAPISPRESETV1PresetFilter_FieldNumber_Title = 4,
  KEYAPISPRESETV1PresetFilter_FieldNumber_StatusTypesArray = 5,
};

/**
 * Фильтр по пресетам
 **/
GPB_FINAL @interface KEYAPISPRESETV1PresetFilter : GPBMessage

/** По идентификаторам МРФ */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *mrfIdsArray;
/** The number of items in @c mrfIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger mrfIdsArray_Count;

/** По идентификаторам РФ */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *rfIdsArray;
/** The number of items in @c rfIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfIdsArray_Count;

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

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

/** По статусам */
// |statusTypesArray| contains |KEYAPISPRESETV1Preset_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 - KEYAPISPRESETV1PresetPaging

typedef GPB_ENUM(KEYAPISPRESETV1PresetPaging_FieldNumber) {
  KEYAPISPRESETV1PresetPaging_FieldNumber_OrderByType = 1,
  KEYAPISPRESETV1PresetPaging_FieldNumber_DirectionType = 2,
  KEYAPISPRESETV1PresetPaging_FieldNumber_Limit = 3,
  KEYAPISPRESETV1PresetPaging_FieldNumber_Offset = 4,
};

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

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

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

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

#pragma mark - KEYAPISPRESETV1ValidationError

typedef GPB_ENUM(KEYAPISPRESETV1ValidationError_FieldNumber) {
  KEYAPISPRESETV1ValidationError_FieldNumber_Path = 1,
  KEYAPISPRESETV1ValidationError_FieldNumber_Message = 2,
};

/**
 * Ошибки валидации.
 * Эти проверки выполняются до обращения в базу данных
 **/
GPB_FINAL @interface KEYAPISPRESETV1ValidationError : 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
