#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef HYPERSNAPSDK_SWIFT_H
#define HYPERSNAPSDK_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"

#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif

#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif

#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
#  define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
#  define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
#endif

#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
#  define SWIFT_CLASS_PROPERTY(...) 
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
#  define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
#  define SWIFT_RUNTIME_NAME(X) 
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
#  define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
#  define SWIFT_COMPILE_NAME(X) 
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
#  define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
#  define SWIFT_METHOD_FAMILY(X) 
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
#  define SWIFT_NOESCAPE __attribute__((noescape))
# else
#  define SWIFT_NOESCAPE 
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
#  define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
#  define SWIFT_RELEASES_ARGUMENT 
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
#  define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
#  define SWIFT_WARN_UNUSED_RESULT 
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
#  define SWIFT_NORETURN __attribute__((noreturn))
# else
#  define SWIFT_NORETURN 
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA 
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA 
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA 
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
#  define OBJC_DESIGNATED_INITIALIZER 
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
#  define SWIFT_ENUM_ATTR(_extensibility) 
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
#  define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
#  define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction 
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
#  define SWIFT_EXTERN extern "C"
# else
#  define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT 
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
#  define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL 
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import CoreFoundation;
@import CoreGraphics;
@import Foundation;
@import ObjectiveC;
@import Security;
@import UIKit;
#endif

#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"

#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="HyperSnapSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif

#if defined(__OBJC__)

@class NSCoder;

SWIFT_CLASS("_TtC12HyperSnapSDK17AdaptiveStackView")
@interface AdaptiveStackView : UIStackView
- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end




























SWIFT_CLASS("_TtC12HyperSnapSDK19GKYCSignatureHelper")
@interface GKYCSignatureHelper : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK16HVActiveLiveness")
@interface HVActiveLiveness : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK16HVAlertTextLabel")
@interface HVAlertTextLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawTextInRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class UITouch;
@class UIEvent;

/// Lottie comes prepacked with a two Animated Controls, <code>AnimatedSwitch</code> and
/// <code>AnimatedButton</code>. Both of these controls are built on top of <code>AnimatedControl</code>
/// <code>AnimatedControl</code> is a subclass of <code>UIControl</code> that provides an interactive
/// mechanism for controlling the visual state of an animation in response to
/// user actions.
/// The <code>AnimatedControl</code> will show and hide layers depending on the current
/// <code>UIControl.State</code> of the control.
/// Users of <code>AnimationControl</code> can set a Layer Name for each <code>UIControl.State</code>.
/// When the state is change the <code>AnimationControl</code> will change the visibility
/// of its layers.
/// NOTE: Do not initialize directly. This is intended to be subclassed.
SWIFT_CLASS("_TtC12HyperSnapSDK17HVAnimatedControl")
@interface HVAnimatedControl : UIControl
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, getter=isEnabled) BOOL enabled;
@property (nonatomic, getter=isSelected) BOOL selected;
@property (nonatomic, getter=isHighlighted) BOOL highlighted;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (BOOL)beginTrackingWithTouch:(UITouch * _Nonnull)touch withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
- (BOOL)continueTrackingWithTouch:(UITouch * _Nonnull)touch withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
- (void)endTrackingWithTouch:(UITouch * _Nullable)touch withEvent:(UIEvent * _Nullable)event;
- (void)cancelTrackingWithEvent:(UIEvent * _Nullable)event;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


/// An interactive button that plays an animation when pressed.
SWIFT_CLASS("_TtC12HyperSnapSDK16HVAnimatedButton")
@interface HVAnimatedButton : HVAnimatedControl
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (BOOL)beginTrackingWithTouch:(UITouch * _Nonnull)touch withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
- (void)endTrackingWithTouch:(UITouch * _Nullable)touch withEvent:(UIEvent * _Nullable)event;
@property (nonatomic) UIAccessibilityTraits accessibilityTraits;
@end



/// An interactive switch with an ‘On’ and ‘Off’ state. When the user taps on the
/// switch the state is toggled and the appropriate animation is played.
/// Both the ‘On’ and ‘Off’ have an animation play range associated with their state.
SWIFT_CLASS("_TtC12HyperSnapSDK16HVAnimatedSwitch")
@interface HVAnimatedSwitch : HVAnimatedControl
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)endTrackingWithTouch:(UITouch * _Nullable)touch withEvent:(UIEvent * _Nullable)event;
@property (nonatomic) UIAccessibilityTraits accessibilityTraits;
@end


/// A view that can be added to a keypath of an AnimationView
SWIFT_CLASS("_TtC12HyperSnapSDK18HVAnimationSubview")
@interface HVAnimationSubview : UIView
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

@class UIImage;

SWIFT_CLASS("_TtC12HyperSnapSDK21HVBackgroundImageView")
@interface HVBackgroundImageView : UIImageView
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithImage:(UIImage * _Nullable)image SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithImage:(UIImage * _Nullable)image highlightedImage:(UIImage * _Nullable)highlightedImage SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK12HVBaseConfig")
@interface HVBaseConfig : NSObject
- (void)setAllowedStatusCodes:(NSArray<NSNumber *> * _Nonnull)allowedStatusCodes;
- (void)setShowTrustLogos:(BOOL)shouldShow;
- (void)setShouldShowCloseAlert:(BOOL)show;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class NSString;

SWIFT_CLASS("_TtC12HyperSnapSDK14HVBaseResponse")
@interface HVBaseResponse : NSObject
@property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable apiResult;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable apiHeaders;
@property (nonatomic, readonly, copy) NSString * _Nullable action;
@property (nonatomic, readonly, copy) NSString * _Nullable imageUri;
@property (nonatomic, readonly, copy) NSString * _Nullable fullImageUri;
@property (nonatomic, readonly, copy) NSString * _Nullable statusCode;
@property (nonatomic, readonly, copy) NSString * _Nullable statusMessage;
@property (nonatomic, readonly, copy) NSString * _Nullable videoUri;
@property (nonatomic, readonly) NSInteger attemptsCount;
@property (nonatomic, readonly, copy) NSString * _Nullable retakeMessage;
@property (nonatomic, readonly, copy) NSString * _Nullable rawBarcode;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSArray<NSString *> *> * _Nonnull gestureLivenessImageUrls;
@property (nonatomic, readonly) double latitude;
@property (nonatomic, readonly) double longitude;
@property (nonatomic, readonly) int64_t submittedTimestamp;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS("_TtC12HyperSnapSDK16HVBrandingLayout")
@interface HVBrandingLayout : UIStackView
- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder SWIFT_UNAVAILABLE;
- (void)showBrandingWithShow:(BOOL)show;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK14HVCameraButton")
@interface HVCameraButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

typedef SWIFT_ENUM(NSInteger, HVCardUIState, open) {
  HVCardUIStateCardDetected = 0,
  HVCardUIStateCardNotDetected = 1,
  HVCardUIStateMoveCloser = 2,
  HVCardUIStateMoveAway = 3,
  HVCardUIStateMoveAwayFromEdge = 4,
};


