// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/identity/v1/keyapis_identity_oauth2_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 KEYAPISIDENTITYV1AuthServiceError;
@class KEYAPISIDENTITYV1AuthServiceError_AuthError;
@class KEYAPISIDENTITYV1CaptchaAnswer;
@class KEYAPISIDENTITYV1CaptchaAnswer_Error;
@class KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error;
@class KEYAPISIDENTITYV1KeyError;
@class KEYAPISIDENTITYV1OtpCode_Error;
@class KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error;
@class KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error;
@class KEYAPISIDENTITYV1SsoError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISIDENTITYV1KeyapisIdentityOauth2V1Root

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

#pragma mark - KEYAPISIDENTITYV1AuthServiceError

typedef GPB_ENUM(KEYAPISIDENTITYV1AuthServiceError_FieldNumber) {
  KEYAPISIDENTITYV1AuthServiceError_FieldNumber_Auth = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1AuthServiceError_Reason_OneOfCase) {
  KEYAPISIDENTITYV1AuthServiceError_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1AuthServiceError_Reason_OneOfCase_Auth = 1,
};

/**
 * Ошибки авторизационного сервиса
 **/
GPB_FINAL @interface KEYAPISIDENTITYV1AuthServiceError : GPBMessage

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

/** Ошибки авторизационного сервиса */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYV1AuthServiceError_AuthError *auth;

@end

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

#pragma mark - KEYAPISIDENTITYV1AuthServiceError_AuthError

/**
 * Ошибки авторизационного сервиса
 **/
GPB_FINAL @interface KEYAPISIDENTITYV1AuthServiceError_AuthError : GPBMessage

@end

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByCodeRequest

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByCodeRequest_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByCodeRequest_FieldNumber_CodeId = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeRequest_FieldNumber_Code = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeRequest_FieldNumber_LoginChallenge = 3,
};

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

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

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

/** Идентификатор текущей попытки логина пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *loginChallenge;

@end

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Type_OneOfCase) {
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_FieldNumber_OtpCode = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_FieldNumber_Sso = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_FieldNumber_Key = 3,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_FieldNumber_AuthService = 4,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase_OtpCode = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase_Sso = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase_Key = 3,
  KEYAPISIDENTITYV1PostOauth2LoginByCodeResponse_Error_Reason_OneOfCase_AuthService = 4,
};

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

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

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

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

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

/** Ошибки авторизационного сервиса */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYV1AuthServiceError *authService;

@end

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

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_PhoneNumber = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_Email = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_Login = 3,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_Password = 4,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_CaptchaAnswer = 5,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_FieldNumber_LoginChallenge = 6,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_Type_OneOfCase) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_Type_OneOfCase_PhoneNumber = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_Type_OneOfCase_Email = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_Type_OneOfCase_Login = 3,
};

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

/** Вариант авторизации */
@property(nonatomic, readonly) KEYAPISIDENTITYV1PostOauth2LoginByPasswordRequest_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;

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

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

/** Идентификатор текущей попытки логина пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *loginChallenge;

@end

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

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Type_OneOfCase) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Type_OneOfCase_Error = 1,
};

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

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

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

@end

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

#pragma mark - KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_FieldNumber) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_FieldNumber_CaptchaAnswer = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_FieldNumber_Sso = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_FieldNumber_Key = 3,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_FieldNumber_AuthService = 4,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase_CaptchaAnswer = 1,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase_Sso = 2,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase_Key = 3,
  KEYAPISIDENTITYV1PostOauth2LoginByPasswordResponse_Error_Reason_OneOfCase_AuthService = 4,
};

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

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

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

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

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

/** Ошибки авторизационного сервиса */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYV1AuthServiceError *authService;

@end

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

#pragma mark - KEYAPISIDENTITYV1GetOauth2ConsentRequest

typedef GPB_ENUM(KEYAPISIDENTITYV1GetOauth2ConsentRequest_FieldNumber) {
  KEYAPISIDENTITYV1GetOauth2ConsentRequest_FieldNumber_ConsentChallenge = 1,
};

/**
 * Запрос соглашения пользователя по процедуре OAuth2
 **/
GPB_FINAL @interface KEYAPISIDENTITYV1GetOauth2ConsentRequest : GPBMessage

/** Идентификатор текущей попытки запроса соглашения пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *consentChallenge;

@end

#pragma mark - KEYAPISIDENTITYV1GetOauth2ConsentResponse

typedef GPB_ENUM(KEYAPISIDENTITYV1GetOauth2ConsentResponse_FieldNumber) {
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_FieldNumber_Error = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1GetOauth2ConsentResponse_Type_OneOfCase) {
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_Type_OneOfCase_Error = 1,
};

/**
 * Ответ на запрос соглашения пользователя по процедуре OAuth2
 **/
GPB_FINAL @interface KEYAPISIDENTITYV1GetOauth2ConsentResponse : GPBMessage

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

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

@end

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

#pragma mark - KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error

typedef GPB_ENUM(KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error_FieldNumber) {
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error_FieldNumber_AuthService = 1,
};

typedef GPB_ENUM(KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error_Reason_OneOfCase) {
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISIDENTITYV1GetOauth2ConsentResponse_Error_Reason_OneOfCase_AuthService = 1,
};

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

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

/** Ошибки авторизационного сервиса */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISIDENTITYV1AuthServiceError *authService;

@end

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
