// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/identity_b2b/v1/keyapis_identity_b2b_authorization_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 KEYAPISIDENTITYB2BV1Captcha;
@class KEYAPISIDENTITYB2BV1CaptchaAnswer;
@class KEYAPISIDENTITYB2BV1CaptchaAnswer_Error;
@class KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_WrongAnswer;
@class KEYAPISIDENTITYB2BV1Data2fa;
@class KEYAPISIDENTITYB2BV1KeyError;
@class KEYAPISIDENTITYB2BV1KeyError_UserCreation;
@class KEYAPISIDENTITYB2BV1OtpCode;
@class KEYAPISIDENTITYB2BV1OtpCode_Error;
@class KEYAPISIDENTITYB2BV1OtpCode_Error_AddressNotFound;
@class KEYAPISIDENTITYB2BV1OtpCode_Error_InvalidCode;
@class KEYAPISIDENTITYB2BV1OtpCode_Error_LifeTimeExpired;
@class KEYAPISIDENTITYB2BV1OtpCode_Error_NoAttempts;
@class KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error;
@class KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error;
@class KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error;
@class KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error;
@class KEYAPISIDENTITYB2BV1SsoError;
@class KEYAPISIDENTITYB2BV1SsoError_IntervalExceeded;
@class KEYAPISIDENTITYB2BV1SsoError_UserIsBlocked;
@class KEYAPISIDENTITYB2BV1SsoError_UserIsTemporaryBlocked;
@class KEYAPISIDENTITYB2BV1SsoError_UserNotFound;
@class KEYAPISIDENTITYB2BV1SsoError_WrongCredentials;
@class KEYAPISIDENTITYB2BV1UserToken;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISIDENTITYB2BV1KeyapisIdentityB2BAuthorizationV1Root

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

#pragma mark - KEYAPISIDENTITYB2BV1UserToken

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1UserToken_FieldNumber) {
  KEYAPISIDENTITYB2BV1UserToken_FieldNumber_AccessToken = 1,
  KEYAPISIDENTITYB2BV1UserToken_FieldNumber_ExpiredAt = 2,
};

/**
 * Информация о токене пользователя
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1UserToken : GPBMessage

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

/** Окончание действия токена */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *expiredAt;
/** Test to see if @c expiredAt has been set. */
@property(nonatomic, readwrite) BOOL hasExpiredAt;

@end

#pragma mark - KEYAPISIDENTITYB2BV1Captcha

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1Captcha_FieldNumber) {
  KEYAPISIDENTITYB2BV1Captcha_FieldNumber_Id_p = 1,
  KEYAPISIDENTITYB2BV1Captcha_FieldNumber_URL = 2,
};

/**
 * Капча
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1Captcha : GPBMessage

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

/** Ссылка на капчу */
@property(nonatomic, readwrite, copy, null_resettable) NSString *URL;

@end

#pragma mark - KEYAPISIDENTITYB2BV1CaptchaAnswer

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1CaptchaAnswer_FieldNumber) {
  KEYAPISIDENTITYB2BV1CaptchaAnswer_FieldNumber_Id_p = 1,
  KEYAPISIDENTITYB2BV1CaptchaAnswer_FieldNumber_Code = 2,
};

/**
 * Ответ на капчу
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1CaptchaAnswer : GPBMessage

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

/** Ответ на капчу */
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

@end

#pragma mark - KEYAPISIDENTITYB2BV1CaptchaAnswer_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_FieldNumber_Captcha = 1,
  KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_FieldNumber_WrongAnswer = 2,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_Reason_OneOfCase_WrongAnswer = 2,
};

/**
 * Ошибка ответа на капчу
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1CaptchaAnswer_Error : GPBMessage

/** Капча */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1Captcha *captcha;
/** Test to see if @c captcha has been set. */
@property(nonatomic, readwrite) BOOL hasCaptcha;

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

/** Некорректный ответ на капчу */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_WrongAnswer *wrongAnswer;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_WrongAnswer

/**
 * Некорректный ответ на капчу
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1CaptchaAnswer_Error_WrongAnswer : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1OtpCode_FieldNumber) {
  KEYAPISIDENTITYB2BV1OtpCode_FieldNumber_CodeId = 1,
  KEYAPISIDENTITYB2BV1OtpCode_FieldNumber_Timeout = 2,
};

/**
 * Информация о вводе ОТП-кода
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode : GPBMessage

/** Идентификатор ОТП-кода */
@property(nonatomic, readwrite, copy, null_resettable) NSString *codeId;

