// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/kms/v1/keyapis_kms_jwt_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 KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData;
@class KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error;
@class KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_PrivateKeyNotFound;
@class KEYAPISKMSV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISKMSV1KeyapisKmsJwtV1Root

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

#pragma mark - KEYAPISKMSV1PostKmsJwtCreateJweRequest

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweRequest_FieldNumber) {
  KEYAPISKMSV1PostKmsJwtCreateJweRequest_FieldNumber_Data_p = 1,
  KEYAPISKMSV1PostKmsJwtCreateJweRequest_FieldNumber_PublicKey = 2,
};

/**
 * Запрос на создание nested JWT токена
 **/
GPB_FINAL @interface KEYAPISKMSV1PostKmsJwtCreateJweRequest : GPBMessage

/** Claims (данные включаемые в тело токена) */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Публичный ключ для шифрования */
@property(nonatomic, readwrite, copy, null_resettable) NSString *publicKey;

@end

#pragma mark - KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData_FieldNumber) {
  KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData_FieldNumber_Values = 1,
};

/**
 * Claims (данные включаемые в тело токена)
 **/
GPB_FINAL @interface KEYAPISKMSV1PostKmsJwtCreateJweRequest_PayloadData : GPBMessage

/**
 * Словарь значений.
 * Ключи и значения являются строками.
 * # Диапазон: 1..128
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableDictionary<NSString*, NSString*> *values;
/** The number of items in @c values without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger values_Count;

@end

#pragma mark - KEYAPISKMSV1PostKmsJwtCreateJweResponse

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweResponse_FieldNumber) {
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_FieldNumber_Data_p = 1,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweResponse_Type_OneOfCase) {
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Nested JWT токен */
@property(nonatomic, readwrite, copy, null_resettable) NSString *data_p;

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

@end

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

#pragma mark - KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_FieldNumber) {
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_FieldNumber_Validation = 1,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_FieldNumber_PrivateKeyNotFound = 2,
};

typedef GPB_ENUM(KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_Reason_OneOfCase) {
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_Reason_OneOfCase_PrivateKeyNotFound = 2,
};

/**
 * Ошибка
 **/
GPB_FINAL @interface KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error : GPBMessage

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

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

/** Отсутствует ключ для подписания */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_PrivateKeyNotFound *privateKeyNotFound;

@end

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

#pragma mark - KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_PrivateKeyNotFound

/**
 * Отсутствует ключ для подписания
 **/
GPB_FINAL @interface KEYAPISKMSV1PostKmsJwtCreateJweResponse_Error_PrivateKeyNotFound : GPBMessage

@end

#pragma mark - KEYAPISKMSV1ValidationError

typedef GPB_ENUM(KEYAPISKMSV1ValidationError_FieldNumber) {
  KEYAPISKMSV1ValidationError_FieldNumber_Path = 1,
  KEYAPISKMSV1ValidationError_FieldNumber_Message = 2,
};

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