#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
#ifndef GAMEBASE_SWIFT_H
#define GAMEBASE_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)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
#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
#pragma clang diagnostic pop
#endif

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
typedef unsigned char char8_t;
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 CommonCrypto;
@import CoreFoundation;
@import Foundation;
@import ObjectiveC;
@import UIKit;
#endif

#import <Gamebase/Gamebase.h>

#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"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"

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

#if defined(__OBJC__)

@class NSString;
SWIFT_CLASS_NAMED("TCGBAuthAdapterAdditionalInfo")
@interface TCGBAuthAdapterAdditionalInfo : NSObject
- (nullable instancetype)initWithInfo:(NSDictionary<NSString *, id> * _Nonnull)info OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_PROTOCOL("_TtP8Gamebase23TCGBAuthAdapterSettings_")
@protocol TCGBAuthAdapterSettings
@optional
/// A function in the authentication adapter that initializes the adapter or external SDK based on AdditionalInfo.
/// \param adapterAdditionalInfo Additional information obtained from the Gamebase Console or provided by the user.
///
///
/// returns:
/// Success status of external SDK initialization.
- (BOOL)setupExternalSDK:(TCGBAuthAdapterAdditionalInfo * _Nonnull)adapterAdditionalInfo;
@end

/// The TCGBAuthInfo class indicates already mapped provider list and several information toward logged-in account. This is dictinoary formmated.
SWIFT_CLASS("_TtC8Gamebase12TCGBAuthInfo")
@interface TCGBAuthInfo : NSObject
@property (nonatomic, readonly) NSInteger regDate;
@property (nonatomic, readonly, copy) NSString * _Nonnull authSystem;
@property (nonatomic, readonly, copy) NSString * _Nonnull idPCode;
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
@property (nonatomic, readonly, copy) NSString * _Nonnull authKey;
@end

@interface TCGBAuthInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class UIViewController;
@class TCGBProviderAuthCredential;
@class TCGBError;
/// Login parameter class to be passed from Gamebase Adapter to Gamebase.
SWIFT_CLASS("_TtC8Gamebase22TCGBAuthLoginParameter")
@interface TCGBAuthLoginParameter : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull idPType;
@property (nonatomic, readonly, strong) UIViewController * _Nonnull viewController;
@property (nonatomic, readonly, copy) void (^ _Nonnull completion)(TCGBProviderAuthCredential * _Nullable, TCGBError * _Nullable);
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

/// Logout parameter class to be passed from Gamebase Adapter to Gamebase.
SWIFT_CLASS("_TtC8Gamebase23TCGBAuthLogoutParameter")
@interface TCGBAuthLogoutParameter : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull idPType;
@property (nonatomic, readonly, copy) void (^ _Nonnull completion)(TCGBError * _Nullable);
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@protocol NSCopying;
@class NSCoder;
/// The TCGBAuthMappingInfo class indicates already mapped provider list and several information toward logged-in account. This is dictinoary formmated.
SWIFT_CLASS("_TtC8Gamebase19TCGBAuthMappingInfo") SWIFT_DEPRECATED_MSG("This class will be removed in the future.")
@interface TCGBAuthMappingInfo : NSDictionary
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithObjects:(id _Nonnull const * _Nullable)objects forKeys:(id <NSCopying> _Nonnull const * _Nullable)keys count:(NSUInteger)cnt OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBAuthMappingInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBProviderAuthProfile;
@class TCGBProviderAuthExtra;
/// 사용자한테 전달할 IdP 프로필 정보
SWIFT_CLASS("_TtC8Gamebase23TCGBAuthProviderProfile")
@interface TCGBAuthProviderProfile : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable userID;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable information;
- (nonnull instancetype)initWithUserID:(NSString * _Nullable)userID information:(NSDictionary<NSString *, id> * _Nullable)information OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithProfile:(TCGBProviderAuthProfile * _Nullable)profile extra:(TCGBProviderAuthExtra * _Nullable)extra;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBAuthProviderProfile (SWIFT_EXTENSION(Gamebase))
+ (TCGBAuthProviderProfile * _Nonnull)authProviderProfileWithUserID:(NSString * _Nullable)userID information:(NSDictionary<NSString *, id> * _Nullable)information SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use 'init(userID:information:)' instead.");
@end

@interface TCGBAuthProviderProfile (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBToken;
@class TCGBMember;
/// The TCGBAuthToken represents an authenticated token and user information for using TCGB services.
SWIFT_CLASS("_TtC8Gamebase13TCGBAuthToken")
@interface TCGBAuthToken : NSObject
/// TCGB Token information
@property (nonatomic, readonly, strong) TCGBToken * _Nullable tcgbToken;
/// TCGB User information
@property (nonatomic, readonly, strong) TCGBMember * _Nonnull tcgbMember;
/// Mapped ID Provider List
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable mappingAuthList;
@end

@interface TCGBAuthToken (SWIFT_EXTENSION(Gamebase))
+ (TCGBAuthToken * _Nullable)authTokenFromTCGBServerWithResponsed:(NSDictionary<NSString *, id> * _Nonnull)response SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
+ (TCGBAuthToken * _Nullable)tcgbAuthTokenWithJSONObject:(NSDictionary<NSString *, id> * _Nonnull)jsonObject SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
- (NSString * _Nonnull)JSONString SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use 'jsonString' instead.", "jsonString");
@end

@interface TCGBAuthToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class NSData;
SWIFT_CLASS("_TtC8Gamebase12TCGBCryption")
@interface TCGBCryption : NSObject
+ (NSData * _Nonnull)PBKDF2HashWithPrf:(CCPseudoRandomAlgorithm)prf password:(NSString * _Nonnull)password salt:(NSData * _Nonnull)salt iteration:(NSInteger)iteration derivedKeyLen:(NSInteger)derivedKeyLen SWIFT_WARN_UNUSED_RESULT;
+ (NSData * _Nullable)AES256WithOperation:(CCOperation)operation target:(NSData * _Nonnull)target key:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class UIColor;
SWIFT_CLASS("_TtC8Gamebase23TCGBCustomNavigationBar")
@interface TCGBCustomNavigationBar : UIView
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
- (nonnull instancetype)initWithTintColor:(UIColor * _Nullable)tintColor;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)setTitleWithTitle:(NSString * _Nullable)title;
- (void)setBackButtonWithTcgbImagePath:(NSString * _Nonnull)tcgbImagePath defaultSystemItem:(UIBarButtonSystemItem)defaultSystemItem tintColor:(UIColor * _Nullable)tintColor target:(id _Nullable)target action:(SEL _Nullable)action;
- (void)setCloseButtonWithTcgbImagePath:(NSString * _Nonnull)tcgbImagePath defaultSystemItem:(UIBarButtonSystemItem)defaultSystemItem tintColor:(UIColor * _Nullable)tintColor target:(id _Nullable)target action:(SEL _Nullable)action;
- (void)hideBackButton:(BOOL)isHidden;
- (void)setNavigationBarHeight:(CGFloat)height;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

SWIFT_CLASS("_TtC8Gamebase27TCGBExternalPaymentPlatform")
@interface TCGBExternalPaymentPlatform : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
@property (nonatomic, readonly, copy) NSString * _Nonnull serviceId;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBExternalPaymentPlatform (SWIFT_EXTENSION(Gamebase))
@property (nonatomic, readonly) BOOL isPayChorusPayment;
@end

@interface TCGBExternalPaymentPlatform (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase27TCGBGameNoticeConfiguration")
@interface TCGBGameNoticeConfiguration : NSObject
@property (nonatomic, copy) NSArray<NSString *> * _Nullable categoryNames;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBGameNoticeConfiguration (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase18TCGBGameNoticeInfo")
@interface TCGBGameNoticeInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull url;
@property (nonatomic, readonly) int64_t latestNoticeTimeMillis;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBGameNoticeInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBPaymentStatus;
@class TCGBReleaseRuleCondition;
/// The TCGBGraceBanInfo class have information about grace ban.
SWIFT_CLASS("_TtC8Gamebase16TCGBGraceBanInfo")
@interface TCGBGraceBanInfo : NSObject
/// Grace period expiration date (epoch time in milliseconds)
/// If the payment conditions set before the period are satisfied, user’s ban will be released.
@property (nonatomic, readonly) NSInteger gracePeriodDate;
/// Message about grace ban (Encoded string)
@property (nonatomic, readonly, copy) NSString * _Nonnull message;
/// Current payment status
@property (nonatomic, readonly, strong) TCGBPaymentStatus * _Nullable paymentStatus;
/// Payment condition to release ban.
@property (nonatomic, readonly, strong) TCGBReleaseRuleCondition * _Nullable releaseRuleCondition;
@end

@interface TCGBGraceBanInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// TCGBLocalConfiguration has several information that is in the config.plist in Gamebase.bundle.
SWIFT_CLASS("_TtC8Gamebase22TCGBLocalConfiguration")
@interface TCGBLocalConfiguration : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull ServerAPIVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull SDKVersion;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSArray<NSString *> *> * _Nonnull serverURLs;
@property (nonatomic, readonly, copy) NSString * _Nonnull networkReachabilityTargetHostName;
@property (nonatomic, readonly) NSInteger webSocketTimeout;
@property (nonatomic, readonly) double webSocketReadTimeout;
@property (nonatomic, readonly) NSInteger webSocketMaxRetryCount;
@property (nonatomic, readonly) double webSocketRetryInterval;
@property (nonatomic, readonly) NSInteger heartbeatInterval;
@property (nonatomic, readonly) NSInteger launchingSchedule;
@property (nonatomic, readonly) double delayForViewHierarchy;
@property (nonatomic, readonly) NSInteger launchingExpireTime;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull openURLList;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeCode;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull identityProviderAuthKey;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBLocalConfiguration (SWIFT_EXTENSION(Gamebase))
- (NSArray<NSString *> * _Nullable)serverURLListWithZone:(NSString * _Nonnull)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBLocalConfiguration (SWIFT_EXTENSION(Gamebase))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) TCGBLocalConfiguration * _Nonnull sharedConfig;)
+ (TCGBLocalConfiguration * _Nonnull)sharedConfig SWIFT_WARN_UNUSED_RESULT;
@end