/** Время в секундах, оставшееся до возможности отправки следующего кода */
@property(nonatomic, readwrite) int32_t timeout;

@end

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1OtpCode_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1OtpCode_Error_FieldNumber_LifeTimeExpired = 1,
  KEYAPISIDENTITYB2BV1OtpCode_Error_FieldNumber_NoAttempts = 2,
  KEYAPISIDENTITYB2BV1OtpCode_Error_FieldNumber_AddressNotFound = 3,
  KEYAPISIDENTITYB2BV1OtpCode_Error_FieldNumber_InvalidCode = 4,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase_LifeTimeExpired = 1,
  KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase_NoAttempts = 2,
  KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase_AddressNotFound = 3,
  KEYAPISIDENTITYB2BV1OtpCode_Error_Reason_OneOfCase_InvalidCode = 4,
};

/**
 * Ошибка ответа на капчу
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode_Error : GPBMessage

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

/** Код истек */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error_LifeTimeExpired *lifeTimeExpired;

/** Попыток больше нет */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error_NoAttempts *noAttempts;

/**
 * Адрес для отправки кода не найден.
 * В текущей реализации, эту ошибку невозможно получить
 **/
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error_AddressNotFound *addressNotFound;

/** Неправильный ОТП-код */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error_InvalidCode *invalidCode;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode_Error_LifeTimeExpired

/**
 * Код истек
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode_Error_LifeTimeExpired : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode_Error_NoAttempts

/**
 * Попыток больше нет
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode_Error_NoAttempts : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode_Error_AddressNotFound

/**
 * Адрес для отправки кода не найден
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode_Error_AddressNotFound : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1OtpCode_Error_InvalidCode

/**
 * Неправильный ОТП-код
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1OtpCode_Error_InvalidCode : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1SsoError

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1SsoError_FieldNumber) {
  KEYAPISIDENTITYB2BV1SsoError_FieldNumber_UserIsTemporaryBlocked = 1,
  KEYAPISIDENTITYB2BV1SsoError_FieldNumber_UserNotFound = 2,
  KEYAPISIDENTITYB2BV1SsoError_FieldNumber_WrongCredentials = 3,
  KEYAPISIDENTITYB2BV1SsoError_FieldNumber_UserIsBlocked = 4,
  KEYAPISIDENTITYB2BV1SsoError_FieldNumber_IntervalExceeded = 5,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_UserIsTemporaryBlocked = 1,
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_UserNotFound = 2,
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_WrongCredentials = 3,
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_UserIsBlocked = 4,
  KEYAPISIDENTITYB2BV1SsoError_Reason_OneOfCase_IntervalExceeded = 5,
};

/**
 * Ошибки из ССО
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError : GPBMessage

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

/** Пользователь временно заблокирован */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError_UserIsTemporaryBlocked *userIsTemporaryBlocked;

/** Пользователь не найден */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError_UserNotFound *userNotFound;

/** Неверный пароль */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError_WrongCredentials *wrongCredentials;

/** Пользователь заблокирован */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError_UserIsBlocked *userIsBlocked;

/** Превышен интервал отправки кода подтверждения */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError_IntervalExceeded *intervalExceeded;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1SsoError_UserIsTemporaryBlocked

/**
 * Пользователь временно заблокирован
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError_UserIsTemporaryBlocked : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1SsoError_UserNotFound

/**
 * Пользователь не найден
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError_UserNotFound : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1SsoError_WrongCredentials

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1SsoError_WrongCredentials_FieldNumber) {
  KEYAPISIDENTITYB2BV1SsoError_WrongCredentials_FieldNumber_Captcha = 1,
};

/**
 * Неверный пароль
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError_WrongCredentials : GPBMessage

/** Капча */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1Captcha *captcha;
/** Test to see if @c captcha has been set. */
@property(nonatomic, readwrite) BOOL hasCaptcha;

@end

#pragma mark - KEYAPISIDENTITYB2BV1SsoError_UserIsBlocked