IB_DESIGNABLE
SWIFT_CLASS("_TtC12HyperSnapSDK21HVClientLogoImageView")
@interface HVClientLogoImageView : UIImageView
@property (nonatomic) IBInspectable BOOL isCaptureScreen;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithImage:(UIImage * _Nullable)image SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithImage:(UIImage * _Nullable)image highlightedImage:(UIImage * _Nullable)highlightedImage SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class NSBundle;

/// An Objective-C compatible wrapper around Lottie’s Animation class.
/// Use in tandem with CompatibleAnimationView when using Lottie in Objective-C
SWIFT_CLASS("_TtC12HyperSnapSDK21HVCompatibleAnimation")
@interface HVCompatibleAnimation : NSObject
- (nonnull instancetype)initWithName:(NSString * _Nonnull)name subdirectory:(NSString * _Nullable)subdirectory bundle:(NSBundle * _Nonnull)bundle OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// An Objective-C compatible wrapper around Lottie’s AnimationKeypath
SWIFT_CLASS("_TtC12HyperSnapSDK28HVCompatibleAnimationKeypath")
@interface HVCompatibleAnimationKeypath : NSObject
/// Creates a keypath from a dot separated string. The string is separated by “.”
- (nonnull instancetype)initWithKeypath:(NSString * _Nonnull)keypath OBJC_DESIGNATED_INITIALIZER;
/// Creates a keypath from a list of strings.
- (nonnull instancetype)initWithKeys:(NSArray<NSString *> * _Nonnull)keys OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

enum HVCompatibleRenderingEngineOption : NSInteger;
@class NSURL;
@class NSData;
@class HVCompatibleDictionaryTextProvider;
enum HVCompatibleBackgroundBehavior : NSInteger;
@class UIColor;

/// An Objective-C compatible wrapper around Lottie’s LottieAnimationView.
SWIFT_CLASS("_TtC12HyperSnapSDK25HVCompatibleAnimationView")
@interface HVCompatibleAnimationView : UIView
/// Initializes a compatible AnimationView with a given compatible animation. Defaults to using
/// the rendering engine specified in LottieConfiguration.shared.
- (nonnull instancetype)initWithCompatibleAnimation:(HVCompatibleAnimation * _Nonnull)compatibleAnimation;
/// Initializes a compatible AnimationView with a given compatible animation and rendering engine
/// configuration.
- (nonnull instancetype)initWithCompatibleAnimation:(HVCompatibleAnimation * _Nonnull)compatibleAnimation compatibleRenderingEngineOption:(enum HVCompatibleRenderingEngineOption)compatibleRenderingEngineOption OBJC_DESIGNATED_INITIALIZER;
/// Initializes a compatible AnimationView with the resources asynchronously loaded from a given
/// URL. Defaults to using the rendering engine specified in LottieConfiguration.shared.
- (nonnull instancetype)initWithUrl:(NSURL * _Nonnull)url;
/// Initializes a compatible AnimationView with the resources asynchronously loaded from a given
/// URL using the given rendering engine configuration.
- (nonnull instancetype)initWithUrl:(NSURL * _Nonnull)url compatibleRenderingEngineOption:(enum HVCompatibleRenderingEngineOption)compatibleRenderingEngineOption OBJC_DESIGNATED_INITIALIZER;
/// Initializes a compatible AnimationView from a given Data object specifying the Lottie
/// animation. Defaults to using the rendering engine specified in LottieConfiguration.shared.
- (nonnull instancetype)initWithData:(NSData * _Nonnull)data;
/// Initializes a compatible AnimationView from a given Data object specifying the Lottie
/// animation using the given rendering engine configuration.
- (nonnull instancetype)initWithData:(NSData * _Nonnull)data compatibleRenderingEngineOption:(enum HVCompatibleRenderingEngineOption)compatibleRenderingEngineOption OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)_ SWIFT_UNAVAILABLE;
@property (nonatomic, strong) HVCompatibleAnimation * _Nullable compatibleAnimation;
@property (nonatomic) CGFloat loopAnimationCount;
@property (nonatomic, strong) HVCompatibleDictionaryTextProvider * _Nullable compatibleDictionaryTextProvider;
@property (nonatomic) UIViewContentMode contentMode;
@property (nonatomic) BOOL shouldRasterizeWhenIdle;
@property (nonatomic) CGFloat currentProgress;
@property (nonatomic, readonly) CGFloat duration;
@property (nonatomic) NSTimeInterval currentTime;
@property (nonatomic) CGFloat currentFrame;
@property (nonatomic, readonly) CGFloat realtimeAnimationFrame;
@property (nonatomic, readonly) CGFloat realtimeAnimationProgress;
@property (nonatomic) CGFloat animationSpeed;
@property (nonatomic) BOOL respectAnimationFrameRate;
@property (nonatomic, readonly) BOOL isAnimationPlaying;
@property (nonatomic) enum HVCompatibleBackgroundBehavior backgroundMode;
- (void)play;
- (void)playWithCompletion:(void (^ _Nullable)(BOOL))completion;
/// Note: When calling this code from Objective-C, the method signature is
/// playFromProgress:toProgress:completion which drops the standard “With” naming convention.
- (void)playFromProgress:(CGFloat)fromProgress toProgress:(CGFloat)toProgress completion:(void (^ _Nullable)(BOOL))completion;
/// Note: When calling this code from Objective-C, the method signature is
/// playFromFrame:toFrame:completion which drops the standard “With” naming convention.
- (void)playFromFrame:(CGFloat)fromFrame toFrame:(CGFloat)toFrame completion:(void (^ _Nullable)(BOOL))completion;
/// Note: When calling this code from Objective-C, the method signature is
/// playFromMarker:toMarker:completion which drops the standard “With” naming convention.
- (void)playFromMarker:(NSString * _Nonnull)fromMarker toMarker:(NSString * _Nonnull)toMarker completion:(void (^ _Nullable)(BOOL))completion;
- (void)playWithMarker:(NSString * _Nonnull)marker completion:(void (^ _Nullable)(BOOL))completion;
- (void)stop;
- (void)pause;
- (void)reloadImages;
- (void)forceDisplayUpdate;
- (id _Nullable)getValueFor:(HVCompatibleAnimationKeypath * _Nonnull)keypath atFrame:(CGFloat)atFrame SWIFT_WARN_UNUSED_RESULT;
- (void)logHierarchyKeypaths;
- (void)setColorValue:(UIColor * _Nonnull)color forKeypath:(HVCompatibleAnimationKeypath * _Nonnull)keypath;
- (UIColor * _Nullable)getColorValueFor:(HVCompatibleAnimationKeypath * _Nonnull)keypath atFrame:(CGFloat)atFrame SWIFT_WARN_UNUSED_RESULT;
- (void)addSubview:(HVAnimationSubview * _Nonnull)subview forLayerAt:(HVCompatibleAnimationKeypath * _Nonnull)keypath;
- (CGRect)convertWithRect:(CGRect)rect toLayerAt:(HVCompatibleAnimationKeypath * _Nullable)keypath SWIFT_WARN_UNUSED_RESULT;
- (CGPoint)convertWithPoint:(CGPoint)point toLayerAt:(HVCompatibleAnimationKeypath * _Nullable)keypath SWIFT_WARN_UNUSED_RESULT;
- (CGFloat)progressTimeForMarker:(NSString * _Nonnull)named SWIFT_WARN_UNUSED_RESULT;
- (CGFloat)frameTimeForMarker:(NSString * _Nonnull)named SWIFT_WARN_UNUSED_RESULT;
- (CGFloat)durationFrameTimeForMarker:(NSString * _Nonnull)named SWIFT_WARN_UNUSED_RESULT;
@end