enum TCGBLoggerLevel : NSInteger;
SWIFT_CLASS_NAMED("TCGBLog")
@interface TCGBLog : NSObject
/// Creates an instance of the TCGBLog.
/// \param level TCGBLoggerLevel
///
/// \param type log type
///
/// \param message message to send
///
/// \param userFields Additional fields to send when sending logs.
///
- (nonnull instancetype)initWithLevel:(enum TCGBLoggerLevel)level type:(NSString * _Nonnull)type message:(NSString * _Nonnull)message userFields:(NSDictionary<NSString *, NSString *> * _Nullable)userFields;
+ (TCGBLog * _Nonnull)logWithLevel:(enum TCGBLoggerLevel)level type:(NSString * _Nonnull)type message:(NSString * _Nonnull)message userFields:(NSDictionary<NSString *, NSString *> * _Nullable)userFields SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `init(level:type:message:userFields:)` instead.");
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@class NSNumber;
@interface TCGBLog (SWIFT_EXTENSION(Gamebase))
- (NSString * _Nonnull)transactionID SWIFT_WARN_UNUSED_RESULT;
- (enum TCGBLoggerLevel)level SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)type SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)message SWIFT_WARN_UNUSED_RESULT;
- (NSNumber * _Nonnull)createTime SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, NSString *> * _Nullable)userFields SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS_NAMED("TCGBLogFilter")
@interface TCGBLogFilter : NSObject
/// Gets name of filter class.
///
/// returns:
/// The name of filter class
- (NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_CLASS_NAMED("TCGBLoggerConfiguration")
@interface TCGBLoggerConfiguration : NSObject
- (nonnull instancetype)initWithAppKey:(NSString * _Nonnull)appKey;
- (nonnull instancetype)initWithAppKey:(NSString * _Nonnull)appKey enableCrashReporter:(BOOL)enableCrashReporter;
+ (nonnull instancetype)configurationWithAppKey:(NSString * _Nonnull)appKey SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)configurationWithAppKey:(NSString * _Nonnull)appKey enableCrashReporter:(BOOL)enableCrashReporter SWIFT_WARN_UNUSED_RESULT;
- (void)setServiceZone:(NSString * _Nonnull)serviceZone;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_PROTOCOL("_TtP8Gamebase18TCGBLoggerDelegate_")
@protocol TCGBLoggerDelegate <NSObject>
@optional
- (void)tcgbLogDidSuccess:(TCGBLog * _Nonnull)log;
- (void)tcgbLogDidFail:(TCGBLog * _Nonnull)log error:(TCGBError * _Nonnull)error;
- (void)tcgbLogDidSave:(TCGBLog * _Nonnull)log;
- (void)tcgbLogDidFilter:(TCGBLog * _Nonnull)log logFilter:(TCGBLogFilter * _Nonnull)logFilter;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TCGBLoggerLevel, "TCGBLoggerLevel", open) {
  TCGBLoggerLevel_DEBUG SWIFT_COMPILE_NAME("debug") = 0,
  TCGBLoggerLevel_INFO SWIFT_COMPILE_NAME("info") = 1,
  TCGBLoggerLevel_WARN SWIFT_COMPILE_NAME("warn") = 2,
  TCGBLoggerLevel_ERROR SWIFT_COMPILE_NAME("error") = 3,
  TCGBLoggerLevel_FATAL SWIFT_COMPILE_NAME("fatal") = 4,
};

@class TCGBTemporaryWithdrawalInfo;
/// The TCGBMember has user information who logged in.
SWIFT_CLASS("_TtC8Gamebase10TCGBMember")
@interface TCGBMember : NSObject
/// User ID
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
/// Notify wheter this user is valid or not
@property (nonatomic, readonly, copy) NSString * _Nonnull valid;
/// Application ID
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
/// Registered Date
@property (nonatomic, readonly) NSInteger regDate;
/// Mapped provider list and information
@property (nonatomic, copy) NSArray<TCGBAuthInfo *> * _Nullable authList;
/// Temporary withdrawal information
@property (nonatomic, readonly, strong) TCGBTemporaryWithdrawalInfo * _Nullable temporaryWithdrawal;
/// Grace ban information
@property (nonatomic, readonly, strong) TCGBGraceBanInfo * _Nullable graceBanInfo;
@end

@interface TCGBMember (SWIFT_EXTENSION(Gamebase))
+ (TCGBMember * _Nullable)memberFromTCGBServerWithResponsed:(NSDictionary<NSString *, id> * _Nonnull)response SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
@end