/**
 * Пользователь заблокирован
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError_UserIsBlocked : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1SsoError_IntervalExceeded

/**
 * Превышен интервал отправки кода подтверждения
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1SsoError_IntervalExceeded : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYB2BV1KeyError

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1KeyError_FieldNumber) {
  KEYAPISIDENTITYB2BV1KeyError_FieldNumber_UserCreation = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1KeyError_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1KeyError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1KeyError_Reason_OneOfCase_UserCreation = 1,
};

/**
 * Ошибки сервисов ключа
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1KeyError : GPBMessage

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

/** Ошибка создания пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1KeyError_UserCreation *userCreation;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1KeyError_UserCreation

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

@end

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_FieldNumber_CaptchaAnswer = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_FieldNumber_PhoneNumber = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_FieldNumber_Email = 3,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_OtpText_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_OtpText_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_OtpText_OneOfCase_PhoneNumber = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_OtpText_OneOfCase_Email = 3,
};

/**
 * Запрос на отправку ОТП-кода для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest : GPBMessage

/** Ответ на капчу */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1CaptchaAnswer *captchaAnswer;
/** Test to see if @c captchaAnswer has been set. */
@property(nonatomic, readwrite) BOOL hasCaptchaAnswer;

/** Вариант входного параметра */
@property(nonatomic, readonly) KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_OtpText_OneOfCase otpTextOneOfCase;

/** Номер телефона */
@property(nonatomic, readwrite, copy, null_resettable) NSString *phoneNumber;

/** Электронная почта */
@property(nonatomic, readwrite, copy, null_resettable) NSString *email;

@end

/**
 * Clears whatever value was set for the oneof 'otpText'.
 **/
void KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest_ClearOtpTextOneOfCase(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeRequest *message);

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_FieldNumber_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Type_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Type_OneOfCase_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Type_OneOfCase_Data_p = 2,
};

/**
 * Ответ на запрос на отправку ОТП-кода для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse : GPBMessage

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

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

/** Информация об ОТП-коде */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode *data_p;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_FieldNumber_CaptchaAnswer = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_FieldNumber_Sso = 2,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_Reason_OneOfCase_CaptchaAnswer = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error_Reason_OneOfCase_Sso = 2,
};

/**
 * Ошибка запроса на отправку ОТП-кода
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationSendCodeResponse_Error : GPBMessage

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

/** Ошибка ответа с капчей */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1CaptchaAnswer_Error *captchaAnswer;

/** Ошибка из ССО */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError *sso;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginRequest

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginRequest_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginRequest_FieldNumber_CodeId = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginRequest_FieldNumber_Code = 2,
};

/**
 * Запрос на авторизацию по ОТП-коду для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginRequest : GPBMessage

/** Идентификатор ОТП-кода */
@property(nonatomic, readwrite, copy, null_resettable) NSString *codeId;

/** Значение ОТП-кода */
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

@end

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_FieldNumber_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Type_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Type_OneOfCase_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Type_OneOfCase_Data_p = 2,
};

/**
 * Ответ на запрос об авторизации пользователя B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse : GPBMessage

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

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

/** Токен пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1UserToken *data_p;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_FieldNumber_OtpCode = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_FieldNumber_Sso = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_FieldNumber_Key = 3,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_Reason_OneOfCase_OtpCode = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_Reason_OneOfCase_Sso = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error_Reason_OneOfCase_Key = 3,
};

/**
 * Ошибка запроса авторизации пользователя
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginResponse_Error : GPBMessage

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

/** Ошибка отп-кода */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error *otpCode;

/** Ошибка из ССО */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError *sso;

/** Ошибка из сервисов ключа */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1KeyError *key;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber_Password = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber_CaptchaAnswer = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber_PhoneNumber = 3,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber_Email = 4,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_FieldNumber_Login = 5,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase_PhoneNumber = 3,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase_Email = 4,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase_Login = 5,
};

/**
 * Запрос на авторизацию по паролю для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest : GPBMessage

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Ответ на капчу */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1CaptchaAnswer *captchaAnswer;
/** Test to see if @c captchaAnswer has been set. */
@property(nonatomic, readwrite) BOOL hasCaptchaAnswer;

/** Вариант авторизации */
@property(nonatomic, readonly) KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordRequest_Type_OneOfCase typeOneOfCase;