/// An Objective-C compatible version of <code>LottieBackgroundBehavior</code>.
typedef SWIFT_ENUM(NSInteger, HVCompatibleBackgroundBehavior, open) {
/// Stop the animation and reset it to the beginning of its current play time. The completion block is called.
  HVCompatibleBackgroundBehaviorStop = 0,
/// Pause the animation in its current state. The completion block is called.
  HVCompatibleBackgroundBehaviorPause = 1,
/// Pause the animation and restart it when the application moves to the foreground.
/// The completion block is stored and called when the animation completes.
/// <ul>
///   <li>
///     This is the default when using the Main Thread rendering engine.
///   </li>
/// </ul>
  HVCompatibleBackgroundBehaviorPauseAndRestore = 2,
/// Stops the animation and sets it to the end of its current play time. The completion block is called.
  HVCompatibleBackgroundBehaviorForceFinish = 3,
/// The animation continues playing in the background.
/// <ul>
///   <li>
///     This is the default when using the Core Animation rendering engine.
///     Playing an animation using the Core Animation engine doesn’t come with any CPU overhead,
///     so using <code>.continuePlaying</code> avoids the need to stop and then resume the animation
///     (which does come with some CPU overhead).
///   </li>
///   <li>
///     This mode should not be used with the Main Thread rendering engine.
///   </li>
/// </ul>
  HVCompatibleBackgroundBehaviorContinuePlaying = 4,
};


/// An Objective-C compatible wrapper around Lottie’s DictionaryTextProvider.
/// Use in tandem with CompatibleAnimationView to supply text to LottieAnimationView
/// when using Lottie in Objective-C.
SWIFT_CLASS("_TtC12HyperSnapSDK34HVCompatibleDictionaryTextProvider")
@interface HVCompatibleDictionaryTextProvider : NSObject
- (nonnull instancetype)initWithValues:(NSDictionary<NSString *, NSString *> * _Nonnull)values OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

/// An Objective-C compatible wrapper around Lottie’s RenderingEngineOption enum. Pass in an option
/// to the CompatibleAnimationView initializers to configure the rendering engine for the view.
typedef SWIFT_ENUM(NSInteger, HVCompatibleRenderingEngineOption, open) {
/// Uses the rendering engine specified in LottieConfiguration.shared.
  HVCompatibleRenderingEngineOptionShared = 0,
/// Uses the library default rendering engine, coreAnimation.
  HVCompatibleRenderingEngineOptionDefaultEngine = 1,
/// Optimizes rendering performance by using the Core Animation rendering engine for animations it
/// can render while falling back to the main thread renderer for all other animations.
  HVCompatibleRenderingEngineOptionAutomatic = 2,
/// Only renders animations using the main thread rendering engine.
  HVCompatibleRenderingEngineOptionMainThread = 3,
/// Only renders animations using the Core Animation rendering engine. Those animations that use
/// features not yet supported on this renderer will not be rendered.
  HVCompatibleRenderingEngineOptionCoreAnimation = 4,
};


IB_DESIGNABLE
SWIFT_CLASS("_TtC12HyperSnapSDK18HVDescriptionLabel")
@interface HVDescriptionLabel : UILabel
@property (nonatomic) IBInspectable BOOL isCaptureScreen;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class DocTextConfig;
enum DocumentType : NSInteger;
@class UIViewController;
@class UINavigationController;
enum DocumentSide : NSInteger;

SWIFT_CLASS("_TtC12HyperSnapSDK11HVDocConfig")
@interface HVDocConfig : HVBaseConfig
- (void)setShouldEnableOverlay:(BOOL)enableOverlay;
@property (nonatomic, strong) DocTextConfig * _Nonnull textConfig;
- (void)setDocumentType:(enum DocumentType)type;
- (void)setAspectRatio:(double)aspectRatio;
- (void)setShouldShowReviewPage:(BOOL)shouldShow;
- (void)setShouldShowInstructionsPage:(BOOL)shouldShow;
- (void)setEncryptPayload:(BOOL)encryptPayload;
- (void)setCPRCheckSessionHeaders:(NSDictionary<NSString *, NSString *> * _Nullable)checkSessionHeaders;
- (void)setCustomLoadingScreen:(UIViewController * _Nonnull)vc;
- (void)setShouldShowFlashButton:(BOOL)shouldShow;
- (void)setShouldAddPadding:(BOOL)shouldAdd;
- (void)setDefaultPadding:(CGFloat)defaultPadding;
- (void)setShouldShowFullScreenViewController:(BOOL)shouldShow;
- (void)setCaptureButtonEnabledImage:(UIImage * _Nonnull)image;
- (void)setDocumentCaptureOverlay:(UIImage * _Nonnull)image;
- (void)setDocumentCaptureOverlayDurationWithDurationInMS:(NSInteger)durationInMS;
- (void)setReadBarcodeOverlay:(UIImage * _Nonnull)image;
- (void)setReadBarcodeTimeoutWithDurationInMS:(NSInteger)durationInMS;
- (void)setDisableBarcodeSkip:(BOOL)shouldDisable;
- (void)setNavigationController:(UINavigationController * _Nonnull)navVC SWIFT_DEPRECATED_MSG("This function is not necessary anymore");
- (void)setShouldDismissVCAutomatically:(BOOL)shouldDismiss;
- (void)setShouldHandleRetries:(BOOL)shouldHandle;
- (void)setShouldReadQR:(BOOL)shouldRead SWIFT_DEPRECATED_MSG("Use setShouldReadNIDQR() instead");
- (void)setShouldReadNIDQR:(BOOL)shouldRead;
- (void)setShouldReadBarcode:(BOOL)shouldRead;
- (void)setShouldAutoCapture:(BOOL)shouldAutoCapture;
- (void)setShouldPerformAssistiveCapture:(BOOL)shouldPerformAssistiveCapture;
- (void)setAutoCaptureDurationWithDurationInMS:(NSInteger)durationInMS;
- (void)setShowCloseIcon:(BOOL)showCloseIcon;
- (void)setShowModuleBackButton:(BOOL)allow;
- (void)setEnableDocumentUpload:(BOOL)enable;
- (void)setUploadFileTypes:(NSArray<NSString *> * _Nullable)fileTypes;
- (void)setOCRAPIDetails:(NSString * _Nonnull)endpoint documentSide:(enum DocumentSide)documentSide params:(NSDictionary<NSString *, id> * _Nullable)params headers:(NSDictionary<NSString *, NSString *> * _Nullable)headers;
- (void)setModuleIdWithModuleId:(NSString * _Nonnull)moduleId;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM(NSInteger, DocumentSide, open) {
  DocumentSideFront = 0,
  DocumentSideBack = 1,
};