@interface TCGBMember (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBPaymentStatus class have information about current payment status.
SWIFT_CLASS("_TtC8Gamebase17TCGBPaymentStatus")
@interface TCGBPaymentStatus : NSObject
/// Amount paid
@property (nonatomic, readonly) double amount;
/// Number of payment
@property (nonatomic, readonly) NSInteger count;
/// Currency
@property (nonatomic, readonly, copy) NSString * _Nonnull currency;
@end

@interface TCGBPaymentStatus (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBProviderAuthToken;
/// The TCGBProviderAuthCredential represents an authenticated token and user information.
/// This is an identify provider’s information, not TCGB’s.
SWIFT_CLASS("_TtC8Gamebase26TCGBProviderAuthCredential")
@interface TCGBProviderAuthCredential : NSObject
@property (nonatomic, readonly, strong) TCGBProviderAuthToken * _Nullable authToken;
@property (nonatomic, strong) TCGBProviderAuthProfile * _Nullable authProfile;
@property (nonatomic, readonly, strong) TCGBProviderAuthExtra * _Nullable authExtra;
- (nonnull instancetype)initWithAuthToken:(TCGBProviderAuthToken * _Nullable)authToken authProfile:(TCGBProviderAuthProfile * _Nullable)authProfile authExtra:(TCGBProviderAuthExtra * _Nullable)authExtra OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithCredentialInfo:(NSDictionary<NSString *, id> * _Nonnull)credentialInfo;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthCredential (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthCredential (SWIFT_EXTENSION(Gamebase))
@property (nonatomic, readonly) BOOL isCustomAuthType;
@end

SWIFT_CLASS("_TtC8Gamebase21TCGBProviderAuthExtra")
@interface TCGBProviderAuthExtra : NSObject
@property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extra;
@property (nonatomic, copy) NSString * _Nullable clientId;
- (nonnull instancetype)initWithExtraDict:(NSDictionary<NSString *, id> * _Nonnull)extraDict OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthExtra (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

/// Auth Adapter에서 로그인 후 IdP 프로필 정보를 Core로 전달할 때 사용
SWIFT_CLASS("_TtC8Gamebase23TCGBProviderAuthProfile")
@interface TCGBProviderAuthProfile : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable userID;
@property (nonatomic, readonly, copy) NSString * _Nullable name;
@property (nonatomic, readonly, copy) NSString * _Nullable email;
@property (nonatomic, readonly, copy) NSString * _Nullable profileImageURL;
- (nonnull instancetype)initWithUserID:(NSString * _Nullable)userID name:(NSString * _Nullable)name email:(NSString * _Nullable)email profileImageURL:(NSString * _Nullable)profileImageURL OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthProfile (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthProfile (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@end

SWIFT_CLASS("_TtC8Gamebase21TCGBProviderAuthToken")
@interface TCGBProviderAuthToken : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable accessToken;
@property (nonatomic, readonly, copy) NSString * _Nullable accessTokenSecret;
@property (nonatomic, readonly, copy) NSString * _Nullable session;
@property (nonatomic, readonly, copy) NSString * _Nullable refreshToken;
@property (nonatomic, readonly, copy) NSString * _Nullable thirdIdPCode;
@property (nonatomic, readonly, copy) NSString * _Nullable subCode;
@property (nonatomic, readonly, copy) NSString * _Nullable codeVerifier;
@property (nonatomic, readonly, copy) NSString * _Nullable authorizationCode;
@property (nonatomic, readonly, copy) NSString * _Nullable authorizationProtocol;
@property (nonatomic, copy) NSString * _Nullable profileApiVersion;
- (nonnull instancetype)initWithAccessToken:(NSString * _Nullable)accessToken accessTokenSecret:(NSString * _Nullable)accessTokenSecret refreshToken:(NSString * _Nullable)refreshToken expirationTime:(NSInteger)expirationTime isCustomAuthType:(BOOL)isCustomAuthType subCode:(NSString * _Nullable)subCode authorizationProtocol:(NSString * _Nullable)authorizationProtocol;
- (nonnull instancetype)initWithSession:(NSString * _Nullable)session subCode:(NSString * _Nullable)subCode authorizationProtocol:(NSString * _Nullable)authorizationProtocol;
- (nonnull instancetype)initWithAuthorizationCode:(NSString * _Nullable)authorizationCode codeVerifier:(NSString * _Nullable)codeVerifier thirdIdPCode:(NSString * _Nullable)thirdIdPCode subCode:(NSString * _Nullable)subCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthToken (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBPurchaseInitializeContext;
@class TCGBPurchaseConsoleProductListResult;
@class TCGBPurchasableItem;
@class TCGBPurchasableReceipt;
@class TCGBPurchaseConsoleProduct;
@class TCGBPurchasableConfiguration;
@class TCGBPurchasableRetryTransactionResult;
@protocol TCGBPurchasePendingDelegate;
@class UIApplication;
@class NSURL;
@class UIScene;
@class UIOpenURLContext;
SWIFT_PROTOCOL_NAMED("TCGBPurchasable")
@protocol TCGBPurchasable <NSObject>
- (void)initializeWithContext:(TCGBPurchaseInitializeContext * _Nonnull)context completion:(void (^ _Nonnull)(TCGBError * _Nullable))completion;
@optional
- (void)setUserId:(NSString * _Nullable)userId;
- (void)setDebugMode:(BOOL)debugMode;
@required
- (void)requestPurchasableItemListWithConsoleProductListResult:(TCGBPurchaseConsoleProductListResult * _Nonnull)consoleProductListResult completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableItem *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestPurchasableItemListAtIAPConsoleWithConsoleProductListResult:(TCGBPurchaseConsoleProductListResult * _Nonnull)consoleProductListResult completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableItem *> * _Nullable, TCGBError * _Nullable))completion SWIFT_DEPRECATED_MSG("This will be removed in the future.");
- (void)requestPurchaseWithItemSeq:(NSInteger)itemSeq gamebasePayload:(NSString * _Nullable)gamebasePayload viewController:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(TCGBPurchasableReceipt * _Nullable, TCGBError * _Nullable))completion;
- (void)requestPurchaseWithConsoleProduct:(TCGBPurchaseConsoleProduct * _Nonnull)consoleProduct payload:(NSString * _Nullable)payload gamebasePayload:(NSString * _Nullable)gamebasePayload viewController:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(TCGBPurchasableReceipt * _Nullable, TCGBError * _Nullable))completion;
- (void)requestItemListOfNotConsumedWithConfiguration:(TCGBPurchasableConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestRetryTransactionWithCompletion:(void (^ _Nonnull)(TCGBPurchasableRetryTransactionResult * _Nullable, TCGBError * _Nullable))completion;
- (void)requestActivatedPurchasesWithConfiguration:(TCGBPurchasableConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestRestoreWithCompletion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
+ (NSString * _Nonnull)versionString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, weak) id <TCGBPurchasePendingDelegate> _Nullable pendingDelegate;
@optional
- (BOOL)application:(UIApplication * _Nonnull)app open:(NSURL * _Nonnull)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> * _Nonnull)options SWIFT_WARN_UNUSED_RESULT;
- (void)scene:(UIScene * _Nonnull)scene openURLContexts:(NSSet<UIOpenURLContext *> * _Nonnull)URLContexts;
@end

SWIFT_CLASS("_TtC8Gamebase26TCGBPurchaseConsoleProduct")
@interface TCGBPurchaseConsoleProduct : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull marketItemId;
@property (nonatomic, readonly, copy) NSString * _Nonnull gamebaseProductId;
@property (nonatomic, readonly, copy) NSString * _Nonnull gamebaseProductName;
@property (nonatomic, readonly) BOOL isActive;
@property (nonatomic, readonly, copy) NSString * _Nullable paymentProductId;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProduct (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase36TCGBPurchaseConsoleProductListResult")
@interface TCGBPurchaseConsoleProductListResult : NSObject
@property (nonatomic, readonly, copy) NSArray<TCGBPurchaseConsoleProduct *> * _Nonnull products;
@property (nonatomic, readonly, copy) NSArray<TCGBPurchaseConsoleProduct *> * _Nonnull invalidProducts;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProductListResult (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase32TCGBPurchaseConsoleProductResult")
@interface TCGBPurchaseConsoleProductResult : NSObject
@property (nonatomic, readonly, strong) TCGBPurchaseConsoleProduct * _Nonnull product;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProductResult (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase29TCGBPurchaseInitializeContext")
@interface TCGBPurchaseInitializeContext : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
@property (nonatomic, readonly, copy) NSString * _Nonnull zoneType;
@property (nonatomic, readonly) BOOL isSandbox;
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
@property (nonatomic, readonly, copy) NSString * _Nullable forceURL;
@property (nonatomic, readonly) BOOL debugMode;
@property (nonatomic, readonly, strong) TCGBExternalPaymentPlatform * _Nullable externalPaymentPlatform;
- (nonnull instancetype)initWithAppId:(NSString * _Nonnull)appId zoneType:(NSString * _Nonnull)zoneType isSandbox:(BOOL)isSandbox userId:(NSString * _Nonnull)userId forceURL:(NSString * _Nullable)forceURL debugMode:(BOOL)debugMode externalPaymentPlatform:(TCGBExternalPaymentPlatform * _Nullable)externalPaymentPlatform OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@class TCGBPushConfiguration;
@class TCGBNotificationOptions;
@class TCGBPushTokenInfo;
/// The protocol TCGBPushable is for developing Push Adapter.
SWIFT_PROTOCOL_NAMED("TCGBPushable")
@protocol TCGBPushable <NSObject>
- (void)setDelegate;
- (void)setSandboxMode:(BOOL)sandboxMode;
- (void)setupWithAppKey:(NSString * _Nonnull)appKey serviceZone:(NSString * _Nonnull)serviceZone userID:(NSString * _Nonnull)userID displayLanguageCode:(NSString * _Nonnull)gamebaseDisplayLanguageCode configuration:(TCGBPushConfiguration * _Nullable)configuration notificationOptions:(TCGBNotificationOptions * _Nullable)notificationOptions;
- (void)registerPushWithConfiguration:(TCGBPushConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(TCGBError * _Nullable))completion;
- (void)queryPushWithCompletion:(void (^ _Nonnull)(TCGBPushConfiguration * _Nullable, TCGBError * _Nullable))completion;
- (void)queryTokenInfoWithCompletion:(void (^ _Nonnull)(TCGBPushTokenInfo * _Nullable, TCGBError * _Nullable))completion;
- (TCGBNotificationOptions * _Nullable)notificationOptions SWIFT_WARN_UNUSED_RESULT;
- (void)queryNotificationAllowedWithCompletion:(void (^ _Nonnull)(BOOL, TCGBError * _Nullable))completion;
+ (NSString * _Nonnull)versionString SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBReleaseRuleCondition class have information about payment condition to release ban.
SWIFT_CLASS("_TtC8Gamebase24TCGBReleaseRuleCondition")
@interface TCGBReleaseRuleCondition : NSObject
/// Amount to be paid
@property (nonatomic, readonly) double amount;
/// Number of payment required
@property (nonatomic, readonly) NSInteger count;
/// Currency
@property (nonatomic, readonly, copy) NSString * _Nonnull currency;
/// Condition for amount and count (“AND” / “OR”)
@property (nonatomic, readonly, copy) NSString * _Nonnull conditionType;
@end

@interface TCGBReleaseRuleCondition (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase13TCGBStability")
@interface TCGBStability : NSObject
@property (nonatomic, readonly) BOOL useFlag;
@property (nonatomic, readonly) BOOL useFlagSpecificUser;
@property (nonatomic, readonly, copy) NSString * _Nonnull logLevel;
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
@property (nonatomic, readonly) NSInteger appKeyVersion;
@property (nonatomic, readonly) NSInteger initFailCount;
- (NSInteger)initFailCount SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBStability (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase18TCGBTcIapStoreInfo")
@interface TCGBTcIapStoreInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull id;
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeAppId;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeCode;
@property (nonatomic, readonly, strong) TCGBExternalPaymentPlatform * _Nullable externalPaymentPlatform;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcIapStoreInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBTcProductCommonInfo;
@class TCGBTcProductIapInfo;
SWIFT_CLASS("_TtC8Gamebase13TCGBTcProduct")
@interface TCGBTcProduct : NSObject
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable gamebase;
@property (nonatomic, readonly, strong) TCGBTcProductIapInfo * _Nullable iap;
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable leaderboard;
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable push;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProduct (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase23TCGBTcProductCommonInfo")
@interface TCGBTcProductCommonInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProductCommonInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase20TCGBTcProductIapInfo")
@interface TCGBTcProductIapInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
@property (nonatomic, readonly, copy) NSString * _Nonnull url;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProductIapInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBTemporaryWithdrawalInfo class has information about pending withdrawal.
SWIFT_CLASS("_TtC8Gamebase27TCGBTemporaryWithdrawalInfo")
@interface TCGBTemporaryWithdrawalInfo : NSObject
/// grace period (epoch time in milliseconds)
@property (nonatomic, readonly) NSInteger gracePeriodDate;
@end

@interface TCGBTemporaryWithdrawalInfo (SWIFT_EXTENSION(Gamebase))
- (NSDictionary<NSString *, id> * _Nonnull)JSONObject SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `dictionary` instead.", "dictionary");
- (NSString * _Nonnull)JSONString SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `jsonString` instead.", "jsonString");
@end

@interface TCGBTemporaryWithdrawalInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase16TCGBTermsContent")
@interface TCGBTermsContent : NSObject
@property (nonatomic, readonly) NSInteger termsContentSeq;
@property (nonatomic, readonly) BOOL agreed;
- (nonnull instancetype)initWithTermsContentSeq:(NSInteger)termsContentSeq agreed:(BOOL)agreed OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
+ (TCGBTermsContent * _Nonnull)termsContentWithTermsContentSeq:(NSInteger)termsContentSeq agreed:(BOOL)agreed SWIFT_WARN_UNUSED_RESULT;
+ (TCGBTermsContent * _Nonnull)termsContentWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTermsContent (SWIFT_EXTENSION(Gamebase))
- (NSDictionary<NSString *, id> * _Nonnull)dictionaryWithContent SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use dictionary() instead", "dictionary");
@end

@interface TCGBTermsContent (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBToken class have access token and access token secret.
SWIFT_CLASS("_TtC8Gamebase9TCGBToken")
@interface TCGBToken : NSObject
/// Access Token
@property (nonatomic, readonly, copy) NSString * _Nonnull accessToken;
/// Access Token Secret
@property (nonatomic, readonly, copy) NSString * _Nullable accessTokenSecret;
@end

@interface TCGBToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS_NAMED("TCGBUtilSwift")
@interface OBJC_TCGBUtilSwift : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
/// Convert Json String to Dictionary.
/// \param jsonString json string to change to dictionary.
///
///
/// returns:
/// Returns an object converted from json string to dictionary.
+ (NSDictionary<NSString *, id> * _Nullable)dictionaryFrom:(NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
+ (NSString * _Nullable)URLEncodedString:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
+ (NSDictionary<NSString *, NSString *> * _Nonnull)queryDictionaryWithQueryString:(NSString * _Nonnull)queryString SWIFT_WARN_UNUSED_RESULT;
+ (NSDictionary<NSString *, NSString *> * _Nonnull)queryDictionaryWithURL:(NSURL * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
+ (UIViewController * _Nullable)topMostViewController SWIFT_WARN_UNUSED_RESULT;
@end

enum TCGBWebViewStyle : NSInteger;
enum TCGBWebViewContent : NSInteger;
@protocol TCGBWebViewDelegate;
SWIFT_CLASS("_TtC8Gamebase24TCGBWebViewConfiguration")
@interface TCGBWebViewConfiguration : NSObject
/// Launching Style.
/// note:
/// Default value is a TCGBWebViewStyle.launchFullScreen.
@property (nonatomic) enum TCGBWebViewStyle style;
/// Content Mode.
/// note:
/// Default value is a TCGBWebViewContentMode.recommended.
@property (nonatomic) enum TCGBWebViewContent contentMode;
/// Navigation Bar Height.
/// Only used in full screen style.
/// note:
/// Default value is 54.
@property (nonatomic) CGFloat navigationBarHeight;
/// Navigation Bar Color.
/// Only used in full screen style.
/// note:
/// Default value is #125DE6FF.
@property (nonatomic, strong) UIColor * _Nonnull navigationBarColor;
/// Navigation Bar Title.
/// Only used in full screen style.
/// note:
/// Default value is nil. If no value is set, the navigationBarTitle of the webView will be set to HTML document’s title. If a value is set, that value will be displayed.
@property (nonatomic, copy) NSString * _Nullable navigationBarTitle;
/// Navigation Bar Title Color.
/// Only used in full screen style.
/// note:
/// Default value is UIColor.white.
@property (nonatomic, strong) UIColor * _Nonnull navigationBarTitleColor;
/// Navigation Bar Tint Color.
/// Only used in full screen style.
/// note:
/// Default value is nil. If a value is set, it changes the tintColor of the navigationBar, affecting elements such as the close button or back button.
@property (nonatomic, strong) UIColor * _Nullable navigationBarIconTintColor;
/// note:
/// Default value is true. It is only used in FullScreen Style.
@property (nonatomic) BOOL isNavigationBarVisible;
/// note:
/// Default value is true.
@property (nonatomic) BOOL isBackButtonVisible;
/// Close Image Path.
/// Only used in full screen style.
/// note:
/// Default value is “gamebase-cancel-white-72.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull closeImagePathForFullScreenNavigation;
/// Back Button Image Path.
/// Only used in full screen style.
/// note:
/// Default value is “gamebase-goback-white-72.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull goBackImagePathForFullScreenNavigation;
/// Background Mask View Color.
/// Only used in popup style.
/// note:
/// Default value is UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.55).
@property (nonatomic, strong) UIColor * _Nonnull backgroundColor;
/// Close Image Path.
/// Only used in popup style.
/// note:
/// Default value is “gamebase-cancel-circle-black-inverse.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull closeImagePathForPopup;
/// Offset of close button in Pop Up Style.
/// Base point is the right upper corner point.
/// note:
/// Default value is CGPoint.zero.
@property (nonatomic) CGPoint closeButtonOffsetInPopupStyle;
/// UIViewController Delegate.
/// It is used to delegate UIViewController’s methods such as viewDidLoad: viewWillLoad: viewDidDisappear: and etc.
@property (nonatomic, weak) id <TCGBWebViewDelegate> _Nullable delegate;
/// note:
/// Default value is NO. It is only used in FullScreen Style.
@property (nonatomic) BOOL isStatusBarVisible SWIFT_DEPRECATED_MSG("As of release 2.11.0.");
/// Alpha value of the background.
/// Only used in popup style.
/// note:
/// Default value is 0.55
/// warning:
/// This value should be between 0 and 1.
@property (nonatomic) CGFloat backgroundOpacity SWIFT_DEPRECATED_MSG("As of release 2.53.0.");
/// Orientation Mask.
/// note:
/// Default is a value that is converted to application’s orientation value toward TCGBWebViewOrientationMask bit mask.
@property (nonatomic) NSUInteger orientationMask SWIFT_DEPRECATED_MSG("As of release 2.66.0.");
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBWebViewConfiguration (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// Configure webview’s content mode.
/// TCGBWebViewContentMode represents the type of content to load.
typedef SWIFT_ENUM_NAMED(NSInteger, TCGBWebViewContent, "TCGBWebViewContentMode", open) {
/// Recommended content mode
/// Default value. The recommended content mode for the current platform.
  TCGBWebViewContentModeRecommended SWIFT_COMPILE_NAME("recommended") = 0,
/// Mobile browsers
/// Represents content targeting mobile browsers.
  TCGBWebViewContentModeMobile SWIFT_COMPILE_NAME("mobile") = 1,
/// Desktop browsers
/// Represents content targeting desktop browsers.
  TCGBWebViewContentModeDesktop SWIFT_COMPILE_NAME("desktop") = 2,
};

/// Configure webview’s orientation. It can be set by multiple value.
/// For example, “TCGBWebViewOrientationPortrait | TCGBWebViewOrientationPortraitUpsideDown” is available.
/// TCGBWebView process this value using bit mask operation.
typedef SWIFT_ENUM(NSInteger, TCGBWebViewOrientation, open) {
/// Unspecified
/// Default value, it is set by application’s orientation.
/// 0x0000, 0
  TCGBWebViewOrientationUnspecified SWIFT_COMPILE_NAME("unspecified") = 0,
/// Portrait
/// Default value, it is set by application’s orientation.
/// 0x0001, 1
  TCGBWebViewOrientationPortrait SWIFT_COMPILE_NAME("portrait") = 1,
/// Portrait UpsideDown
/// Default value, it is set by application’s orientation.
/// 0x0010, 2
  TCGBWebViewOrientationPortraitUpsideDown SWIFT_COMPILE_NAME("portraitUpsideDown") = 2,
/// Landscape Right
/// Default value, it is set by application’s orientation.
/// 0x0100, 4
  TCGBWebViewOrientationLandscapeRight SWIFT_COMPILE_NAME("landscapeRight") = 4,
/// Landscape Left
/// Default value, it is set by application’s orientation.
/// 0x1000, 8
  TCGBWebViewOrientationLandscapeLeft SWIFT_COMPILE_NAME("landscapeLeft") = 8,
};

/// These constants indicate the type of launch style such as popup, fullscreen.
typedef SWIFT_ENUM(NSInteger, TCGBWebViewStyle, open) {
/// PopUp Style.
  TCGBWebViewLaunchPopUp SWIFT_COMPILE_NAME("popup") = 0,
/// Full Screen Style.
  TCGBWebViewLaunchFullScreen SWIFT_COMPILE_NAME("launchFullScreen") = 1,
};

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

#elif defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
#ifndef GAMEBASE_SWIFT_H
#define GAMEBASE_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)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
#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
#pragma clang diagnostic pop
#endif

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
typedef unsigned char char8_t;
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 CommonCrypto;
@import CoreFoundation;
@import Foundation;
@import ObjectiveC;
@import UIKit;
#endif

#import <Gamebase/Gamebase.h>

#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"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"

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

#if defined(__OBJC__)

@class NSString;
SWIFT_CLASS_NAMED("TCGBAuthAdapterAdditionalInfo")
@interface TCGBAuthAdapterAdditionalInfo : NSObject
- (nullable instancetype)initWithInfo:(NSDictionary<NSString *, id> * _Nonnull)info OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_PROTOCOL("_TtP8Gamebase23TCGBAuthAdapterSettings_")
@protocol TCGBAuthAdapterSettings
@optional
/// A function in the authentication adapter that initializes the adapter or external SDK based on AdditionalInfo.
/// \param adapterAdditionalInfo Additional information obtained from the Gamebase Console or provided by the user.
///
///
/// returns:
/// Success status of external SDK initialization.
- (BOOL)setupExternalSDK:(TCGBAuthAdapterAdditionalInfo * _Nonnull)adapterAdditionalInfo;
@end

/// The TCGBAuthInfo class indicates already mapped provider list and several information toward logged-in account. This is dictinoary formmated.
SWIFT_CLASS("_TtC8Gamebase12TCGBAuthInfo")
@interface TCGBAuthInfo : NSObject
@property (nonatomic, readonly) NSInteger regDate;
@property (nonatomic, readonly, copy) NSString * _Nonnull authSystem;
@property (nonatomic, readonly, copy) NSString * _Nonnull idPCode;
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
@property (nonatomic, readonly, copy) NSString * _Nonnull authKey;
@end

@interface TCGBAuthInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class UIViewController;
@class TCGBProviderAuthCredential;
@class TCGBError;
/// Login parameter class to be passed from Gamebase Adapter to Gamebase.
SWIFT_CLASS("_TtC8Gamebase22TCGBAuthLoginParameter")
@interface TCGBAuthLoginParameter : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull idPType;
@property (nonatomic, readonly, strong) UIViewController * _Nonnull viewController;
@property (nonatomic, readonly, copy) void (^ _Nonnull completion)(TCGBProviderAuthCredential * _Nullable, TCGBError * _Nullable);
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

/// Logout parameter class to be passed from Gamebase Adapter to Gamebase.
SWIFT_CLASS("_TtC8Gamebase23TCGBAuthLogoutParameter")
@interface TCGBAuthLogoutParameter : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull idPType;
@property (nonatomic, readonly, copy) void (^ _Nonnull completion)(TCGBError * _Nullable);
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@protocol NSCopying;
@class NSCoder;
/// The TCGBAuthMappingInfo class indicates already mapped provider list and several information toward logged-in account. This is dictinoary formmated.
SWIFT_CLASS("_TtC8Gamebase19TCGBAuthMappingInfo") SWIFT_DEPRECATED_MSG("This class will be removed in the future.")
@interface TCGBAuthMappingInfo : NSDictionary
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithObjects:(id _Nonnull const * _Nullable)objects forKeys:(id <NSCopying> _Nonnull const * _Nullable)keys count:(NSUInteger)cnt OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBAuthMappingInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBProviderAuthProfile;
@class TCGBProviderAuthExtra;
/// 사용자한테 전달할 IdP 프로필 정보
SWIFT_CLASS("_TtC8Gamebase23TCGBAuthProviderProfile")
@interface TCGBAuthProviderProfile : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable userID;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable information;
- (nonnull instancetype)initWithUserID:(NSString * _Nullable)userID information:(NSDictionary<NSString *, id> * _Nullable)information OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithProfile:(TCGBProviderAuthProfile * _Nullable)profile extra:(TCGBProviderAuthExtra * _Nullable)extra;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBAuthProviderProfile (SWIFT_EXTENSION(Gamebase))
+ (TCGBAuthProviderProfile * _Nonnull)authProviderProfileWithUserID:(NSString * _Nullable)userID information:(NSDictionary<NSString *, id> * _Nullable)information SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use 'init(userID:information:)' instead.");
@end

@interface TCGBAuthProviderProfile (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBToken;
@class TCGBMember;
/// The TCGBAuthToken represents an authenticated token and user information for using TCGB services.
SWIFT_CLASS("_TtC8Gamebase13TCGBAuthToken")
@interface TCGBAuthToken : NSObject
/// TCGB Token information
@property (nonatomic, readonly, strong) TCGBToken * _Nullable tcgbToken;
/// TCGB User information
@property (nonatomic, readonly, strong) TCGBMember * _Nonnull tcgbMember;
/// Mapped ID Provider List
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable mappingAuthList;
@end

@interface TCGBAuthToken (SWIFT_EXTENSION(Gamebase))
+ (TCGBAuthToken * _Nullable)authTokenFromTCGBServerWithResponsed:(NSDictionary<NSString *, id> * _Nonnull)response SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
+ (TCGBAuthToken * _Nullable)tcgbAuthTokenWithJSONObject:(NSDictionary<NSString *, id> * _Nonnull)jsonObject SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
- (NSString * _Nonnull)JSONString SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use 'jsonString' instead.", "jsonString");
@end

@interface TCGBAuthToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class NSData;
SWIFT_CLASS("_TtC8Gamebase12TCGBCryption")
@interface TCGBCryption : NSObject
+ (NSData * _Nonnull)PBKDF2HashWithPrf:(CCPseudoRandomAlgorithm)prf password:(NSString * _Nonnull)password salt:(NSData * _Nonnull)salt iteration:(NSInteger)iteration derivedKeyLen:(NSInteger)derivedKeyLen SWIFT_WARN_UNUSED_RESULT;
+ (NSData * _Nullable)AES256WithOperation:(CCOperation)operation target:(NSData * _Nonnull)target key:(NSData * _Nonnull)key iv:(NSData * _Nonnull)iv SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class UIColor;
SWIFT_CLASS("_TtC8Gamebase23TCGBCustomNavigationBar")
@interface TCGBCustomNavigationBar : UIView
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
- (nonnull instancetype)initWithTintColor:(UIColor * _Nullable)tintColor;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)setTitleWithTitle:(NSString * _Nullable)title;
- (void)setBackButtonWithTcgbImagePath:(NSString * _Nonnull)tcgbImagePath defaultSystemItem:(UIBarButtonSystemItem)defaultSystemItem tintColor:(UIColor * _Nullable)tintColor target:(id _Nullable)target action:(SEL _Nullable)action;
- (void)setCloseButtonWithTcgbImagePath:(NSString * _Nonnull)tcgbImagePath defaultSystemItem:(UIBarButtonSystemItem)defaultSystemItem tintColor:(UIColor * _Nullable)tintColor target:(id _Nullable)target action:(SEL _Nullable)action;
- (void)hideBackButton:(BOOL)isHidden;
- (void)setNavigationBarHeight:(CGFloat)height;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

SWIFT_CLASS("_TtC8Gamebase27TCGBExternalPaymentPlatform")
@interface TCGBExternalPaymentPlatform : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
@property (nonatomic, readonly, copy) NSString * _Nonnull serviceId;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBExternalPaymentPlatform (SWIFT_EXTENSION(Gamebase))
@property (nonatomic, readonly) BOOL isPayChorusPayment;
@end

@interface TCGBExternalPaymentPlatform (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase27TCGBGameNoticeConfiguration")
@interface TCGBGameNoticeConfiguration : NSObject
@property (nonatomic, copy) NSArray<NSString *> * _Nullable categoryNames;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBGameNoticeConfiguration (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase18TCGBGameNoticeInfo")
@interface TCGBGameNoticeInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull url;
@property (nonatomic, readonly) int64_t latestNoticeTimeMillis;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBGameNoticeInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBPaymentStatus;
@class TCGBReleaseRuleCondition;
/// The TCGBGraceBanInfo class have information about grace ban.
SWIFT_CLASS("_TtC8Gamebase16TCGBGraceBanInfo")
@interface TCGBGraceBanInfo : NSObject
/// Grace period expiration date (epoch time in milliseconds)
/// If the payment conditions set before the period are satisfied, user’s ban will be released.
@property (nonatomic, readonly) NSInteger gracePeriodDate;
/// Message about grace ban (Encoded string)
@property (nonatomic, readonly, copy) NSString * _Nonnull message;
/// Current payment status
@property (nonatomic, readonly, strong) TCGBPaymentStatus * _Nullable paymentStatus;
/// Payment condition to release ban.
@property (nonatomic, readonly, strong) TCGBReleaseRuleCondition * _Nullable releaseRuleCondition;
@end

@interface TCGBGraceBanInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// TCGBLocalConfiguration has several information that is in the config.plist in Gamebase.bundle.
SWIFT_CLASS("_TtC8Gamebase22TCGBLocalConfiguration")
@interface TCGBLocalConfiguration : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull ServerAPIVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull SDKVersion;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSArray<NSString *> *> * _Nonnull serverURLs;
@property (nonatomic, readonly, copy) NSString * _Nonnull networkReachabilityTargetHostName;
@property (nonatomic, readonly) NSInteger webSocketTimeout;
@property (nonatomic, readonly) double webSocketReadTimeout;
@property (nonatomic, readonly) NSInteger webSocketMaxRetryCount;
@property (nonatomic, readonly) double webSocketRetryInterval;
@property (nonatomic, readonly) NSInteger heartbeatInterval;
@property (nonatomic, readonly) NSInteger launchingSchedule;
@property (nonatomic, readonly) double delayForViewHierarchy;
@property (nonatomic, readonly) NSInteger launchingExpireTime;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull openURLList;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeCode;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nonnull identityProviderAuthKey;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBLocalConfiguration (SWIFT_EXTENSION(Gamebase))
- (NSArray<NSString *> * _Nullable)serverURLListWithZone:(NSString * _Nonnull)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBLocalConfiguration (SWIFT_EXTENSION(Gamebase))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) TCGBLocalConfiguration * _Nonnull sharedConfig;)
+ (TCGBLocalConfiguration * _Nonnull)sharedConfig SWIFT_WARN_UNUSED_RESULT;
@end

enum TCGBLoggerLevel : NSInteger;
SWIFT_CLASS_NAMED("TCGBLog")
@interface TCGBLog : NSObject
/// Creates an instance of the TCGBLog.
/// \param level TCGBLoggerLevel
///
/// \param type log type
///
/// \param message message to send
///
/// \param userFields Additional fields to send when sending logs.
///
- (nonnull instancetype)initWithLevel:(enum TCGBLoggerLevel)level type:(NSString * _Nonnull)type message:(NSString * _Nonnull)message userFields:(NSDictionary<NSString *, NSString *> * _Nullable)userFields;
+ (TCGBLog * _Nonnull)logWithLevel:(enum TCGBLoggerLevel)level type:(NSString * _Nonnull)type message:(NSString * _Nonnull)message userFields:(NSDictionary<NSString *, NSString *> * _Nullable)userFields SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `init(level:type:message:userFields:)` instead.");
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@class NSNumber;
@interface TCGBLog (SWIFT_EXTENSION(Gamebase))
- (NSString * _Nonnull)transactionID SWIFT_WARN_UNUSED_RESULT;
- (enum TCGBLoggerLevel)level SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)type SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)message SWIFT_WARN_UNUSED_RESULT;
- (NSNumber * _Nonnull)createTime SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, NSString *> * _Nullable)userFields SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS_NAMED("TCGBLogFilter")
@interface TCGBLogFilter : NSObject
/// Gets name of filter class.
///
/// returns:
/// The name of filter class
- (NSString * _Nonnull)name SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_CLASS_NAMED("TCGBLoggerConfiguration")
@interface TCGBLoggerConfiguration : NSObject
- (nonnull instancetype)initWithAppKey:(NSString * _Nonnull)appKey;
- (nonnull instancetype)initWithAppKey:(NSString * _Nonnull)appKey enableCrashReporter:(BOOL)enableCrashReporter;
+ (nonnull instancetype)configurationWithAppKey:(NSString * _Nonnull)appKey SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)configurationWithAppKey:(NSString * _Nonnull)appKey enableCrashReporter:(BOOL)enableCrashReporter SWIFT_WARN_UNUSED_RESULT;
- (void)setServiceZone:(NSString * _Nonnull)serviceZone;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

SWIFT_PROTOCOL("_TtP8Gamebase18TCGBLoggerDelegate_")
@protocol TCGBLoggerDelegate <NSObject>
@optional
- (void)tcgbLogDidSuccess:(TCGBLog * _Nonnull)log;
- (void)tcgbLogDidFail:(TCGBLog * _Nonnull)log error:(TCGBError * _Nonnull)error;
- (void)tcgbLogDidSave:(TCGBLog * _Nonnull)log;
- (void)tcgbLogDidFilter:(TCGBLog * _Nonnull)log logFilter:(TCGBLogFilter * _Nonnull)logFilter;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TCGBLoggerLevel, "TCGBLoggerLevel", open) {
  TCGBLoggerLevel_DEBUG SWIFT_COMPILE_NAME("debug") = 0,
  TCGBLoggerLevel_INFO SWIFT_COMPILE_NAME("info") = 1,
  TCGBLoggerLevel_WARN SWIFT_COMPILE_NAME("warn") = 2,
  TCGBLoggerLevel_ERROR SWIFT_COMPILE_NAME("error") = 3,
  TCGBLoggerLevel_FATAL SWIFT_COMPILE_NAME("fatal") = 4,
};

@class TCGBTemporaryWithdrawalInfo;
/// The TCGBMember has user information who logged in.
SWIFT_CLASS("_TtC8Gamebase10TCGBMember")
@interface TCGBMember : NSObject
/// User ID
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
/// Notify wheter this user is valid or not
@property (nonatomic, readonly, copy) NSString * _Nonnull valid;
/// Application ID
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
/// Registered Date
@property (nonatomic, readonly) NSInteger regDate;
/// Mapped provider list and information
@property (nonatomic, copy) NSArray<TCGBAuthInfo *> * _Nullable authList;
/// Temporary withdrawal information
@property (nonatomic, readonly, strong) TCGBTemporaryWithdrawalInfo * _Nullable temporaryWithdrawal;
/// Grace ban information
@property (nonatomic, readonly, strong) TCGBGraceBanInfo * _Nullable graceBanInfo;
@end

@interface TCGBMember (SWIFT_EXTENSION(Gamebase))
+ (TCGBMember * _Nullable)memberFromTCGBServerWithResponsed:(NSDictionary<NSString *, id> * _Nonnull)response SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("This API will be removed in the future.");
@end

@interface TCGBMember (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBPaymentStatus class have information about current payment status.
SWIFT_CLASS("_TtC8Gamebase17TCGBPaymentStatus")
@interface TCGBPaymentStatus : NSObject
/// Amount paid
@property (nonatomic, readonly) double amount;
/// Number of payment
@property (nonatomic, readonly) NSInteger count;
/// Currency
@property (nonatomic, readonly, copy) NSString * _Nonnull currency;
@end

@interface TCGBPaymentStatus (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBProviderAuthToken;
/// The TCGBProviderAuthCredential represents an authenticated token and user information.
/// This is an identify provider’s information, not TCGB’s.
SWIFT_CLASS("_TtC8Gamebase26TCGBProviderAuthCredential")
@interface TCGBProviderAuthCredential : NSObject
@property (nonatomic, readonly, strong) TCGBProviderAuthToken * _Nullable authToken;
@property (nonatomic, strong) TCGBProviderAuthProfile * _Nullable authProfile;
@property (nonatomic, readonly, strong) TCGBProviderAuthExtra * _Nullable authExtra;
- (nonnull instancetype)initWithAuthToken:(TCGBProviderAuthToken * _Nullable)authToken authProfile:(TCGBProviderAuthProfile * _Nullable)authProfile authExtra:(TCGBProviderAuthExtra * _Nullable)authExtra OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithCredentialInfo:(NSDictionary<NSString *, id> * _Nonnull)credentialInfo;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthCredential (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthCredential (SWIFT_EXTENSION(Gamebase))
@property (nonatomic, readonly) BOOL isCustomAuthType;
@end

SWIFT_CLASS("_TtC8Gamebase21TCGBProviderAuthExtra")
@interface TCGBProviderAuthExtra : NSObject
@property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extra;
@property (nonatomic, copy) NSString * _Nullable clientId;
- (nonnull instancetype)initWithExtraDict:(NSDictionary<NSString *, id> * _Nonnull)extraDict OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthExtra (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

/// Auth Adapter에서 로그인 후 IdP 프로필 정보를 Core로 전달할 때 사용
SWIFT_CLASS("_TtC8Gamebase23TCGBProviderAuthProfile")
@interface TCGBProviderAuthProfile : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable userID;
@property (nonatomic, readonly, copy) NSString * _Nullable name;
@property (nonatomic, readonly, copy) NSString * _Nullable email;
@property (nonatomic, readonly, copy) NSString * _Nullable profileImageURL;
- (nonnull instancetype)initWithUserID:(NSString * _Nullable)userID name:(NSString * _Nullable)name email:(NSString * _Nullable)email profileImageURL:(NSString * _Nullable)profileImageURL OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthProfile (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthProfile (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@end

SWIFT_CLASS("_TtC8Gamebase21TCGBProviderAuthToken")
@interface TCGBProviderAuthToken : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable accessToken;
@property (nonatomic, readonly, copy) NSString * _Nullable accessTokenSecret;
@property (nonatomic, readonly, copy) NSString * _Nullable session;
@property (nonatomic, readonly, copy) NSString * _Nullable refreshToken;
@property (nonatomic, readonly, copy) NSString * _Nullable thirdIdPCode;
@property (nonatomic, readonly, copy) NSString * _Nullable subCode;
@property (nonatomic, readonly, copy) NSString * _Nullable codeVerifier;
@property (nonatomic, readonly, copy) NSString * _Nullable authorizationCode;
@property (nonatomic, readonly, copy) NSString * _Nullable authorizationProtocol;
@property (nonatomic, copy) NSString * _Nullable profileApiVersion;
- (nonnull instancetype)initWithAccessToken:(NSString * _Nullable)accessToken accessTokenSecret:(NSString * _Nullable)accessTokenSecret refreshToken:(NSString * _Nullable)refreshToken expirationTime:(NSInteger)expirationTime isCustomAuthType:(BOOL)isCustomAuthType subCode:(NSString * _Nullable)subCode authorizationProtocol:(NSString * _Nullable)authorizationProtocol;
- (nonnull instancetype)initWithSession:(NSString * _Nullable)session subCode:(NSString * _Nullable)subCode authorizationProtocol:(NSString * _Nullable)authorizationProtocol;
- (nonnull instancetype)initWithAuthorizationCode:(NSString * _Nullable)authorizationCode codeVerifier:(NSString * _Nullable)codeVerifier thirdIdPCode:(NSString * _Nullable)thirdIdPCode subCode:(NSString * _Nullable)subCode;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBProviderAuthToken (SWIFT_EXTENSION(Gamebase)) <NSCopying>
- (id _Nonnull)copyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
@end

@interface TCGBProviderAuthToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBPurchaseInitializeContext;
@class TCGBPurchaseConsoleProductListResult;
@class TCGBPurchasableItem;
@class TCGBPurchasableReceipt;
@class TCGBPurchaseConsoleProduct;
@class TCGBPurchasableConfiguration;
@class TCGBPurchasableRetryTransactionResult;
@protocol TCGBPurchasePendingDelegate;
@class UIApplication;
@class NSURL;
@class UIScene;
@class UIOpenURLContext;
SWIFT_PROTOCOL_NAMED("TCGBPurchasable")
@protocol TCGBPurchasable <NSObject>
- (void)initializeWithContext:(TCGBPurchaseInitializeContext * _Nonnull)context completion:(void (^ _Nonnull)(TCGBError * _Nullable))completion;
@optional
- (void)setUserId:(NSString * _Nullable)userId;
- (void)setDebugMode:(BOOL)debugMode;
@required
- (void)requestPurchasableItemListWithConsoleProductListResult:(TCGBPurchaseConsoleProductListResult * _Nonnull)consoleProductListResult completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableItem *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestPurchasableItemListAtIAPConsoleWithConsoleProductListResult:(TCGBPurchaseConsoleProductListResult * _Nonnull)consoleProductListResult completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableItem *> * _Nullable, TCGBError * _Nullable))completion SWIFT_DEPRECATED_MSG("This will be removed in the future.");
- (void)requestPurchaseWithItemSeq:(NSInteger)itemSeq gamebasePayload:(NSString * _Nullable)gamebasePayload viewController:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(TCGBPurchasableReceipt * _Nullable, TCGBError * _Nullable))completion;
- (void)requestPurchaseWithConsoleProduct:(TCGBPurchaseConsoleProduct * _Nonnull)consoleProduct payload:(NSString * _Nullable)payload gamebasePayload:(NSString * _Nullable)gamebasePayload viewController:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(TCGBPurchasableReceipt * _Nullable, TCGBError * _Nullable))completion;
- (void)requestItemListOfNotConsumedWithConfiguration:(TCGBPurchasableConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestRetryTransactionWithCompletion:(void (^ _Nonnull)(TCGBPurchasableRetryTransactionResult * _Nullable, TCGBError * _Nullable))completion;
- (void)requestActivatedPurchasesWithConfiguration:(TCGBPurchasableConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
- (void)requestRestoreWithCompletion:(void (^ _Nonnull)(NSArray<TCGBPurchasableReceipt *> * _Nullable, TCGBError * _Nullable))completion;
+ (NSString * _Nonnull)versionString SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, weak) id <TCGBPurchasePendingDelegate> _Nullable pendingDelegate;
@optional
- (BOOL)application:(UIApplication * _Nonnull)app open:(NSURL * _Nonnull)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> * _Nonnull)options SWIFT_WARN_UNUSED_RESULT;
- (void)scene:(UIScene * _Nonnull)scene openURLContexts:(NSSet<UIOpenURLContext *> * _Nonnull)URLContexts;
@end

SWIFT_CLASS("_TtC8Gamebase26TCGBPurchaseConsoleProduct")
@interface TCGBPurchaseConsoleProduct : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull marketItemId;
@property (nonatomic, readonly, copy) NSString * _Nonnull gamebaseProductId;
@property (nonatomic, readonly, copy) NSString * _Nonnull gamebaseProductName;
@property (nonatomic, readonly) BOOL isActive;
@property (nonatomic, readonly, copy) NSString * _Nullable paymentProductId;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProduct (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase36TCGBPurchaseConsoleProductListResult")
@interface TCGBPurchaseConsoleProductListResult : NSObject
@property (nonatomic, readonly, copy) NSArray<TCGBPurchaseConsoleProduct *> * _Nonnull products;
@property (nonatomic, readonly, copy) NSArray<TCGBPurchaseConsoleProduct *> * _Nonnull invalidProducts;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProductListResult (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase32TCGBPurchaseConsoleProductResult")
@interface TCGBPurchaseConsoleProductResult : NSObject
@property (nonatomic, readonly, strong) TCGBPurchaseConsoleProduct * _Nonnull product;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBPurchaseConsoleProductResult (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase29TCGBPurchaseInitializeContext")
@interface TCGBPurchaseInitializeContext : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appId;
@property (nonatomic, readonly, copy) NSString * _Nonnull zoneType;
@property (nonatomic, readonly) BOOL isSandbox;
@property (nonatomic, readonly, copy) NSString * _Nonnull userId;
@property (nonatomic, readonly, copy) NSString * _Nullable forceURL;
@property (nonatomic, readonly) BOOL debugMode;
@property (nonatomic, readonly, strong) TCGBExternalPaymentPlatform * _Nullable externalPaymentPlatform;
- (nonnull instancetype)initWithAppId:(NSString * _Nonnull)appId zoneType:(NSString * _Nonnull)zoneType isSandbox:(BOOL)isSandbox userId:(NSString * _Nonnull)userId forceURL:(NSString * _Nullable)forceURL debugMode:(BOOL)debugMode externalPaymentPlatform:(TCGBExternalPaymentPlatform * _Nullable)externalPaymentPlatform OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@class TCGBPushConfiguration;
@class TCGBNotificationOptions;
@class TCGBPushTokenInfo;
/// The protocol TCGBPushable is for developing Push Adapter.
SWIFT_PROTOCOL_NAMED("TCGBPushable")
@protocol TCGBPushable <NSObject>
- (void)setDelegate;
- (void)setSandboxMode:(BOOL)sandboxMode;
- (void)setupWithAppKey:(NSString * _Nonnull)appKey serviceZone:(NSString * _Nonnull)serviceZone userID:(NSString * _Nonnull)userID displayLanguageCode:(NSString * _Nonnull)gamebaseDisplayLanguageCode configuration:(TCGBPushConfiguration * _Nullable)configuration notificationOptions:(TCGBNotificationOptions * _Nullable)notificationOptions;
- (void)registerPushWithConfiguration:(TCGBPushConfiguration * _Nonnull)configuration completion:(void (^ _Nonnull)(TCGBError * _Nullable))completion;
- (void)queryPushWithCompletion:(void (^ _Nonnull)(TCGBPushConfiguration * _Nullable, TCGBError * _Nullable))completion;
- (void)queryTokenInfoWithCompletion:(void (^ _Nonnull)(TCGBPushTokenInfo * _Nullable, TCGBError * _Nullable))completion;
- (TCGBNotificationOptions * _Nullable)notificationOptions SWIFT_WARN_UNUSED_RESULT;
- (void)queryNotificationAllowedWithCompletion:(void (^ _Nonnull)(BOOL, TCGBError * _Nullable))completion;
+ (NSString * _Nonnull)versionString SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBReleaseRuleCondition class have information about payment condition to release ban.
SWIFT_CLASS("_TtC8Gamebase24TCGBReleaseRuleCondition")
@interface TCGBReleaseRuleCondition : NSObject
/// Amount to be paid
@property (nonatomic, readonly) double amount;
/// Number of payment required
@property (nonatomic, readonly) NSInteger count;
/// Currency
@property (nonatomic, readonly, copy) NSString * _Nonnull currency;
/// Condition for amount and count (“AND” / “OR”)
@property (nonatomic, readonly, copy) NSString * _Nonnull conditionType;
@end

@interface TCGBReleaseRuleCondition (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase13TCGBStability")
@interface TCGBStability : NSObject
@property (nonatomic, readonly) BOOL useFlag;
@property (nonatomic, readonly) BOOL useFlagSpecificUser;
@property (nonatomic, readonly, copy) NSString * _Nonnull logLevel;
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
@property (nonatomic, readonly) NSInteger appKeyVersion;
@property (nonatomic, readonly) NSInteger initFailCount;
- (NSInteger)initFailCount SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBStability (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase18TCGBTcIapStoreInfo")
@interface TCGBTcIapStoreInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull id;
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeAppId;
@property (nonatomic, readonly, copy) NSString * _Nonnull storeCode;
@property (nonatomic, readonly, strong) TCGBExternalPaymentPlatform * _Nullable externalPaymentPlatform;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcIapStoreInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

@class TCGBTcProductCommonInfo;
@class TCGBTcProductIapInfo;
SWIFT_CLASS("_TtC8Gamebase13TCGBTcProduct")
@interface TCGBTcProduct : NSObject
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable gamebase;
@property (nonatomic, readonly, strong) TCGBTcProductIapInfo * _Nullable iap;
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable leaderboard;
@property (nonatomic, readonly, strong) TCGBTcProductCommonInfo * _Nullable push;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProduct (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase23TCGBTcProductCommonInfo")
@interface TCGBTcProductCommonInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProductCommonInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase20TCGBTcProductIapInfo")
@interface TCGBTcProductIapInfo : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull appKey;
@property (nonatomic, readonly, copy) NSString * _Nonnull url;
- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nullable)dictionary;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTcProductIapInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBTemporaryWithdrawalInfo class has information about pending withdrawal.
SWIFT_CLASS("_TtC8Gamebase27TCGBTemporaryWithdrawalInfo")
@interface TCGBTemporaryWithdrawalInfo : NSObject
/// grace period (epoch time in milliseconds)
@property (nonatomic, readonly) NSInteger gracePeriodDate;
@end

@interface TCGBTemporaryWithdrawalInfo (SWIFT_EXTENSION(Gamebase))
- (NSDictionary<NSString *, id> * _Nonnull)JSONObject SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `dictionary` instead.", "dictionary");
- (NSString * _Nonnull)JSONString SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use `jsonString` instead.", "jsonString");
@end

@interface TCGBTemporaryWithdrawalInfo (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS("_TtC8Gamebase16TCGBTermsContent")
@interface TCGBTermsContent : NSObject
@property (nonatomic, readonly) NSInteger termsContentSeq;
@property (nonatomic, readonly) BOOL agreed;
- (nonnull instancetype)initWithTermsContentSeq:(NSInteger)termsContentSeq agreed:(BOOL)agreed OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary;
+ (TCGBTermsContent * _Nonnull)termsContentWithTermsContentSeq:(NSInteger)termsContentSeq agreed:(BOOL)agreed SWIFT_WARN_UNUSED_RESULT;
+ (TCGBTermsContent * _Nonnull)termsContentWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@interface TCGBTermsContent (SWIFT_EXTENSION(Gamebase))
- (NSDictionary<NSString *, id> * _Nonnull)dictionaryWithContent SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use dictionary() instead", "dictionary");
@end

@interface TCGBTermsContent (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// The TCGBToken class have access token and access token secret.
SWIFT_CLASS("_TtC8Gamebase9TCGBToken")
@interface TCGBToken : NSObject
/// Access Token
@property (nonatomic, readonly, copy) NSString * _Nonnull accessToken;
/// Access Token Secret
@property (nonatomic, readonly, copy) NSString * _Nullable accessTokenSecret;
@end

@interface TCGBToken (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

SWIFT_CLASS_NAMED("TCGBUtilSwift")
@interface OBJC_TCGBUtilSwift : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
/// Convert Json String to Dictionary.
/// \param jsonString json string to change to dictionary.
///
///
/// returns:
/// Returns an object converted from json string to dictionary.
+ (NSDictionary<NSString *, id> * _Nullable)dictionaryFrom:(NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
+ (NSString * _Nullable)URLEncodedString:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
+ (NSDictionary<NSString *, NSString *> * _Nonnull)queryDictionaryWithQueryString:(NSString * _Nonnull)queryString SWIFT_WARN_UNUSED_RESULT;
+ (NSDictionary<NSString *, NSString *> * _Nonnull)queryDictionaryWithURL:(NSURL * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
@end

@interface OBJC_TCGBUtilSwift (SWIFT_EXTENSION(Gamebase))
+ (UIViewController * _Nullable)topMostViewController SWIFT_WARN_UNUSED_RESULT;
@end

enum TCGBWebViewStyle : NSInteger;
enum TCGBWebViewContent : NSInteger;
@protocol TCGBWebViewDelegate;
SWIFT_CLASS("_TtC8Gamebase24TCGBWebViewConfiguration")
@interface TCGBWebViewConfiguration : NSObject
/// Launching Style.
/// note:
/// Default value is a TCGBWebViewStyle.launchFullScreen.
@property (nonatomic) enum TCGBWebViewStyle style;
/// Content Mode.
/// note:
/// Default value is a TCGBWebViewContentMode.recommended.
@property (nonatomic) enum TCGBWebViewContent contentMode;
/// Navigation Bar Height.
/// Only used in full screen style.
/// note:
/// Default value is 54.
@property (nonatomic) CGFloat navigationBarHeight;
/// Navigation Bar Color.
/// Only used in full screen style.
/// note:
/// Default value is #125DE6FF.
@property (nonatomic, strong) UIColor * _Nonnull navigationBarColor;
/// Navigation Bar Title.
/// Only used in full screen style.
/// note:
/// Default value is nil. If no value is set, the navigationBarTitle of the webView will be set to HTML document’s title. If a value is set, that value will be displayed.
@property (nonatomic, copy) NSString * _Nullable navigationBarTitle;
/// Navigation Bar Title Color.
/// Only used in full screen style.
/// note:
/// Default value is UIColor.white.
@property (nonatomic, strong) UIColor * _Nonnull navigationBarTitleColor;
/// Navigation Bar Tint Color.
/// Only used in full screen style.
/// note:
/// Default value is nil. If a value is set, it changes the tintColor of the navigationBar, affecting elements such as the close button or back button.
@property (nonatomic, strong) UIColor * _Nullable navigationBarIconTintColor;
/// note:
/// Default value is true. It is only used in FullScreen Style.
@property (nonatomic) BOOL isNavigationBarVisible;
/// note:
/// Default value is true.
@property (nonatomic) BOOL isBackButtonVisible;
/// Close Image Path.
/// Only used in full screen style.
/// note:
/// Default value is “gamebase-cancel-white-72.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull closeImagePathForFullScreenNavigation;
/// Back Button Image Path.
/// Only used in full screen style.
/// note:
/// Default value is “gamebase-goback-white-72.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull goBackImagePathForFullScreenNavigation;
/// Background Mask View Color.
/// Only used in popup style.
/// note:
/// Default value is UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.55).
@property (nonatomic, strong) UIColor * _Nonnull backgroundColor;
/// Close Image Path.
/// Only used in popup style.
/// note:
/// Default value is “gamebase-cancel-circle-black-inverse.png” in Gamebase.bundle
@property (nonatomic, copy) NSString * _Nonnull closeImagePathForPopup;
/// Offset of close button in Pop Up Style.
/// Base point is the right upper corner point.
/// note:
/// Default value is CGPoint.zero.
@property (nonatomic) CGPoint closeButtonOffsetInPopupStyle;
/// UIViewController Delegate.
/// It is used to delegate UIViewController’s methods such as viewDidLoad: viewWillLoad: viewDidDisappear: and etc.
@property (nonatomic, weak) id <TCGBWebViewDelegate> _Nullable delegate;
/// note:
/// Default value is NO. It is only used in FullScreen Style.
@property (nonatomic) BOOL isStatusBarVisible SWIFT_DEPRECATED_MSG("As of release 2.11.0.");
/// Alpha value of the background.
/// Only used in popup style.
/// note:
/// Default value is 0.55
/// warning:
/// This value should be between 0 and 1.
@property (nonatomic) CGFloat backgroundOpacity SWIFT_DEPRECATED_MSG("As of release 2.53.0.");
/// Orientation Mask.
/// note:
/// Default is a value that is converted to application’s orientation value toward TCGBWebViewOrientationMask bit mask.
@property (nonatomic) NSUInteger orientationMask SWIFT_DEPRECATED_MSG("As of release 2.66.0.");
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@interface TCGBWebViewConfiguration (SWIFT_EXTENSION(Gamebase)) <TCGBValueObject>
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
- (NSString * _Nonnull)jsonString SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nonnull)prettyJsonString SWIFT_WARN_UNUSED_RESULT;
- (NSDictionary<NSString *, id> * _Nonnull)dictionary SWIFT_WARN_UNUSED_RESULT;
@end

/// Configure webview’s content mode.
/// TCGBWebViewContentMode represents the type of content to load.
typedef SWIFT_ENUM_NAMED(NSInteger, TCGBWebViewContent, "TCGBWebViewContentMode", open) {
/// Recommended content mode
/// Default value. The recommended content mode for the current platform.
  TCGBWebViewContentModeRecommended SWIFT_COMPILE_NAME("recommended") = 0,
/// Mobile browsers
/// Represents content targeting mobile browsers.
  TCGBWebViewContentModeMobile SWIFT_COMPILE_NAME("mobile") = 1,
/// Desktop browsers
/// Represents content targeting desktop browsers.
  TCGBWebViewContentModeDesktop SWIFT_COMPILE_NAME("desktop") = 2,
};

/// Configure webview’s orientation. It can be set by multiple value.
/// For example, “TCGBWebViewOrientationPortrait | TCGBWebViewOrientationPortraitUpsideDown” is available.
/// TCGBWebView process this value using bit mask operation.
typedef SWIFT_ENUM(NSInteger, TCGBWebViewOrientation, open) {
/// Unspecified
/// Default value, it is set by application’s orientation.
/// 0x0000, 0
  TCGBWebViewOrientationUnspecified SWIFT_COMPILE_NAME("unspecified") = 0,
/// Portrait
/// Default value, it is set by application’s orientation.
/// 0x0001, 1
  TCGBWebViewOrientationPortrait SWIFT_COMPILE_NAME("portrait") = 1,
/// Portrait UpsideDown
/// Default value, it is set by application’s orientation.
/// 0x0010, 2
  TCGBWebViewOrientationPortraitUpsideDown SWIFT_COMPILE_NAME("portraitUpsideDown") = 2,
/// Landscape Right
/// Default value, it is set by application’s orientation.
/// 0x0100, 4
  TCGBWebViewOrientationLandscapeRight SWIFT_COMPILE_NAME("landscapeRight") = 4,
/// Landscape Left
/// Default value, it is set by application’s orientation.
/// 0x1000, 8
  TCGBWebViewOrientationLandscapeLeft SWIFT_COMPILE_NAME("landscapeLeft") = 8,
};

/// These constants indicate the type of launch style such as popup, fullscreen.
typedef SWIFT_ENUM(NSInteger, TCGBWebViewStyle, open) {
/// PopUp Style.
  TCGBWebViewLaunchPopUp SWIFT_COMPILE_NAME("popup") = 0,
/// Full Screen Style.
  TCGBWebViewLaunchFullScreen SWIFT_COMPILE_NAME("launchFullScreen") = 1,
};

#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