/** Номер телефона */
@property(nonatomic, readwrite, copy, null_resettable) NSString *phoneNumber;

/** Электронная почта */
@property(nonatomic, readwrite, copy, null_resettable) NSString *email;

/** Логин */
@property(nonatomic, readwrite, copy, null_resettable) NSString *login;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_FieldNumber_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_FieldNumber_Data_p = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_FieldNumber_Data2Fa = 3,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Type_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Type_OneOfCase_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Type_OneOfCase_Data_p = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Type_OneOfCase_Data2Fa = 3,
};

/**
 * Ответ на запрос об авторизации по паролю пользователя B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse : GPBMessage

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

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

/** Токен пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1UserToken *data_p;

/** Данные для двухфакторной аутентификации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1Data2fa *data2Fa;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_FieldNumber_CaptchaAnswer = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_FieldNumber_Sso = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_FieldNumber_Key = 3,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_FieldNumber_OtpCode = 4,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase_CaptchaAnswer = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase_Sso = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase_Key = 3,
  KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error_Reason_OneOfCase_OtpCode = 4,
};

/**
 * Ошибка запроса авторизации по паролю пользователя
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationLoginByPasswordResponse_Error : GPBMessage

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

/** Ошибка капчи */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1CaptchaAnswer_Error *captchaAnswer;

/** Ошибка из ССО */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError *sso;

/** Ошибка из сервисов ключа */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1KeyError *key;

/** Ошибка отп-кода */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error *otpCode;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest_FieldNumber_SessionId = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest_FieldNumber_ActionId = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest_FieldNumber_CodeId = 3,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest_FieldNumber_Code = 4,
};

/**
 * Запрос проверки кода двухфакторной авторизации и активация сессии для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeRequest : GPBMessage

/** Идентификатор сессии двухфакторной аутентификации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *sessionId;

/** Идентификатор процесса двухфакторной аутентификации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *actionId;

/** Идентификатор кода двухфакторной авторизации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *codeId;

/** Код, введенный пользователем */
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

@end

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_FieldNumber_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_FieldNumber_Data_p = 2,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Type_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Type_OneOfCase_Error = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Type_OneOfCase_Data_p = 2,
};

/**
 * Ответ на запрос проверки кода двухфакторной авторизации и активация сессии для B2B
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse : GPBMessage

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

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

/** Токен пользователя */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1UserToken *data_p;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_FieldNumber) {
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_FieldNumber_Sso = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_FieldNumber_Key = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_FieldNumber_OtpCode = 3,
};

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_Reason_OneOfCase_Sso = 1,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_Reason_OneOfCase_Key = 2,
  KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error_Reason_OneOfCase_OtpCode = 3,
};

/**
 * Ошибка запроса авторизации по паролю пользователя
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1PostAuthorizationCheckCodeResponse_Error : GPBMessage

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

/** Ошибка из ССО */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1SsoError *sso;

/** Ошибка из сервисов ключа */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1KeyError *key;

/** Ошибка кода подтверждения */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYB2BV1OtpCode_Error *otpCode;

@end

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

#pragma mark - KEYAPISIDENTITYB2BV1Data2fa

typedef GPB_ENUM(KEYAPISIDENTITYB2BV1Data2fa_FieldNumber) {
  KEYAPISIDENTITYB2BV1Data2fa_FieldNumber_SessionId = 1,
  KEYAPISIDENTITYB2BV1Data2fa_FieldNumber_ActionId = 2,
  KEYAPISIDENTITYB2BV1Data2fa_FieldNumber_CodeId = 3,
  KEYAPISIDENTITYB2BV1Data2fa_FieldNumber_Timeout = 4,
};

/**
 * Данные для двухфакторной аутентификации
 **/
GPB_FINAL @interface KEYAPISIDENTITYB2BV1Data2fa : GPBMessage

/** Идентификатор сессии двухфакторной аутентификации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *sessionId;

/** Идентификатор процесса двухфакторной аутентификации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *actionId;

/** Идентификатор кода двухфакторной авторизации */
@property(nonatomic, readwrite, copy, null_resettable) NSString *codeId;

/** Время в секундах, оставшееся до возможности отправки следующего кода */
@property(nonatomic, readwrite) int32_t timeout;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