SWIFT_CLASS("_TtCC12HyperSnapSDK11HVDocConfig13DocTextConfig")
@interface DocTextConfig : NSObject
- (void)setTextConfig:(NSDictionary<NSString *, NSString *> * _Nonnull)textJson;
- (void)setDocInstructionsTitle:(NSString * _Nonnull)text;
- (void)setDocInstructionsDescription:(NSString * _Nonnull)text;
- (void)setDocInstructions1:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setDocInstructions2:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setDocInstructions3:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setDocInstructionsProceedText:(NSString * _Nonnull)text;
- (void)setDocInstructionsUploadText:(NSString * _Nonnull)text;
- (void)setDocCaptureTitle:(NSString * _Nonnull)text;
- (void)setDocCaptureSubtitle:(NSString * _Nonnull)text;
- (void)setDocCaptureDescription:(NSString * _Nonnull)text;
- (void)setDocCaptureSubText:(NSString * _Nonnull)text;
- (void)setDocCaptureActivityText:(NSString * _Nonnull)text;
- (void)setDocReviewTitle:(NSString * _Nonnull)text;
- (void)setDocReviewSubtitle:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Won't be available after UI/UX revamp");
- (void)setDocReviewDescription:(NSString * _Nonnull)text;
- (void)setDocReviewRetakeButtonText:(NSString * _Nonnull)text;
- (void)setDocReviewContinueButtonText:(NSString * _Nonnull)text;
- (void)setDocRetakePageRetakeButtonText:(NSString * _Nonnull)text;
- (void)setDocRetakePageTitleText:(NSString * _Nonnull)text;
- (void)setDocLoadingTitleText:(NSString * _Nonnull)text;
- (void)setDocLoadingDescriptionText:(NSString * _Nonnull)text;
- (void)setCloseAlertTitle:(NSString * _Nonnull)text;
- (void)setCloseAlertDesc:(NSString * _Nonnull)text;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class UIFont;

SWIFT_CLASS("_TtC12HyperSnapSDK23HVDocDescriptionA4Label") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocDescriptionA4Label : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK21HVDocDescriptionLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocDescriptionLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK22HVDocInstructionsLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocInstructionsLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK30HVDocInstructionsProceedButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocInstructionsProceedButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK29HVDocInstructionsUploadButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocInstructionsUploadButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK25HVDocReviewContinueButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocReviewContinueButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK27HVDocReviewDescriptionLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocReviewDescriptionLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK23HVDocReviewRetakeButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocReviewRetakeButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK21HVDocReviewTitleLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocReviewTitleLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK17HVDocSubTextLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVDocSubTextLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawTextInRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class HVError;
@class HVResponse;

/// DocCameraViewController is the base class which will be used from outside.
SWIFT_CLASS("_TtC12HyperSnapSDK20HVDocsViewController")
@interface HVDocsViewController : UIViewController <UIViewControllerTransitioningDelegate>
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, copy) void (^ _Nonnull completionHandler)(HVError * _Nullable, HVResponse * _Nullable, UIViewController * _Nonnull);
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// Starting point for Document Capture.
/// note:
/// Initialisation of the SDK must be done before calling this method
/// \param callingVC ViewController that is currently active. The new ViewController will be presented on top of this.
///
/// \param hvDocConfig Object with all properties related to Document Capture
///
/// \param completionHandler Closure that will be called after successful capture + processing or when there is an error
///
+ (void)start:(UIViewController * _Nonnull)callingVC hvDocConfig:(HVDocConfig * _Nonnull)hvDocConfig completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable, UIViewController * _Nonnull))completionHandler;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end


@class UIPresentationController;

@interface HVDocsViewController (SWIFT_EXTENSION(HyperSnapSDK))
- (void)viewDidLoad;
- (UIPresentationController * _Nullable)presentationControllerForPresentedViewController:(UIViewController * _Nonnull)presented presentingViewController:(UIViewController * _Nullable)presenting sourceViewController:(UIViewController * _Nonnull)source SWIFT_WARN_UNUSED_RESULT;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidLayoutSubviews;
- (void)viewDidDisappear:(BOOL)animated;
- (void)viewWillLayoutSubviews;
- (void)viewDidAppear:(BOOL)animated;
@property (nonatomic) CGSize preferredContentSize;
- (void)viewWillDisappear:(BOOL)animated;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK32HVDocumentAutoCaptureStatusLabel")
@interface HVDocumentAutoCaptureStatusLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawTextInRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK7HVError")
@interface HVError : NSObject
- (NSString * _Nonnull)getErrorMessage SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)getErrorCode SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS("_TtC12HyperSnapSDK19HVErrorRetakeButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVErrorRetakeButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK18HVErrorRetakeLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVErrorRetakeLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


/// Metadata object to be used to pass custom metadata from any wrapper SDK or app
SWIFT_CLASS("_TtC12HyperSnapSDK17HVExternalConfigs")
@interface HVExternalConfigs : NSObject
@property (nonatomic, copy) NSDictionary<NSString *, NSString *> * _Nullable metadataMap;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// Builder for HVExternalConfigs
SWIFT_CLASS("_TtCC12HyperSnapSDK17HVExternalConfigs7Builder")
@interface Builder : NSObject
- (Builder * _Nonnull)withMetadataMap:(NSDictionary<NSString *, NSString *> * _Nullable)metadataMap SWIFT_WARN_UNUSED_RESULT;
- (HVExternalConfigs * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK23HVFaceActivityIndicator") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVFaceActivityIndicator : UIActivityIndicatorView
- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setStyle:(UIActivityIndicatorViewStyle)style;
+ (void)setColor:(UIColor * _Nonnull)color;
- (nonnull instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK19HVFaceActivityLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVFaceActivityLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class FaceTextConfig;
enum LivenessMode : NSInteger;

SWIFT_CLASS("_TtC12HyperSnapSDK12HVFaceConfig")
@interface HVFaceConfig : HVBaseConfig
- (void)setShowConsent:(BOOL)show;
- (void)setShouldEnableOverlay:(BOOL)enableOverlay;
@property (nonatomic, strong) FaceTextConfig * _Nonnull textConfig;
- (void)setLivenessMode:(enum LivenessMode)livenessMode;
- (void)setShouldRecordVideo:(BOOL)shouldRecordvideo;
- (void)setEncryptPayload:(BOOL)encryptPayload;
- (void)setCPRCheckSessionHeaders:(NSDictionary<NSString *, NSString *> * _Nullable)checkSessionHeaders;
- (void)setFps:(NSInteger)fps;
- (void)setShouldAutoCapture:(BOOL)shouldAutoCapture;
- (void)setAutoCaptureDuration:(NSInteger)duration;
- (void)setShowAlertBox:(BOOL)shouldShowAlertLabel;
- (void)setShowModuleBackButton:(BOOL)allow;
- (void)setShowCloseIcon:(BOOL)showCloseIcon;
- (void)setNumberOfFrames:(NSInteger)numberOfFrames;
- (void)setShouldCheckForActiveLiveness:(BOOL)shouldCheck;
- (void)setTotalGestures:(NSInteger)totalGestures;
- (void)setShouldShowInstructionsPage:(BOOL)shouldShow;
- (void)setLivenessAPIParameters:(NSDictionary<NSString *, id> * _Nonnull)parameters;
- (void)setLivenessAPIHeaders:(NSDictionary<NSString *, NSString *> * _Nonnull)headers;
- (void)setShouldEnablePadding:(BOOL)shouldEnable;
- (void)setPaddingWithLeft:(float)left right:(float)right top:(float)top bottom:(float)bottom;
- (void)setLivenessEndpoint:(NSString * _Nonnull)endpoint;
- (void)setShouldReturnFullImageUri:(BOOL)shouldReturn;
- (void)setShouldHandleRetries:(BOOL)shouldHandle;
- (void)setShouldUseBackCamera:(BOOL)shouldUse;
- (void)setShouldShowCameraSwitchButton:(BOOL)shouldShow;
- (void)setFaceCaptureCircleSuccessColor:(UIColor * _Nonnull)color;
- (void)setFaceCaptureCircleFailureColor:(UIColor * _Nonnull)color;
- (void)setShouldShowFullScreenViewController:(BOOL)shouldShow;
- (void)setCustomLoadingScreen:(UIViewController * _Nonnull)vc;
- (void)setFaceCaptureOverlay:(UIImage * _Nonnull)image;
- (void)setFaceCaptureOverlayDurationWithDurationInMS:(NSInteger)durationInMS;
- (void)setCaptureButtonEnabledImage:(UIImage * _Nonnull)image;
- (void)setCaptureButtonDisabledImage:(UIImage * _Nonnull)image;
- (void)setNavigationController:(UINavigationController * _Nonnull)navVC SWIFT_DEPRECATED_MSG("This function is not necessary anymore");
- (void)setShouldDismissVCAutomatically:(BOOL)shouldDismiss;
- (void)setShouldRejectFaceNotStraight:(BOOL)shouldReject;
- (void)setModuleIdWithModuleId:(NSString * _Nonnull)moduleId;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtCC12HyperSnapSDK12HVFaceConfig14FaceTextConfig")
@interface FaceTextConfig : NSObject
- (void)setTextConfig:(NSDictionary<NSString *, NSString *> * _Nonnull)textJson;
- (void)setFaceInstructionsTitle:(NSString * _Nonnull)text;
- (void)setFaceInstructionsDescription:(NSString * _Nonnull)text;
- (void)setFaceInstructionsTop1:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setFaceInstructionsTop2:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setFaceInstructionsNoGlasses:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setFaceInstructionsBrightLight:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setFaceInstructionsNoHat:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Removed in UI/UX upgrade");
- (void)setFaceInstructionsProceed:(NSString * _Nonnull)text;
- (void)setFaceInstructionsProceedBackCam:(NSString * _Nonnull)text;
- (void)setFaceCaptureTitle:(NSString * _Nonnull)text;
- (void)setFaceCaptureTitle2:(NSString * _Nonnull)text;
- (void)setFaceCaptureSubtitle:(NSString * _Nonnull)text SWIFT_DEPRECATED_MSG("Won't be available after UI/UX revamp");
- (void)setFaceCaptureMultipleFacesDetectedText:(NSString * _Nonnull)text;
- (void)setFaceCaptureWrongOrientationText:(NSString * _Nonnull)text;
- (void)setFaceCaptureFaceFoundText:(NSString * _Nonnull)text;
- (void)setFaceCaptureLookStraight:(NSString * _Nonnull)text;
- (void)setFaceCaptureMoveAwayText:(NSString * _Nonnull)text;
- (void)setFaceCaptureMoveAwayText2:(NSString * _Nonnull)text;
- (void)setFaceCaptureMoveCloserText:(NSString * _Nonnull)text;
- (void)setFaceCaptureMoveCloserText2:(NSString * _Nonnull)text;
- (void)setFaceCaptureFaceNotFoundText:(NSString * _Nonnull)text;
- (void)setFaceCaptureFaceNotFoundText2:(NSString * _Nonnull)text;
- (void)setFaceCaptureFaceNotFoundToastText:(NSString * _Nonnull)text;
- (void)setFaceAutoCaptureWaitText:(NSString * _Nonnull)text;
- (void)setFaceAutoCaptureActionText:(NSString * _Nonnull)text;
- (void)setFaceLoadingTitleText:(NSString * _Nonnull)text;
- (void)setFaceLoadingDescriptionText:(NSString * _Nonnull)text;
- (void)setFaceCaptureActivityText:(NSString * _Nonnull)text;
- (void)setFaceRetakeButtonText:(NSString * _Nonnull)text;
- (void)setFaceRetakeTitleText:(NSString * _Nonnull)text;
- (void)setCloseAlertTitle:(NSString * _Nonnull)text;
- (void)setCloseAlertDesc:(NSString * _Nonnull)text;
- (void)setAlertBoxLabelText:(NSString * _Nonnull)text;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK22HVFaceDescriptionLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVFaceDescriptionLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK28HVFaceInstructionBottomLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVFaceInstructionBottomLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK25HVFaceInstructionTopLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVFaceInstructionTopLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK32HVFaceInstructionsViewController")
@interface HVFaceInstructionsViewController : UIViewController
@property (nonatomic, copy) void (^ _Nonnull completionHandler)(HVError * _Nullable, HVResponse * _Nullable, UIViewController * _Nonnull);
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
@property (nonatomic) CGSize preferredContentSize;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillAppear:(BOOL)animated;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_CLASS("_TtC12HyperSnapSDK20HVFaceViewController")
@interface HVFaceViewController : UIViewController <UIViewControllerTransitioningDelegate>
@property (nonatomic, copy) void (^ _Nullable completionHandler)(HVError * _Nullable, HVResponse * _Nullable, UIViewController * _Nonnull);
- (void)viewDidLoad;
/// Starting point for Face Capture and liveness.
/// note:
/// Initialisation of the SDK must be done before calling this method
/// \param callingVC ViewController that is currently active. The new ViewController will be presented on top of this.
///
/// \param hvFaceConfig Object with all properties related to Face Capture
///
/// \param completionHandler Closure that will be called after successful capture + processing or when there is an error
///
+ (void)start:(UIViewController * _Nonnull)callingVC hvFaceConfig:(HVFaceConfig * _Nonnull)hvFaceConfig completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable, UIViewController * _Nonnull))completionHandler;
- (void)viewWillAppear:(BOOL)animated;
@property (nonatomic) CGSize preferredContentSize;
- (void)viewDidLayoutSubviews;
- (void)viewDidDisappear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillLayoutSubviews;
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
- (void)viewWillDisappear:(BOOL)animated;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


@interface HVFaceViewController (SWIFT_EXTENSION(HyperSnapSDK))
- (UIPresentationController * _Nullable)presentationControllerForPresentedViewController:(UIViewController * _Nonnull)presented presentingViewController:(UIViewController * _Nullable)presenting sourceViewController:(UIViewController * _Nonnull)source SWIFT_WARN_UNUSED_RESULT;
@end



SWIFT_CLASS("_TtC12HyperSnapSDK13HVGesturePose")
@interface HVGesturePose : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM(NSInteger, GestureUIState, open) {
  GestureUIStateNewPose = 0,
  GestureUIStatePoseMatches = 1,
  GestureUIStatePoseDoesNotMatch = 2,
  GestureUIStateStablePose = 3,
  GestureUIStateFaceNotDetected = 4,
  GestureUIStateAuthenticatedState = 5,
};


SWIFT_CLASS("_TtC12HyperSnapSDK27HVInstructionsProceedButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVInstructionsProceedButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


/// The base view for <code>LottieAnimationView</code> on iOS, tvOS, watchOS, and macCatalyst.
/// Enables the <code>LottieAnimationView</code> implementation to be shared across platforms.
SWIFT_CLASS("_TtC12HyperSnapSDK25HVLottieAnimationViewBase")
@interface HVLottieAnimationViewBase : UIView
@property (nonatomic) UIViewContentMode contentMode;
- (void)didMoveToWindow;
- (void)layoutSubviews;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


IB_DESIGNABLE
SWIFT_CLASS("_TtC12HyperSnapSDK21HVLottieAnimationView")
@interface HVLottieAnimationView : HVLottieAnimationViewBase
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
@end




enum FaceMatchMode : NSInteger;

SWIFT_CLASS("_TtC12HyperSnapSDK15HVNetworkHelper")
@interface HVNetworkHelper : NSObject
/// Helper method to make OCR API calls to HyperVerge’s Backend.
/// <ul>
///   <li>
///     Parameters:
///   </li>
///   <li>
///     endpoint: The full endpoint for the API Call
///   </li>
///   <li>
///     documentUri: The local path of the image on which the OCR extraction will be made. This is the ‘imageUri’ returned in the result of the Document Capture flow
///   </li>
///   <li>
///     parameters: Optional. API parameters.
///   </li>
///   <li>
///     headers: Optional. API headers.
///   </li>
///   <li>
///     completionHandler: A completion handler with three parameters.
///   </li>
///   <li>
///     error: An object of type HVError?. It is null if the call is successful. Otherwise, it has an error code and error message.
///   </li>
///   <li>
///     result: An objet of type [String:AnyObject]?. It is null if there was an error. Otherwise, it has the API response
///   </li>
///   <li>
///     headers: An object of type [String:String]?. It is null unless there were any special headers sent by the HyperVerge’s backend.
///   </li>
/// </ul>
+ (void)makeOCRAPICallWithEndpoint:(NSString * _Nonnull)endpoint documentUri:(NSString * _Nonnull)documentUri qrCroppedImageUri:(NSString * _Nullable)qrCroppedImageUri hvDocConfig:(HVDocConfig * _Nullable)hvDocConfig parameters:(NSDictionary<NSString *, id> * _Nullable)parameters headers:(NSDictionary<NSString *, NSString *> * _Nullable)headers allowedStatusCodes:(NSArray<NSNumber *> * _Nullable)allowedStatusCodes completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable))completionHandler;
/// Helper method to make Face Match calls to HyperVerge’s Backend.
/// The face match call compares face in an ID card and the face in a user photo and gives a match score.
/// <ul>
///   <li>
///     Parameters:
///   </li>
///   <li>
///     faceUri: The local path of the user photo. This is the ‘imageUri’ returned in the result of the Face Capture flow.
///   </li>
///   <li>
///     documentUri: The local path of the document image. This is the ‘imageUri’ returned in the result of the Document Capture flow.
///   </li>
///   <li>
///     parameters: Optional. API parameters.
///   </li>
///   <li>
///     headers: Optional. API headers.
///   </li>
///   <li>
///     completionHandler: A completion handler with three parameters.
///   </li>
///   <li>
///     error: An object of type HVError?. It is null if the call is successful. Otherwise, it has an error code and error message.
///   </li>
///   <li>
///     result: An objet of type [String:AnyObject]?. It is null if there was an error. Otherwise, it has the API response
///   </li>
///   <li>
///     headers: An object of type [String:String]?. It is null unless there were any special headers sent by the HyperVerge’s backend.
///   </li>
/// </ul>
+ (void)makeFaceMatchCallWithFaceUri:(NSString * _Nonnull)faceUri documentUri:(NSString * _Nonnull)documentUri parameters:(NSDictionary<NSString *, id> * _Nullable)parameters headers:(NSDictionary<NSString *, NSString *> * _Nullable)headers allowedStatusCodes:(NSArray<NSNumber *> * _Nullable)allowedStatusCodes completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable))completionHandler;
+ (void)makeFaceMatchAPICallWithEndpoint:(NSString * _Nonnull)endpoint image1:(NSString * _Nonnull)image1 image2:(NSString * _Nonnull)image2 faceMatchMode:(enum FaceMatchMode)faceMatchMode parameters:(NSDictionary<NSString *, id> * _Nullable)parameters headers:(NSDictionary<NSString *, NSString *> * _Nullable)headers allowedStatusCodes:(NSArray<NSNumber *> * _Nullable)allowedStatusCodes completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable))completionHandler;
+ (void)makeTextMatchAPICallWithEndpoint:(NSString * _Nonnull)endpoint parameters:(NSDictionary<NSString *, id> * _Nonnull)parameters headers:(NSDictionary<NSString *, NSString *> * _Nullable)headers allowedStatusCodes:(NSArray<NSNumber *> * _Nullable)allowedStatusCodes completionHandler:(void (^ _Nonnull)(HVError * _Nullable, HVResponse * _Nullable))completionHandler;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK17HVPageNumberLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVPageNumberLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK15HVPrimaryButton")
@interface HVPrimaryButton : UIButton
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
@end


@class HVQRTextConfig;

SWIFT_CLASS("_TtC12HyperSnapSDK10HVQRConfig")
@interface HVQRConfig : HVBaseConfig
- (void)setShouldShowInstructionsPage:(BOOL)shouldShow;
- (void)setSkipButtonDelay:(NSInteger)skipDelay;
- (void)setShowCloseIcon:(BOOL)showCloseIcon;
- (void)setShowModuleBackButton:(BOOL)allow;
@property (nonatomic, strong) HVQRTextConfig * _Nonnull textConfig;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtCC12HyperSnapSDK10HVQRConfig14HVQRTextConfig")
@interface HVQRTextConfig : NSObject
- (void)setTextConfig:(NSDictionary<NSString *, NSString *> * _Nonnull)textJson;
- (void)setQrCaptureSubText:(NSString * _Nonnull)text;
- (void)setQrCaptureTitle:(NSString * _Nonnull)text;
- (void)setQrInstructionsTitle:(NSString * _Nonnull)text;
- (void)setQrCaptureDescription:(NSString * _Nonnull)text;
- (void)setQrInstructionsDescription:(NSString * _Nonnull)text;
- (void)setQrInstructionsProceedText:(NSString * _Nonnull)text;
- (void)setQrCaptureSkipButtonText:(NSString * _Nonnull)text;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK20HVQRDescriptionLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVQRDescriptionLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK30HVQRInstructionsViewController")
@interface HVQRInstructionsViewController : UIViewController
@property (nonatomic, copy) void (^ _Nonnull completionHandler)(HVError * _Nullable, NSDictionary<NSString *, id> * _Nullable);
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
- (void)viewDidLoad;
@property (nonatomic) CGSize preferredContentSize;
- (void)viewWillLayoutSubviews;
- (void)viewDidAppear:(BOOL)animated;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_CLASS("_TtC12HyperSnapSDK14HVQRSkipButton")
@interface HVQRSkipButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


/// HVQRViewController is the base class which will be used to open separate QR scanner VC and related functionalities
SWIFT_CLASS("_TtC12HyperSnapSDK18HVQRViewController")
@interface HVQRViewController : UIViewController
@property (nonatomic, copy) void (^ _Nonnull completionHandler)(HVError * _Nullable, NSDictionary<NSString *, id> * _Nullable);
/// Starting point for HVQR Scanner.
/// <ul>
///   <li>
///     Note -  Initialisation of the SDK must be done before calling this method
///   </li>
/// </ul>
/// \param callingVC ViewController that is currently active. HVQRViewController will be presented on top of this.
///
/// \param hvQRConfig Object with all properties related to QR Capture
///
/// \param completionHandler Closure that will be called after successful capture + processing or when there is an error
///
+ (void)start:(UIViewController * _Nonnull)callingVC hvQRConfig:(HVQRConfig * _Nonnull)hvQRConfig completionHandler:(void (^ _Nonnull)(HVError * _Nullable, NSDictionary<NSString *, id> * _Nullable))completionHandler;
@property (nonatomic) CGSize preferredContentSize;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


@interface HVQRViewController (SWIFT_EXTENSION(HyperSnapSDK)) <UIViewControllerTransitioningDelegate>
- (UIPresentationController * _Nullable)presentationControllerForPresentedViewController:(UIViewController * _Nonnull)presented presentingViewController:(UIViewController * _Nullable)presenting sourceViewController:(UIViewController * _Nonnull)source SWIFT_WARN_UNUSED_RESULT;
@end



@interface HVQRViewController (SWIFT_EXTENSION(HyperSnapSDK))
- (void)viewDidLoad;
- (void)viewDidLayoutSubviews;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewWillLayoutSubviews;
- (void)viewDidAppear:(BOOL)animated;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK10HVResponse")
@interface HVResponse : HVBaseResponse
@property (nonatomic, readonly, copy) NSArray<HVBaseResponse *> * _Nonnull retakeAttemptResponses;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK14HVRetakeButton") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVRetakeButton : UIButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setBorderColor:(CGColorRef _Nonnull)color;
+ (void)setBackgroundColor:(CGColorRef _Nonnull)color;
+ (void)setBorderWidth:(CGFloat)width;
+ (void)setTitleColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowColor:(UIColor * _Nullable)color for:(UIControlState)state;
+ (void)setTitleShadowOffset:(CGSize)offset;
+ (void)setTitleFont:(UIFont * _Nonnull)font;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK20HVRetakeMessageLabel")
@interface HVRetakeMessageLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK17HVSecondaryButton")
@interface HVSecondaryButton : UIButton
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK17HVSessionResponse")
@interface HVSessionResponse : NSObject
@property (nonatomic, readonly, strong) HVError * _Nullable hvError;
- (BOOL)isSuccess SWIFT_WARN_UNUSED_RESULT;
- (HVError * _Nullable)getHVError SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


IB_DESIGNABLE
SWIFT_CLASS("_TtC12HyperSnapSDK13HVStatusLabel")
@interface HVStatusLabel : UILabel
@property (nonatomic) IBInspectable BOOL isCaptureScreen;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawTextInRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK14HVSubTextLabel")
@interface HVSubTextLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)drawTextInRect:(CGRect)rect;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextAlignment:(NSTextAlignment)alignment;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK15HVSubtitleLabel") SWIFT_DEPRECATED_MSG("Use UIConfig for UI cusomtisation")
@interface HVSubtitleLabel : UILabel
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
+ (void)setFont:(UIFont * _Nonnull)font;
+ (void)setTextColor:(UIColor * _Nonnull)color;
+ (void)setShadowColor:(UIColor * _Nonnull)color;
+ (void)setShadowOffset:(CGSize)offset;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


IB_DESIGNABLE
SWIFT_CLASS("_TtC12HyperSnapSDK12HVTitleLabel")
@interface HVTitleLabel : UILabel
@property (nonatomic) IBInspectable BOOL isCaptureScreen;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end


SWIFT_CLASS("_TtC12HyperSnapSDK15HyperSnapParams")
@interface HyperSnapParams : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

/// Determines the aspect ratio of a document for document capture
typedef SWIFT_ENUM(NSInteger, DocumentType, open) {
/// AspectRatio : 0.625
  DocumentTypeCard = 0,
/// AspectRatio : 1.4
  DocumentTypeA4 = 1,
/// AspectRatio : 0.68
  DocumentTypePassport = 2,
  DocumentTypeOther = 3,
};

typedef SWIFT_ENUM(NSInteger, Region, open) {
  RegionAsiaPacific = 0,
  RegionUnitedStates = 1,
  RegionIndia = 2,
  RegionAfrica = 3,
};

typedef SWIFT_ENUM(NSInteger, Product, open) {
  ProductFaceID = 0,
  ProductIAM = 1,
};

typedef SWIFT_ENUM(NSInteger, LivenessMode, open) {
  LivenessModeNone = 0,
  LivenessModeTextureLiveness = 1,
};

typedef SWIFT_ENUM(NSInteger, FaceMatchMode, open) {
  FaceMatchModeFace_Id = 0,
  FaceMatchModeFace_Face = 1,
  FaceMatchModeFace_IdFaceString = 2,
  FaceMatchModeGeneric = 3,
};


SWIFT_CLASS("_TtC12HyperSnapSDK18HyperSnapSDKConfig")
@interface HyperSnapSDKConfig : NSObject
/// Initialization method for the SDK. Should be called before any of the SDK’s ViewControllers.
/// \param appId Provided by HyperVerge
///
/// \param appKey Provided by HyperVerge
///
/// \param region It is of type ‘HyperSnapParams.Region’. This enum has 3 values - AsiaPacific, India and UnitedStates
///
+ (void)initializeWithAppId:(NSString * _Nonnull)appId appKey:(NSString * _Nonnull)appKey region:(enum Region)region;
/// Initialization method for the SDK. Should be called before any of the SDK’s ViewControllers.
/// \param appId Provided by HyperVerge
///
/// \param accessToken Obtained from HyperVerge’s /login API
///
/// \param region It is of type ‘HyperSnapParams.Region’. This enum has 3 values - AsiaPacific, India and UnitedStates
///
+ (void)initializeWithAppId:(NSString * _Nonnull)appId accessToken:(NSString * _Nonnull)accessToken region:(enum Region)region;
+ (void)initializeWithAppId:(NSString * _Nonnull)appId appKey:(NSString * _Nonnull)appKey region:(enum Region)region initializerCallback:(void (^ _Nullable)(HVError * _Nullable))initializerCallback;
+ (void)initializeWithAppId:(NSString * _Nonnull)appId accessToken:(NSString * _Nonnull)accessToken region:(enum Region)region initializerCallback:(void (^ _Nullable)(HVError * _Nullable))initializerCallback;
+ (void)prefetchConfigsWithAppIds:(NSArray<NSString *> * _Nonnull)appIds;
+ (void)logEvent:(NSString * _Nonnull)name :(NSDictionary<NSString *, id> * _Nonnull)properties;
+ (void)setShouldUseSignature:(BOOL)shouldUseSignature;
+ (void)setShouldEnableSSLPinning:(BOOL)shouldEnableSSLPinning;
+ (void)setShouldUseAnalytics:(BOOL)shouldUse;
+ (void)setShouldUseSensorBiometrics:(BOOL)shouldUse;
+ (void)setTimeoutIntervalForRequest:(double)timeout;
+ (void)setShouldSecure:(BOOL)shouldSecure;
+ (void)setShouldUseLocation:(BOOL)shouldUseLocation;
+ (void)setExternalConfigs:(HVExternalConfigs * _Nonnull)externalConfigs;
+ (void)setEncryptionMetadata:(NSString * _Nonnull)encryptionMetadata;
+ (void)setBrandingCheck:(BOOL)shouldCheck completionHandler:(void (^ _Nonnull)(HVError * _Nullable, NSDictionary<NSString *, id> * _Nullable))completionHandler;
+ (void)setShouldReturnRawResponse:(BOOL)shouldReturn;
+ (void)deleteImageAtUri:(NSString * _Nonnull)imageUri;
+ (NSString * _Nonnull)sortDictionaryAlphabetically:(NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
+ (HVSessionResponse * _Nonnull)startUserSession:(NSString * _Nullable)transactionId SWIFT_WARN_UNUSED_RESULT;
+ (void)endUserSession;
+ (void)endHyperSnapFlow;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

















@interface UINavigationController (SWIFT_EXTENSION(HyperSnapSDK))
@property (nonatomic, readonly) BOOL shouldAutorotate;
@property (nonatomic, readonly) UIInterfaceOrientation preferredInterfaceOrientationForPresentation;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@end







@class HVPublicKey;
@class HVEncryptedMessage;
@class HVPrivateKey;
enum HVDigestType : NSInteger;
@class HVSignature;
@class HVVerificationResult;

SWIFT_CLASS_NAMED("_objc_HVClearMessage")
@interface HVClearMessage : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull base64String;
@property (nonatomic, readonly, copy) NSData * _Nonnull data;
- (nonnull instancetype)initWithData:(NSData * _Nonnull)data OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithString:(NSString * _Nonnull)string using:(NSUInteger)rawEncoding error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithBase64Encoded:(NSString * _Nonnull)base64String error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (NSString * _Nullable)stringWithEncoding:(NSUInteger)rawEncoding error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (HVEncryptedMessage * _Nullable)encryptedWith:(HVPublicKey * _Nonnull)key padding:(SecPadding)padding error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (HVSignature * _Nullable)signedWith:(HVPrivateKey * _Nonnull)key digestType:(enum HVDigestType)digestType error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (HVVerificationResult * _Nullable)verifyWith:(HVPublicKey * _Nonnull)key signature:(HVSignature * _Nonnull)signature digestType:(enum HVDigestType)digestType error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS_NAMED("_objc_HVEncryptedMessage")
@interface HVEncryptedMessage : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull base64String;
@property (nonatomic, readonly, copy) NSData * _Nonnull data;
- (nonnull instancetype)initWithData:(NSData * _Nonnull)data OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithBase64Encoded:(NSString * _Nonnull)base64String error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (HVClearMessage * _Nullable)decryptedWith:(HVPrivateKey * _Nonnull)key padding:(SecPadding)padding error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS_NAMED("_objc_HVKeyPair")
@interface HVKeyPair : NSObject
@property (nonatomic, readonly, strong) HVPrivateKey * _Nonnull privateKey;
@property (nonatomic, readonly, strong) HVPublicKey * _Nonnull publicKey;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS_NAMED("_objc_HVPrivateKey")
@interface HVPrivateKey : NSObject
@property (nonatomic, readonly) SecKeyRef _Nonnull reference;
@property (nonatomic, readonly, copy) NSData * _Nullable originalData;
- (NSString * _Nullable)pemStringAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (NSData * _Nullable)dataAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nullable)base64StringAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (nullable instancetype)initWithData:(NSData * _Nonnull)data error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithReference:(SecKeyRef _Nonnull)reference error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithBase64Encoded:(NSString * _Nonnull)base64String error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithPemEncoded:(NSString * _Nonnull)pemString error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithPemNamed:(NSString * _Nonnull)pemName in:(NSBundle * _Nonnull)bundle error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithDerNamed:(NSString * _Nonnull)derName in:(NSBundle * _Nonnull)bundle error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS_NAMED("_objc_HVPublicKey")
@interface HVPublicKey : NSObject
@property (nonatomic, readonly) SecKeyRef _Nonnull reference;
@property (nonatomic, readonly, copy) NSData * _Nullable originalData;
- (NSString * _Nullable)pemStringAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (NSData * _Nullable)dataAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nullable)base64StringAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (nullable instancetype)initWithData:(NSData * _Nonnull)data error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithReference:(SecKeyRef _Nonnull)reference error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithBase64Encoded:(NSString * _Nonnull)base64String error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithPemEncoded:(NSString * _Nonnull)pemString error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithPemNamed:(NSString * _Nonnull)pemName in:(NSBundle * _Nonnull)bundle error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithDerNamed:(NSString * _Nonnull)derName in:(NSBundle * _Nonnull)bundle error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
+ (NSArray<HVPublicKey *> * _Nonnull)publicKeysWithPemEncoded:(NSString * _Nonnull)pemString SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


SWIFT_CLASS_NAMED("_objc_HVSignature")
@interface HVSignature : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull base64String;
@property (nonatomic, readonly, copy) NSData * _Nonnull data;
- (nonnull instancetype)initWithData:(NSData * _Nonnull)data OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithBase64Encoded:(NSString * _Nonnull)base64String error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

typedef SWIFT_ENUM(NSInteger, HVDigestType, open) {
  HVDigestTypeSha1 = 0,
  HVDigestTypeSha224 = 1,
  HVDigestTypeSha256 = 2,
  HVDigestTypeSha384 = 3,
  HVDigestTypeSha512 = 4,
};


SWIFT_CLASS_NAMED("_objc_HVSwiftyRSA")
@interface HVSwiftyRSA : NSObject
+ (HVKeyPair * _Nullable)generateRSAKeyPairWithSizeInBits:(NSInteger)size error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(tvos,introduced=10.0) SWIFT_AVAILABILITY(watchos,introduced=3.0) SWIFT_AVAILABILITY(ios,introduced=10.0);
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS_NAMED("_objc_HVVerificationResult")
@interface HVVerificationResult : NSObject
@property (nonatomic, readonly) BOOL isSuccessful;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif

#else
#error unsupported Swift architecture
#endif
