@thegrizzlylabs/react-native-genius-scan 6.5.1 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/README.md +5 -8
  2. package/android/build.gradle +5 -14
  3. package/ios/GSSDK/GSSDK.xcframework/Info.plist +4 -5
  4. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Assets.car +0 -0
  5. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/DeviceGuru_DeviceGuru.bundle/Info.plist +0 -0
  6. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/GSSDK +0 -0
  7. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Headers/GSSDK-Swift.h +8 -2
  8. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Info.plist +0 -0
  9. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios.abi.json +162 -16
  10. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +700 -698
  11. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  12. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios.swiftinterface +700 -698
  13. package/ios/GSSDK/GSSDK.xcframework/ios-arm64/GSSDK.framework/PhoneNumberKit_GSKPhoneNumberKit.bundle/Info.plist +0 -0
  14. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Assets.car +0 -0
  15. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/DeviceGuru_DeviceGuru.bundle/Info.plist +0 -0
  16. package/ios/GSSDK/GSSDK.xcframework/ios-arm64-simulator/GSSDK.framework/GSSDK +0 -0
  17. package/ios/GSSDK/GSSDK.xcframework/ios-arm64-simulator/GSSDK.framework/Headers/GSSDK-Swift.h +1843 -0
  18. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Info.plist +0 -0
  19. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +162 -16
  20. package/ios/GSSDK/GSSDK.xcframework/ios-arm64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1247 -0
  21. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  22. package/ios/GSSDK/GSSDK.xcframework/ios-arm64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1247 -0
  23. package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/PhoneNumberKit_GSKPhoneNumberKit.bundle/Info.plist +0 -0
  24. package/package.json +1 -1
  25. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/GSSDK +0 -0
  26. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Headers/GSSDK-Swift.h +0 -3670
  27. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -1245
  28. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +0 -1245
  29. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -45797
  30. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +0 -1245
  31. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  32. package/ios/GSSDK/GSSDK.xcframework/ios-arm64_x86_64-simulator/GSSDK.framework/Modules/GSSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -1245
  33. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/AdobeRGB1998.icc +0 -0
  34. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/DeviceGuru_DeviceGuru.bundle/DeviceList.plist +0 -0
  35. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/DeviceGuru_DeviceGuru.bundle/PrivacyInfo.xcprivacy +0 -0
  36. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKBackgroundKind.h +0 -0
  37. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKCurvatureCorrectionConfiguration.h +0 -0
  38. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKCurvatureLevel.h +0 -0
  39. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKCurvatureResult.h +0 -0
  40. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKDefaultLogLevel.h +0 -0
  41. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKDefaultLogger.h +0 -0
  42. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKDetectQuadrangleOptions.h +0 -0
  43. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKDocumentComposition.h +0 -0
  44. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKDocumentDetector.h +0 -0
  45. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKEdgeCleaning.h +0 -0
  46. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKEnhancementConfiguration.h +0 -0
  47. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKError.h +0 -0
  48. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKFilterColorPalette.h +0 -0
  49. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKFilterStyle.h +0 -0
  50. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKLicenseKeyChecker.h +0 -0
  51. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKLog.h +0 -0
  52. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKLogger.h +0 -0
  53. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKLoggerSeverity.h +0 -0
  54. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKMagnifierView.h +0 -0
  55. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKOutputConfiguration.h +0 -0
  56. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKPerspectiveCorrectionConfiguration.h +0 -0
  57. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKProcessingConfiguration.h +0 -0
  58. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKProcessingResult.h +0 -0
  59. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKQuadrangle.h +0 -0
  60. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKReadabilityConfiguration.h +0 -0
  61. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKReadabilityLevel.h +0 -0
  62. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKReadabilityResult.h +0 -0
  63. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKResizeConfiguration.h +0 -0
  64. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKResizeResult.h +0 -0
  65. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKRotation.h +0 -0
  66. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKRotationConfiguration.h +0 -0
  67. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScan.h +0 -0
  68. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanFlowError+PluginPayload.h +0 -0
  69. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanFlowErrorDomain.h +0 -0
  70. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanFlowOCROutputFormats.h +0 -0
  71. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanFlowPostProcessingActions.h +0 -0
  72. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanFlowStructuredData.h +0 -0
  73. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSKScanProcessor.h +0 -0
  74. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/GSSDK.h +0 -0
  75. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Headers/UIImage+GSKUtils.h +0 -0
  76. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/Modules/module.modulemap +0 -0
  77. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/PhoneNumberKit_GSKPhoneNumberKit.bundle/PhoneNumberMetadata.json +0 -0
  78. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/PhoneNumberKit_GSKPhoneNumberKit.bundle/PrivacyInfo.xcprivacy +0 -0
  79. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/PrivacyInfo.xcprivacy +0 -0
  80. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/accommodation-keywords.txt +0 -0
  81. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ar.lproj/GSSDK.strings +0 -0
  82. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ar.lproj/GSSDK.stringsdict +0 -0
  83. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ar.lproj/Localizable.strings +0 -0
  84. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/backbone.tflite +0 -0
  85. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/confusables.json +0 -0
  86. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/da.lproj/GSSDK.strings +0 -0
  87. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/da.lproj/GSSDK.stringsdict +0 -0
  88. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/da.lproj/Localizable.strings +0 -0
  89. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/de.lproj/GSSDK.strings +0 -0
  90. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/de.lproj/GSSDK.stringsdict +0 -0
  91. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/de.lproj/Localizable.strings +0 -0
  92. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/documentFinder.tflite +0 -0
  93. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/en.lproj/GSSDK.strings +0 -0
  94. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/en.lproj/GSSDK.stringsdict +0 -0
  95. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/en.lproj/Localizable.strings +0 -0
  96. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/es.lproj/GSSDK.strings +0 -0
  97. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/es.lproj/GSSDK.stringsdict +0 -0
  98. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/es.lproj/Localizable.strings +0 -0
  99. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/fr.lproj/GSSDK.strings +0 -0
  100. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/fr.lproj/GSSDK.stringsdict +0 -0
  101. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/fr.lproj/Localizable.strings +0 -0
  102. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/gas-keywords.txt +0 -0
  103. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/gas-stations.txt +0 -0
  104. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/he.lproj/GSSDK.strings +0 -0
  105. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/he.lproj/GSSDK.stringsdict +0 -0
  106. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/he.lproj/Localizable.strings +0 -0
  107. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/head_classif.tflite +0 -0
  108. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/hu.lproj/GSSDK.strings +0 -0
  109. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/hu.lproj/GSSDK.stringsdict +0 -0
  110. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/hu.lproj/Localizable.strings +0 -0
  111. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/iban-patterns.csv +0 -0
  112. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/id.lproj/GSSDK.strings +0 -0
  113. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/id.lproj/GSSDK.stringsdict +0 -0
  114. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/id.lproj/Localizable.strings +0 -0
  115. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/it.lproj/GSSDK.strings +0 -0
  116. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/it.lproj/GSSDK.stringsdict +0 -0
  117. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/it.lproj/Localizable.strings +0 -0
  118. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ja.lproj/GSSDK.strings +0 -0
  119. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ja.lproj/GSSDK.stringsdict +0 -0
  120. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ja.lproj/Localizable.strings +0 -0
  121. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ko.lproj/GSSDK.strings +0 -0
  122. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ko.lproj/GSSDK.stringsdict +0 -0
  123. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ko.lproj/Localizable.strings +0 -0
  124. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/mobilenetV2_orientation_quant_opti.tflite +0 -0
  125. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/nl.lproj/GSSDK.strings +0 -0
  126. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/nl.lproj/GSSDK.stringsdict +0 -0
  127. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/nl.lproj/Localizable.strings +0 -0
  128. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ocr_languages.csv +0 -0
  129. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/other-chains.txt +0 -0
  130. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pl.lproj/GSSDK.strings +0 -0
  131. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pl.lproj/GSSDK.stringsdict +0 -0
  132. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pl.lproj/Localizable.strings +0 -0
  133. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pt-BR.lproj/GSSDK.strings +0 -0
  134. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pt-BR.lproj/GSSDK.stringsdict +0 -0
  135. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/pt-BR.lproj/Localizable.strings +0 -0
  136. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/refineBorder.tflite +0 -0
  137. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/restaurant-chains.txt +0 -0
  138. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/restaurant-keywords.txt +0 -0
  139. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ru.lproj/GSSDK.strings +0 -0
  140. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ru.lproj/GSSDK.stringsdict +0 -0
  141. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/ru.lproj/Localizable.strings +0 -0
  142. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/supermarket-chains.txt +0 -0
  143. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/supermarket-keywords.txt +0 -0
  144. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/sv.lproj/GSSDK.strings +0 -0
  145. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/sv.lproj/GSSDK.stringsdict +0 -0
  146. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/sv.lproj/Localizable.strings +0 -0
  147. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/tr.lproj/GSSDK.strings +0 -0
  148. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/tr.lproj/GSSDK.stringsdict +0 -0
  149. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/tr.lproj/Localizable.strings +0 -0
  150. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/transport-keywords.txt +0 -0
  151. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/vi.lproj/GSSDK.strings +0 -0
  152. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/vi.lproj/GSSDK.stringsdict +0 -0
  153. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/vi.lproj/Localizable.strings +0 -0
  154. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hans.lproj/GSSDK.strings +0 -0
  155. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hans.lproj/GSSDK.stringsdict +0 -0
  156. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hans.lproj/Localizable.strings +0 -0
  157. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hant.lproj/GSSDK.strings +0 -0
  158. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hant.lproj/GSSDK.stringsdict +0 -0
  159. /package/ios/GSSDK/GSSDK.xcframework/{ios-arm64_x86_64-simulator → ios-arm64-simulator}/GSSDK.framework/zh-Hant.lproj/Localizable.strings +0 -0
@@ -0,0 +1,1843 @@
1
+ #if 0
2
+ #elif defined(__arm64__) && __arm64__
3
+ // Generated by Apple Swift version 6.4 effective-5.10 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)
4
+ #ifndef GSSDK_SWIFT_H
5
+ #define GSSDK_SWIFT_H
6
+ #pragma clang diagnostic push
7
+ #pragma clang diagnostic ignored "-Wgcc-compat"
8
+
9
+ #if !defined(__has_include)
10
+ # define __has_include(x) 0
11
+ #endif
12
+ #if !defined(__has_attribute)
13
+ # define __has_attribute(x) 0
14
+ #endif
15
+ #if !defined(__has_feature)
16
+ # define __has_feature(x) 0
17
+ #endif
18
+ #if !defined(__has_warning)
19
+ # define __has_warning(x) 0
20
+ #endif
21
+
22
+ #if __has_include(<swift/objc-prologue.h>)
23
+ # include <swift/objc-prologue.h>
24
+ #endif
25
+
26
+ #pragma clang diagnostic ignored "-Wauto-import"
27
+ #if defined(__OBJC__)
28
+ #include <Foundation/Foundation.h>
29
+ #endif // defined(__OBJC__)
30
+ #if defined(__cplusplus)
31
+ #include <cstdint>
32
+ #include <cstddef>
33
+ #include <cstring>
34
+ #include <stdlib.h>
35
+ #include <new>
36
+ #include <type_traits>
37
+ #else
38
+ #include <stdint.h>
39
+ #include <stddef.h>
40
+ #include <stdbool.h>
41
+ #include <string.h>
42
+ #endif
43
+ #if defined(__cplusplus)
44
+ #pragma clang diagnostic push
45
+ #pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
46
+ #if defined(__arm64e__) && __has_include(<ptrauth.h>)
47
+ # include <ptrauth.h>
48
+ #else
49
+ #pragma clang diagnostic push
50
+ #pragma clang diagnostic ignored "-Wreserved-macro-identifier"
51
+ # ifndef __ptrauth_swift_value_witness_function_pointer
52
+ # define __ptrauth_swift_value_witness_function_pointer(x)
53
+ # endif
54
+ # ifndef __ptrauth_swift_class_method_pointer
55
+ # define __ptrauth_swift_class_method_pointer(x)
56
+ # endif
57
+ #pragma clang diagnostic pop
58
+ #endif
59
+ #pragma clang diagnostic pop
60
+ #endif
61
+
62
+ #if !defined(SWIFT_TYPEDEFS)
63
+ # define SWIFT_TYPEDEFS 1
64
+ # if __has_include(<uchar.h>)
65
+ # include <uchar.h>
66
+ # elif !defined(__cplusplus)
67
+ typedef unsigned char char8_t;
68
+ typedef uint_least16_t char16_t;
69
+ typedef uint_least32_t char32_t;
70
+ # endif
71
+ typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
72
+ typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
73
+ typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
74
+ typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
75
+ typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
76
+ typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
77
+ typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
78
+ typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
79
+ typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
80
+ typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
81
+ typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
82
+ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
83
+ #endif
84
+
85
+ #if !defined(SWIFT_PASTE)
86
+ # define SWIFT_PASTE_HELPER(x, y) x##y
87
+ # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
88
+ #endif
89
+ #if !defined(SWIFT_METATYPE)
90
+ # define SWIFT_METATYPE(X) Class
91
+ #endif
92
+ #if !defined(SWIFT_CLASS_PROPERTY)
93
+ # if __has_feature(objc_class_property)
94
+ # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
95
+ # else
96
+ # define SWIFT_CLASS_PROPERTY(...)
97
+ # endif
98
+ #endif
99
+ #if !defined(SWIFT_RUNTIME_NAME)
100
+ # if __has_attribute(objc_runtime_name)
101
+ # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
102
+ # else
103
+ # define SWIFT_RUNTIME_NAME(X)
104
+ # endif
105
+ #endif
106
+ #if !defined(SWIFT_COMPILE_NAME)
107
+ # if __has_attribute(swift_name)
108
+ # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
109
+ # else
110
+ # define SWIFT_COMPILE_NAME(X)
111
+ # endif
112
+ #endif
113
+ #if !defined(SWIFT_METHOD_FAMILY)
114
+ # if __has_attribute(objc_method_family)
115
+ # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
116
+ # else
117
+ # define SWIFT_METHOD_FAMILY(X)
118
+ # endif
119
+ #endif
120
+ #if !defined(SWIFT_NOESCAPE)
121
+ # if __has_attribute(noescape)
122
+ # define SWIFT_NOESCAPE __attribute__((noescape))
123
+ # else
124
+ # define SWIFT_NOESCAPE
125
+ # endif
126
+ #endif
127
+ #if !defined(SWIFT_RELEASES_ARGUMENT)
128
+ # if __has_attribute(ns_consumed)
129
+ # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
130
+ # else
131
+ # define SWIFT_RELEASES_ARGUMENT
132
+ # endif
133
+ #endif
134
+ #if !defined(SWIFT_WARN_UNUSED_RESULT)
135
+ # if __has_attribute(warn_unused_result)
136
+ # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
137
+ # else
138
+ # define SWIFT_WARN_UNUSED_RESULT
139
+ # endif
140
+ #endif
141
+ #if !defined(SWIFT_NORETURN)
142
+ # if __has_attribute(noreturn)
143
+ # define SWIFT_NORETURN __attribute__((noreturn))
144
+ # else
145
+ # define SWIFT_NORETURN
146
+ # endif
147
+ #endif
148
+ #if !defined(SWIFT_CLASS_EXTRA)
149
+ # define SWIFT_CLASS_EXTRA
150
+ #endif
151
+ #if !defined(SWIFT_PROTOCOL_EXTRA)
152
+ # define SWIFT_PROTOCOL_EXTRA
153
+ #endif
154
+ #if !defined(SWIFT_ENUM_EXTRA)
155
+ # define SWIFT_ENUM_EXTRA
156
+ #endif
157
+ #if !defined(SWIFT_CLASS)
158
+ # if __has_attribute(objc_subclassing_restricted)
159
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
160
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
161
+ # else
162
+ # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
163
+ # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
164
+ # endif
165
+ #endif
166
+ #if !defined(SWIFT_RESILIENT_CLASS)
167
+ # if __has_attribute(objc_class_stub)
168
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
169
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
170
+ # else
171
+ # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
172
+ # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
173
+ # endif
174
+ #endif
175
+ #if !defined(SWIFT_PROTOCOL)
176
+ # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
177
+ # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
178
+ #endif
179
+ #if !defined(SWIFT_EXTENSION)
180
+ # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
181
+ #endif
182
+ #if !defined(OBJC_DESIGNATED_INITIALIZER)
183
+ # if __has_attribute(objc_designated_initializer)
184
+ # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
185
+ # else
186
+ # define OBJC_DESIGNATED_INITIALIZER
187
+ # endif
188
+ #endif
189
+ #if !defined(SWIFT_ENUM_ATTR)
190
+ # if __has_attribute(enum_extensibility)
191
+ # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
192
+ # else
193
+ # define SWIFT_ENUM_ATTR(_extensibility)
194
+ # endif
195
+ #endif
196
+ #if !defined(SWIFT_ENUM)
197
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
198
+ # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
199
+ # if __has_feature(generalized_swift_name)
200
+ # 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
201
+ # else
202
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
203
+ # endif
204
+ # else
205
+ # define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
206
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
207
+ # endif
208
+ #endif
209
+ #if !defined(SWIFT_ENUM_TAG)
210
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
211
+ # define SWIFT_ENUM_TAG enum
212
+ # else
213
+ # define SWIFT_ENUM_TAG
214
+ # endif
215
+ #endif
216
+ #if !defined(SWIFT_ENUM_FWD_DECL)
217
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
218
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
219
+ # else
220
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
221
+ # endif
222
+ #endif
223
+ #if !defined(SWIFT_UNAVAILABLE)
224
+ # define SWIFT_UNAVAILABLE __attribute__((unavailable))
225
+ #endif
226
+ #if !defined(SWIFT_UNAVAILABLE_MSG)
227
+ # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
228
+ #endif
229
+ #if !defined(SWIFT_AVAILABILITY)
230
+ # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
231
+ #endif
232
+ #if !defined(SWIFT_AVAILABILITY_DOMAIN)
233
+ # define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
234
+ #endif
235
+ #if !defined(SWIFT_WEAK_IMPORT)
236
+ # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
237
+ #endif
238
+ #if !defined(SWIFT_DEPRECATED)
239
+ # define SWIFT_DEPRECATED __attribute__((deprecated))
240
+ #endif
241
+ #if !defined(SWIFT_DEPRECATED_MSG)
242
+ # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
243
+ #endif
244
+ #if !defined(SWIFT_DEPRECATED_OBJC)
245
+ # if __has_feature(attribute_diagnose_if_objc)
246
+ # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
247
+ # else
248
+ # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
249
+ # endif
250
+ #endif
251
+ #if defined(__OBJC__)
252
+ #if !defined(IBSegueAction)
253
+ # define IBSegueAction
254
+ #endif
255
+ #endif
256
+ #if !defined(SWIFT_EXTERN)
257
+ # if defined(__cplusplus)
258
+ # define SWIFT_EXTERN extern "C"
259
+ # else
260
+ # define SWIFT_EXTERN extern
261
+ # endif
262
+ #endif
263
+ #if !defined(SWIFT_CALL)
264
+ # define SWIFT_CALL __attribute__((swiftcall))
265
+ #endif
266
+ #if !defined(SWIFT_INDIRECT_RESULT)
267
+ # define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
268
+ #endif
269
+ #if !defined(SWIFT_CONTEXT)
270
+ # define SWIFT_CONTEXT __attribute__((swift_context))
271
+ #endif
272
+ #if !defined(SWIFT_ERROR_RESULT)
273
+ # define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
274
+ #endif
275
+ #if defined(__cplusplus)
276
+ # define SWIFT_NOEXCEPT noexcept
277
+ #else
278
+ # define SWIFT_NOEXCEPT
279
+ #endif
280
+ #if !defined(SWIFT_C_INLINE_THUNK)
281
+ # if __has_attribute(always_inline)
282
+ # if __has_attribute(nodebug)
283
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
284
+ # else
285
+ # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
286
+ # endif
287
+ # else
288
+ # define SWIFT_C_INLINE_THUNK inline
289
+ # endif
290
+ #endif
291
+ #if defined(_WIN32)
292
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
293
+ # define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
294
+ #endif
295
+ #else
296
+ #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
297
+ # define SWIFT_IMPORT_STDLIB_SYMBOL
298
+ #endif
299
+ #endif
300
+ #if !__has_feature(nullability)
301
+ # define _Nonnull
302
+ # define _Nullable
303
+ # define _Null_unspecified
304
+ #elif !defined(__OBJC__)
305
+ # pragma clang diagnostic ignored "-Wnullability-extension"
306
+ #endif
307
+ #if !__has_feature(nullability_nullable_result)
308
+ # define _Nullable_result _Nullable
309
+ #endif
310
+ #if __has_feature(objc_modules)
311
+ #if __has_warning("-Watimport-in-framework-header")
312
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
313
+ #endif
314
+ #endif
315
+
316
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
317
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
318
+ #if __has_warning("-Wpragma-clang-attribute")
319
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
320
+ #endif
321
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
322
+ #pragma clang diagnostic ignored "-Wnullability"
323
+ #pragma clang diagnostic ignored "-Warc-bridge-casts-disallowed-in-nonarc"
324
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
325
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
326
+
327
+ #if __has_attribute(external_source_symbol)
328
+ # pragma push_macro("any")
329
+ # undef any
330
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="GSSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
331
+ # pragma pop_macro("any")
332
+ #endif
333
+
334
+ #if defined(__cplusplus)
335
+ extern "C" {
336
+ #endif
337
+
338
+ #if defined(__cplusplus)
339
+ } // extern "C"
340
+ #endif
341
+ #if __has_attribute(external_source_symbol)
342
+ # pragma clang attribute pop
343
+ #endif
344
+ #if defined(__OBJC__)
345
+ #if __has_feature(objc_modules)
346
+ #if __has_warning("-Watimport-in-framework-header")
347
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
348
+ #endif
349
+ @import CoreFoundation;
350
+ @import Dispatch;
351
+ @import Foundation;
352
+ @import ObjectiveC;
353
+ @import UIKit;
354
+ #endif
355
+
356
+ #import <GSSDK/GSSDK.h>
357
+
358
+ #endif // defined(__OBJC__)
359
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
360
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
361
+ #if __has_warning("-Wpragma-clang-attribute")
362
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
363
+ #endif
364
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
365
+ #pragma clang diagnostic ignored "-Wnullability"
366
+ #pragma clang diagnostic ignored "-Warc-bridge-casts-disallowed-in-nonarc"
367
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
368
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
369
+
370
+ #if __has_attribute(external_source_symbol)
371
+ # pragma push_macro("any")
372
+ # undef any
373
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="GSSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
374
+ # pragma pop_macro("any")
375
+ #endif
376
+
377
+ #if defined(__OBJC__)
378
+
379
+ @class NSString;
380
+ /// Entry point of the SDK. Use this to initialize the SDK with your license key.
381
+ SWIFT_CLASS("_TtC5GSSDK3GSK")
382
+ @interface GSK : NSObject
383
+ /// Returns the Genius Scan SDK version
384
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkVersion;)
385
+ + (NSString * _Nonnull)sdkVersion SWIFT_WARN_UNUSED_RESULT;
386
+ /// Sets the Genius Scan SDK license key with auto-refresh enabled.
387
+ /// See <code>setLicenseKey:autoRefresh:</code>
388
+ + (void)setLicenseKey:(NSString * _Nonnull)licenseKey;
389
+ /// Sets the Genius Scan SDK license key, while optionally enabling auto-refresh.
390
+ /// This method doesn’t return an error but will log warnings should the key be invalid or expired. All other SDK methods that return errors will report
391
+ /// an error if there is a problem with the license key, and you must handle them to ensure you provide a good “degraded” experience.
392
+ /// For instance, you can prompt the user to update the application to use the scanning feature in case they use a version of the application with an expired license key.
393
+ /// important:
394
+ /// This method must be called with a valid license key before any use of the SDK methods.
395
+ /// \param licenseKey A valid license key. You must publish a new version of the app with an updated license key before the key expires.
396
+ ///
397
+ /// \param autoRefresh If true, the SDK will attempt to automatically refresh the license key to prevent any diruption of service on devices that wouldn’t have
398
+ /// updated to the latest version of your app containing the new keys. If <code>autoRefresh</code> is enabled, the following information is sent to the Genius Scan
399
+ /// SDK servers: the current license key, a device-unique UUID, and the current version of the app.
400
+ ///
401
+ + (void)setLicenseKey:(NSString * _Nonnull)licenseKey autoRefresh:(BOOL)autoRefresh;
402
+ /// Checks that the Genius Scan SDK was correctly initialized with a valid license key.
403
+ ///
404
+ /// throws:
405
+ /// An error if the license key is invalid or expired.
406
+ + (BOOL)checkInitializationAndReturnError:(NSError * _Nullable * _Nullable)error;
407
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
408
+ @end
409
+
410
+ /// A barcode such as 1D barcodes or QR codes.
411
+ SWIFT_CLASS("_TtC5GSSDK10GSKBarcode")
412
+ @interface GSKBarcode : NSObject
413
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
414
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
415
+ @end
416
+
417
+ @interface GSKBarcode (SWIFT_EXTENSION(GSSDK))
418
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
419
+ @end
420
+
421
+ @interface GSKBarcode (SWIFT_EXTENSION(GSSDK))
422
+ @property (nonatomic, readonly) NSUInteger hash;
423
+ @end
424
+
425
+ @class GSKBarcodeScanFlowConfiguration;
426
+ @class UIViewController;
427
+ @class GSKBarcodeScanFlowResult;
428
+ /// A UI flow for scanning barcodes and QR codes using the device camera.
429
+ /// Configure the flow with <code>GSKBarcodeScanFlowConfiguration</code> to select the
430
+ /// barcode types to detect and whether batch mode is enabled. Present it from
431
+ /// a view controller and await a <code>GSKBarcodeScanFlowResult</code> containing the
432
+ /// decoded barcodes.
433
+ /// important:
434
+ /// Camera access requires <code>NSCameraUsageDescription</code> in
435
+ /// <code>Info.plist</code>.
436
+ SWIFT_CLASS("_TtC5GSSDK18GSKBarcodeScanFlow")
437
+ @interface GSKBarcodeScanFlow : NSObject
438
+ /// Initializes a new barcode scan flow
439
+ /// \param configuration Configuration for the barcode scanning
440
+ ///
441
+ - (nonnull instancetype)initWithConfiguration:(GSKBarcodeScanFlowConfiguration * _Nonnull)configuration OBJC_DESIGNATED_INITIALIZER;
442
+ /// Starts the barcode scanning flow by presenting a full-screen camera interface.
443
+ /// This method presents a camera view controller that continuously scans for barcodes and QR codes.
444
+ /// The scanning process respects the code types specified in the flow’s configuration.
445
+ /// The method uses Swift’s async/await pattern, suspending until either:
446
+ /// <ul>
447
+ /// <li>
448
+ /// A barcode is successfully detected (except in batch mode)
449
+ /// </li>
450
+ /// <li>
451
+ /// The user taps the done button (batch mode)
452
+ /// </li>
453
+ /// <li>
454
+ /// The user cancels the operation
455
+ /// </li>
456
+ /// <li>
457
+ /// An error occurs during setup or scanning
458
+ /// </li>
459
+ /// </ul>
460
+ /// The behavior varies based on the configuration’s isBatchModeEnabled:
461
+ /// <ul>
462
+ /// <li>
463
+ /// <code>false</code>: Returns immediately after detecting one or more codes in a single frame
464
+ /// </li>
465
+ /// <li>
466
+ /// <code>true</code>: Collects unique codes over time until the user taps the done button
467
+ /// </li>
468
+ /// </ul>
469
+ /// Example usage:
470
+ /// \code
471
+ /// let flow = GSKBarcodeScanFlow()
472
+ /// do {
473
+ /// let result = try await flow.resultByStarting(fromViewController: self)
474
+ /// print("Scanned codes: \(result.barcodes.map { $0.value })")
475
+ /// } catch GSKScanFlowError.cancellation {
476
+ /// print("User canceled scanning")
477
+ /// } catch {
478
+ /// print("Scanning failed: \(error)")
479
+ /// }
480
+ ///
481
+ /// \endcodeimportant:
482
+ /// This method requires camera permissions. Ensure your app’s Info.plist includes
483
+ /// the <code>NSCameraUsageDescription</code> key with an appropriate description.
484
+ /// note:
485
+ /// The camera interface is presented with <code>modalPresentationStyle</code> set to <code>.fullScreen</code>
486
+ /// for an immersive scanning experience.
487
+ /// \param viewController The view controller from which to present the camera interface.
488
+ /// This should typically be the currently visible view controller.
489
+ ///
490
+ ///
491
+ /// throws:
492
+ ///
493
+ /// <ul>
494
+ /// <li>
495
+ /// A <code>GSKScanFlowError</code>
496
+ /// </li>
497
+ /// </ul>
498
+ ///
499
+ /// returns:
500
+ /// A <code>GSKBarcodeScanFlowResult</code> containing the detected barcodes with their
501
+ /// decoded values and format types.
502
+ - (void)resultByStartingFromViewController:(UIViewController * _Nonnull)viewController completionHandler:(void (^ _Nonnull)(GSKBarcodeScanFlowResult * _Nullable, NSError * _Nullable))completionHandler;
503
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
504
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
505
+ @end
506
+
507
+ @class NSError;
508
+ @interface GSKBarcodeScanFlow (SWIFT_EXTENSION(GSSDK))
509
+ /// Instantiates a <code>GSKBarcodeScanFlow</code> instance with the provided configuration.
510
+ /// This initializer is only available from Objective-C.
511
+ + (nonnull instancetype)barcodeScanFlowWithConfiguration:(GSKBarcodeScanFlowConfiguration * _Nonnull)configuration SWIFT_WARN_UNUSED_RESULT;
512
+ /// Starts the barcode scanning flow.
513
+ /// @param viewController The view controller to present the barcode scanning interface from.
514
+ /// @param successBlock A completion block/closure that will be called on the main
515
+ /// thread upon successful completion of the scan flow. It receives a <code>GSKBarcodeScanFlowResult</code> object as
516
+ /// a parameter. This object gives you access to the scanned codes.
517
+ /// @param failureBlock A block/closure called if an error was encountered.
518
+ /// This method is only available from Objective-C.
519
+ - (void)startFromViewController:(UIViewController * _Nonnull)viewController success:(void (^ _Nonnull)(GSKBarcodeScanFlowResult * _Nonnull))successBlock failure:(void (^ _Nonnull)(NSError * _Nonnull))failureBlock;
520
+ @end
521
+
522
+ @class UIColor;
523
+ /// Configuration for the UI barcode scanning flow
524
+ /// This class allows customization of which barcode and QR code formats should be detected
525
+ /// during the scanning process. By default, all supported formats are enabled.
526
+ SWIFT_CLASS("_TtC5GSSDK31GSKBarcodeScanFlowConfiguration")
527
+ @interface GSKBarcodeScanFlowConfiguration : NSObject
528
+ /// Whether batch mode is enabled for code detection.
529
+ /// This setting controls how codes are detected and when they are returned:
530
+ /// <ul>
531
+ /// <li>
532
+ /// <code>false</code>: Detect multiple codes simultaneously in a single frame and return immediately (default)
533
+ /// </li>
534
+ /// <li>
535
+ /// <code>true</code>: Collect multiple codes over time before returning when user taps Done
536
+ /// </li>
537
+ /// </ul>
538
+ /// Example:
539
+ /// \code
540
+ /// // Standard mode - return codes immediately (default)
541
+ /// let standardConfig = GSKBarcodeScanFlowConfiguration(isBatchModeEnabled: false)
542
+ ///
543
+ /// // Batch mode - collect codes over time
544
+ /// let batchConfig = GSKBarcodeScanFlowConfiguration(isBatchModeEnabled: true)
545
+ ///
546
+ /// \endcode
547
+ @property (nonatomic) BOOL isBatchModeEnabled;
548
+ /// The highlight color used for the UI (overlay). Defaults
549
+ /// to <code>.green</code>. For good contrast, we recommend using a bright color.
550
+ @property (nonatomic, strong) UIColor * _Nonnull highlightColor;
551
+ /// The menu color used for the UI. Defaults to <code>nil</code>, meaning that the system
552
+ /// default color will be used (blue on iOS, for example).
553
+ @property (nonatomic, strong) UIColor * _Nullable menuColor;
554
+ /// Creates a new barcode scan flow configuration with default values
555
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
556
+ @end
557
+
558
+ @class NSDictionary;
559
+ @interface GSKBarcodeScanFlowConfiguration (SWIFT_EXTENSION(GSSDK))
560
+ /// Create a configuration from a dictionary.
561
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
562
+ /// be used in native projects.
563
+ + (GSKBarcodeScanFlowConfiguration * _Nullable)configurationWithDictionary:(NSDictionary * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
564
+ /// Create a configuration from JSON data.
565
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
566
+ /// be used in native projects.
567
+ + (GSKBarcodeScanFlowConfiguration * _Nullable)configurationWithJSON:(NSString * _Nonnull)json error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
568
+ @end
569
+
570
+ /// The result of a barcode scanning flow.
571
+ /// This class encapsulates the successful outcome of a barcode or QR code scanning session,
572
+ /// containing the detected barcode or QR code data.
573
+ SWIFT_CLASS("_TtC5GSSDK24GSKBarcodeScanFlowResult")
574
+ @interface GSKBarcodeScanFlowResult : NSObject
575
+ /// The detected barcodes containing their decoded values and types.
576
+ /// This property provides access to an array of detected codes, each containing
577
+ /// both the string content and format type (e.g., QR code, Code 128, EAN-13, etc.).
578
+ /// <ul>
579
+ /// <li>
580
+ /// For standard mode: Contains all codes detected in a single frame
581
+ /// </li>
582
+ /// <li>
583
+ /// For batch mode: Contains all codes collected over the scanning session
584
+ /// </li>
585
+ /// </ul>
586
+ @property (nonatomic, readonly, copy) NSArray<GSKBarcode *> * _Nonnull barcodes;
587
+ /// Creates a new barcode scan flow result.
588
+ /// \param barcodes The detected barcodes.
589
+ ///
590
+ - (nonnull instancetype)initWithBarcodes:(NSArray<GSKBarcode *> * _Nonnull)barcodes OBJC_DESIGNATED_INITIALIZER;
591
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
592
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
593
+ @end
594
+
595
+ @interface GSKBarcodeScanFlowResult (SWIFT_EXTENSION(GSSDK))
596
+ /// Returns a dictionary representation of the result
597
+ /// The dictionary contains:
598
+ /// <ul>
599
+ /// <li>
600
+ /// barcodes: An array of code dictionaries, each containing:
601
+ /// <ul>
602
+ /// <li>
603
+ /// value: The decoded string value
604
+ /// </li>
605
+ /// <li>
606
+ /// type: The code type as a string (e.g., “qr”, “code128”)
607
+ /// </li>
608
+ /// </ul>
609
+ /// </li>
610
+ /// </ul>
611
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull dictionary;
612
+ /// Returns a JSON representation of the result.
613
+ /// See <code>dictionary</code> for an explanation of the JSON data’s structure.
614
+ - (NSString * _Nonnull)json SWIFT_WARN_UNUSED_RESULT;
615
+ @end
616
+
617
+ /// Represents an error raised by the camera session
618
+ typedef SWIFT_ENUM(NSInteger, GSKCameraSessionError, open) {
619
+ GSKCameraSessionErrorOther = -1,
620
+ GSKCameraSessionErrorNotAuthorized = -2,
621
+ GSKCameraSessionErrorLockDevice = -3,
622
+ GSKCameraSessionErrorNoDevice = -4,
623
+ GSKCameraSessionErrorInvalidSetupDependency = -5,
624
+ GSKCameraSessionErrorNoVideoCaptureConnection = -6,
625
+ GSKCameraSessionErrorInvalidData = -7,
626
+ GSKCameraSessionErrorBadInput = -8,
627
+ GSKCameraSessionErrorWarnLockDevice = -1003,
628
+ };
629
+
630
+ @class NSCoder;
631
+ @class NSBundle;
632
+ /// A camera view controller to scan documents or barcodes.
633
+ /// Inherit from this view controller to create a custom scanning experience. Lay out the <code>cameraView</code> as desired:
634
+ /// By default, <code>cameraView</code> fills the entire screen. You can disable its resizing mask
635
+ /// (<code>cameraView.translatesAutoresizingMaskIntoConstraints</code>) and use Auto Layout constraints.
636
+ /// note:
637
+ ///
638
+ /// When a photo of a document is taken, whether manually or automatically, the capture session is paused
639
+ /// and a delegate callback (<code>cameraViewController(_:didGenerateScan:)</code>) is called when the photo is ready.
640
+ /// In this callback, you can decide whether to exit the camera view controller (if you just need to scan a
641
+ /// single page), or keep scanning more images (to support a “batch scanning” flow). For the latter scenario,
642
+ /// you will need to resume the camera session (see <code>resume()</code>). You also need to “reveal” the shutter screen
643
+ /// (see <code>hideShutterView(animated:)</code>).
644
+ SWIFT_CLASS("_TtC5GSSDK23GSKCameraViewController")
645
+ @interface GSKCameraViewController : UIViewController
646
+ /// Requests camera access if needed.
647
+ /// This returns immediately when access is already determined. It only shows the system prompt
648
+ /// when access has not been requested yet.
649
+ ///
650
+ /// returns:
651
+ /// <code>true</code> when access is authorized.
652
+ + (void)requestCameraAccessWithCompletionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
653
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE;
654
+ - (void)viewDidLoad;
655
+ - (void)viewWillAppear:(BOOL)animated;
656
+ - (void)viewWillDisappear:(BOOL)animated;
657
+ /// Manually trigger a photo.
658
+ /// Use this to handle the user tapping on a “take photo” button, or your own
659
+ /// custom logic to take a photo.
660
+ - (void)takePhoto;
661
+ - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
662
+ @end
663
+
664
+ @interface GSKCameraViewController (SWIFT_EXTENSION(GSSDK))
665
+ @end
666
+
667
+ /// A document detection mode
668
+ /// When detecting a document, the camera controller can just highlight the document, or also
669
+ /// highlight and trigger the photo when the detection is stable enough.
670
+ typedef SWIFT_ENUM(NSInteger, DocumentDetectionMode, open) {
671
+ /// Visual highlighting only.
672
+ /// The camera will detect document edges and provide visual feedback by drawing
673
+ /// a document overlay, but will not automatically capture photos. Users must
674
+ /// manually trigger photo capture.
675
+ DocumentDetectionModeHighlightOnly = 0,
676
+ /// Highlighting with automatic capture.
677
+ /// Similar to <code>highlightOnly</code>, but the camera will automatically take a photo
678
+ /// when a stable document is detected for a sufficient duration. This provides
679
+ /// a hands-free scanning experience.
680
+ DocumentDetectionModeHighlightAndAutoCapture = 1,
681
+ };
682
+
683
+ @interface GSKCameraViewController (SWIFT_EXTENSION(GSSDK))
684
+ @end
685
+
686
+ /// Constants indicating an interruption reason for the camera session.
687
+ typedef SWIFT_ENUM(NSInteger, InterruptionReason, open) {
688
+ /// An interruption caused by the app being sent to the background while using a camera.
689
+ InterruptionReasonVideoDeviceNotAvailableInBackground = 0,
690
+ /// An interruption caused by the audio hardware temporarily being made unavailable, for instance,
691
+ /// for a phone call, or alarm.
692
+ InterruptionReasonAudioDeviceInUseByAnotherClient = 1,
693
+ /// An interruption caused by the video device temporarily being made unavailable, for instance,
694
+ /// when stolen away by another app.
695
+ InterruptionReasonVideoDeviceInUseByAnotherClient = 2,
696
+ /// An interruption caused when the app is running in a multi-app layout, causing resource contention
697
+ /// and degraded recording quality of service. Given your present session configuration, the
698
+ /// session may only be run if your app occupies the full screen.
699
+ InterruptionReasonVideoDeviceNotAvailableWithMultipleForegroundApps = 3,
700
+ /// An interruption caused by the video device temporarily being made unavailable due to system pressure,
701
+ /// such as thermal duress.
702
+ InterruptionReasonVideoDeviceNotAvailableDueToSystemPressure = 4,
703
+ InterruptionReasonUnknown = 5,
704
+ };
705
+
706
+ @interface GSKCameraViewController (SWIFT_EXTENSION(GSSDK))
707
+ /// Factory method for a camera view controller with document detection.
708
+ /// This is only to be used from Objective-C. From Swift, prefer using <code>init(configuration:)</code> instead.
709
+ /// \param documentDetectionMode The document detection mode.
710
+ ///
711
+ /// \param documentOverlayColor The color of the document overlay.
712
+ ///
713
+ + (void)makeCameraViewControllerWithDocumentDetectionMode:(enum DocumentDetectionMode)documentDetectionMode documentOverlayColor:(UIColor * _Nonnull)documentOverlayColor completionHandler:(void (^ _Nonnull)(GSKCameraViewController * _Nullable, NSError * _Nullable))completionHandler;
714
+ @end
715
+
716
+ @class GSKQuadrangle;
717
+ @class GSKScan;
718
+ SWIFT_PROTOCOL("_TtP5GSSDK31GSKCameraViewControllerDelegate_")
719
+ @protocol GSKCameraViewControllerDelegate
720
+ @optional
721
+ /// The camera view controller failed with an error.
722
+ /// \param cameraViewController The camera view controller
723
+ ///
724
+ /// \param error The encountered error.
725
+ ///
726
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController didFailWithError:(NSError * _Nonnull)error;
727
+ /// The camera view controller encountered a non-fatal error.
728
+ /// \param cameraViewController The camera view controller
729
+ ///
730
+ /// \param error The encountered error.
731
+ ///
732
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController didEncounterNonCriticalError:(NSError * _Nonnull)error;
733
+ /// The camera view controller was interrupted.
734
+ /// This can happen in various cases, including when the user goes to Split View mode on iPad.
735
+ /// \param cameraViewController The camera view controller
736
+ ///
737
+ /// \param reason The reason why the camera view controller was interrupted.
738
+ ///
739
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController wasInterruptedWithReason:(enum InterruptionReason)reason;
740
+ /// The camera view controller resumes after interruption
741
+ /// \param cameraViewController The camera view controller
742
+ ///
743
+ - (void)cameraViewControllerInterruptionDidEnd:(GSKCameraViewController * _Nonnull)cameraViewController;
744
+ /// The camera view controller is still looking for a quadrangle.
745
+ /// This is a general notification about the status of the search: we may or may not have identified
746
+ /// its edges. If you want to act on identified edges, listen to the <code>cameraViewController:didFindDocumentWithQuadrangle:</code>
747
+ /// delegate method.
748
+ /// <ul>
749
+ /// <li>
750
+ /// Parameters:
751
+ /// </li>
752
+ /// <li>
753
+ /// cameraViewController: The camera view controller
754
+ /// </li>
755
+ /// </ul>
756
+ - (void)cameraViewControllerIsSearchingForDocument:(GSKCameraViewController * _Nonnull)cameraViewController;
757
+ /// The camera view controller identified a document in the last frame of the photo stream
758
+ /// \param cameraViewController The camera view controller
759
+ ///
760
+ /// \param quadrangle The quadrangle of the document that has been found.
761
+ ///
762
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController didFindDocumentWithQuadrangle:(GSKQuadrangle * _Nonnull)quadrangle;
763
+ /// The camera view controller couldn’t identify a document in the last frame of the photo stream.
764
+ /// This doesn’t mean that the camera view controller has stopped searching for documents or failed.
765
+ /// It just means no document has been identified. In this case, you want to clear any overlay.
766
+ /// \param cameraViewController The camera view controller
767
+ ///
768
+ - (void)cameraViewControllerFailedToFindDocument:(GSKCameraViewController * _Nonnull)cameraViewController;
769
+ /// The camera view controller real-time document detection will soon capture a detected document, but if the document
770
+ /// detection is not stable enough, the process can still be
771
+ /// cancelled.
772
+ /// It’s a good time to tell the user to remain stable.
773
+ /// Only called when the document detection is set to .highlightAndAutoCapture.
774
+ /// \param cameraViewController The camera view controller
775
+ ///
776
+ - (void)cameraViewControllerPhotoStabilizationDidStart:(GSKCameraViewController * _Nonnull)cameraViewController;
777
+ /// The camera view controller is about to decide whether to automatically capture a detected document because the detection was stable enough.
778
+ /// This is an override point where you can return <code>false</code> to stop that automatic process from proceeding.
779
+ /// \param cameraViewController The camera view controller
780
+ ///
781
+ - (BOOL)cameraViewControllerShouldSnapPhoto:(GSKCameraViewController * _Nonnull)cameraViewController SWIFT_WARN_UNUSED_RESULT;
782
+ /// The camera view controller is going to capture a photo, whether the capture was triggered manually or automatically.
783
+ /// When the capture is automatic, this is called after <code>cameraViewController:willAutoCaptureDocumentWithQuadrangle:</code>.
784
+ /// \param cameraViewController The camera view controller
785
+ ///
786
+ - (void)cameraViewControllerWillCapturePhoto:(GSKCameraViewController * _Nonnull)cameraViewController;
787
+ /// The camera view controller is going to automatically capture a detected document because the detection was stable enough.
788
+ /// The automatic capture is about to start and cannot be interrupted at this stage.
789
+ /// <ul>
790
+ /// <li>
791
+ /// Deprecated: Use <code>cameraViewController(_:willAutoCaptureDocumentWithQuadrangle:)</code> for automatic document captures
792
+ /// or <code>cameraViewControllerWillCapturePhoto(_:)</code> for any capture.
793
+ /// </li>
794
+ /// </ul>
795
+ /// \param cameraViewController The camera view controller
796
+ ///
797
+ /// \param quadrangle The quadrangle of the document that will be captured.
798
+ ///
799
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController willSnapPhotoWithQuadrangle:(GSKQuadrangle * _Nonnull)quadrangle;
800
+ /// The camera view controller is going to automatically capture a detected document because the detection was stable enough.
801
+ /// The automatic capture is about to start and cannot be interrupted at this stage.
802
+ /// \param cameraViewController The camera view controller
803
+ ///
804
+ /// \param quadrangle The quadrangle of the document that will be captured.
805
+ ///
806
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController willAutoCaptureDocumentWithQuadrangle:(GSKQuadrangle * _Nonnull)quadrangle;
807
+ /// The camera view controller just took a photo, but it hasn’t been post-processed it yet
808
+ /// \param cameraViewController The camera view controller
809
+ ///
810
+ - (void)cameraViewControllerDidSnapPhoto:(GSKCameraViewController * _Nonnull)cameraViewController;
811
+ /// The camera view controller has finished processing the photo we just took.
812
+ /// \param cameraViewController The camera view controller
813
+ ///
814
+ /// \param scan The scan object that has been generated. The image contained in the scan object is the full,
815
+ /// unprocessed image in which the document was detected. Use <code>GSKScanProcessor</code> to process and
816
+ /// warp and enhance the scanned document.
817
+ ///
818
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController didGenerateScan:(GSKScan * _Nonnull)scan;
819
+ /// Camera view controller has detected barcodes.
820
+ /// \param cameraViewController The camera view controller
821
+ ///
822
+ /// \param barcodes The detected barcodes
823
+ ///
824
+ - (void)cameraViewController:(GSKCameraViewController * _Nonnull)cameraViewController didFindBarcodes:(NSArray<GSKBarcode *> * _Nonnull)barcodes;
825
+ @end
826
+
827
+ /// The type of document detected by the document finder.
828
+ typedef SWIFT_ENUM(NSInteger, GSKDocumentFinderImageType, closed) {
829
+ /// No document present in the image
830
+ GSKDocumentFinderImageTypeNoDocument = 0,
831
+ /// A document is present in the image, but no crop or perspective correction has been applied.
832
+ GSKDocumentFinderImageTypeUnwarped = 1,
833
+ /// A document is present in the image, and crop and perspective correction have been applied.
834
+ GSKDocumentFinderImageTypeWarped = 2,
835
+ /// A document is present in the image, and crop/perspective correction and
836
+ /// enhancement have been applied.
837
+ GSKDocumentFinderImageTypeEnhanced = 3,
838
+ };
839
+
840
+ @class GSKPDFDocument;
841
+ @protocol GSKDocumentImageProcessor;
842
+ @class GSKDocumentGeneratorConfiguration;
843
+ /// This class exposes the capability to generate a PDF or TIFF multi-page document file.
844
+ SWIFT_CLASS("_TtC5GSSDK20GSKDocumentGenerator")
845
+ @interface GSKDocumentGenerator : NSObject
846
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
847
+ /// Generates a document file based on a document model and a generator configuration.
848
+ /// \param document The source document to generate as PDF or TIFF depending on the configuration.
849
+ ///
850
+ /// \param imageProcessor An object used to process each source document’s image before inserting it in the resulting document.
851
+ /// Only used when generating a PDF document
852
+ ///
853
+ /// \param configuration The configuration for the document generation.
854
+ ///
855
+ - (BOOL)generate:(GSKPDFDocument * _Nonnull)document imageProcessor:(id <GSKDocumentImageProcessor> _Nonnull)imageProcessor configuration:(GSKDocumentGeneratorConfiguration * _Nonnull)configuration error:(NSError * _Nullable * _Nullable)error;
856
+ /// Generates a document file based on a document model and a generator configuration.
857
+ /// \param document The source document to generate as PDF or TIFF depending on the configuration.
858
+ ///
859
+ /// \param configuration The configuration for the document generation.
860
+ ///
861
+ - (BOOL)generate:(GSKPDFDocument * _Nonnull)document configuration:(GSKDocumentGeneratorConfiguration * _Nonnull)configuration error:(NSError * _Nullable * _Nullable)error;
862
+ @end
863
+
864
+ SWIFT_ENUM_FWD_DECL(NSInteger, GSKDocumentGeneratorFileFormat)
865
+ @class GSKDocumentGeneratorDebugConfiguration;
866
+ /// A configuration for the document generator.
867
+ SWIFT_CLASS("_TtC5GSSDK33GSKDocumentGeneratorConfiguration")
868
+ @interface GSKDocumentGeneratorConfiguration : NSObject
869
+ + (GSKDocumentGeneratorConfiguration * _Nonnull)pdfConfigurationWithOutputFilePath:(NSString * _Nonnull)outputFilePath SWIFT_WARN_UNUSED_RESULT;
870
+ + (GSKDocumentGeneratorConfiguration * _Nonnull)tiffConfigurationWithOutputFilePath:(NSString * _Nonnull)outputFilePath SWIFT_WARN_UNUSED_RESULT;
871
+ /// The output file format of the document generator. Must be .pdf or .tiff.
872
+ @property (nonatomic, readonly) enum GSKDocumentGeneratorFileFormat outputFileFormat;
873
+ /// The path where the generated document will be written. The extension will not be validated.
874
+ @property (nonatomic, readonly, copy) NSString * _Nonnull outputFilePath;
875
+ /// Custom font file used during the PDF generation to embed an invisible text layer.
876
+ /// If nil, a default font is used, which only supports Latin languages.
877
+ /// Only used when <code>outputFileFormat</code> is <code>.pdf</code>.
878
+ @property (nonatomic, readonly, copy) NSString * _Nullable pdfFontFilePath;
879
+ /// Generate a PDF/A document
880
+ @property (nonatomic, readonly) BOOL shouldGeneratePDFA;
881
+ /// An optional debug configuration to help debug PDF generation problems.
882
+ /// Don’t use this in production. Default is nil.
883
+ @property (nonatomic, readonly, strong) GSKDocumentGeneratorDebugConfiguration * _Nullable debugConfiguration;
884
+ - (nonnull instancetype)initWithOutputFileFormat:(enum GSKDocumentGeneratorFileFormat)outputFileFormat outputFilePath:(NSString * _Nonnull)outputFilePath pdfFontFilePath:(NSString * _Nullable)pdfFontFilePath shouldGeneratePDFA:(BOOL)shouldGeneratePDFA debugConfiguration:(GSKDocumentGeneratorDebugConfiguration * _Nullable)debugConfiguration OBJC_DESIGNATED_INITIALIZER;
885
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
886
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
887
+ @end
888
+
889
+ @interface GSKDocumentGeneratorConfiguration (SWIFT_EXTENSION(GSSDK))
890
+ /// Initialize an instance of this type with a dictionary.
891
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
892
+ /// be used in native projects.
893
+ - (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error;
894
+ /// Initialize an instance of this type with JSON data.
895
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
896
+ /// be used in native projects.
897
+ - (nullable instancetype)initWithJson:(NSString * _Nonnull)json error:(NSError * _Nullable * _Nullable)error;
898
+ @end
899
+
900
+ SWIFT_CLASS("_TtC5GSSDK38GSKDocumentGeneratorDebugConfiguration")
901
+ @interface GSKDocumentGeneratorDebugConfiguration : NSObject
902
+ /// If true, OCR’ed text will be visible on the PDF.
903
+ /// Defaults to false. Use this for debug only
904
+ @property (nonatomic, readonly) BOOL isOCRTextShownOnPDF;
905
+ - (nonnull instancetype)initWithIsOCRTextShownOnPDF:(BOOL)isOCRTextShownOnPDF OBJC_DESIGNATED_INITIALIZER;
906
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
907
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
908
+ @end
909
+
910
+ /// Error raised while generating a multi-page document
911
+ typedef SWIFT_ENUM(NSInteger, GSKDocumentGeneratorError, open) {
912
+ /// An internal error. Look at logs or contact us for more details.
913
+ GSKDocumentGeneratorErrorInternal SWIFT_COMPILE_NAME("internal") = 0,
914
+ /// A provided file wasn’t found.
915
+ GSKDocumentGeneratorErrorFileNotFound SWIFT_COMPILE_NAME("fileNotFound") = 1,
916
+ /// The provided password is invalid for use in a PDF file.
917
+ GSKDocumentGeneratorErrorInvalidPassword SWIFT_COMPILE_NAME("invalidPassword") = 2,
918
+ /// The provided page size is unsupported for a PDF file.
919
+ GSKDocumentGeneratorErrorInvalidPageSize SWIFT_COMPILE_NAME("invalidPageSize") = 3,
920
+ /// There was an error processing the image associated to a document page.
921
+ GSKDocumentGeneratorErrorProcessorError SWIFT_COMPILE_NAME("processorError") = 4,
922
+ /// An input to the document generator is invalid.
923
+ GSKDocumentGeneratorErrorInvalidInput SWIFT_COMPILE_NAME("invalidInput") = 5,
924
+ /// PDF/A documents cannot be password-protected.
925
+ GSKDocumentGeneratorErrorPDFAPasswordIncompatible SWIFT_COMPILE_NAME("pdfAPasswordIncompatible") = 6,
926
+ };
927
+ static NSString * _Nonnull const GSKDocumentGeneratorErrorDomain = @"GSSDK.GSKDocumentGeneratorError";
928
+
929
+ typedef SWIFT_ENUM(NSInteger, GSKDocumentGeneratorFileFormat, open) {
930
+ GSKDocumentGeneratorFileFormatPDF SWIFT_COMPILE_NAME("pdf") = 0,
931
+ GSKDocumentGeneratorFileFormatTIFF SWIFT_COMPILE_NAME("tiff") = 1,
932
+ };
933
+
934
+ /// Used to preprocess pages of the PDF generation.
935
+ /// When you generate a PDF document from images, you may want to apply some preprocessing to each image
936
+ /// before inserting them in the document (for instance resizing them, including a watermark, etc.) You can
937
+ /// implement your own PDF_image_processor and pass it when generating a PDF document.
938
+ /// to achieve this.
939
+ SWIFT_PROTOCOL("_TtP5GSSDK25GSKDocumentImageProcessor_")
940
+ @protocol GSKDocumentImageProcessor
941
+ /// Process the image and return a file path to the
942
+ /// updated image. The PDF processor will delete this temporary
943
+ /// image afterwards (only if it’s different from inputFilePath)
944
+ /// @return nil if there is an error
945
+ - (NSString * _Nullable)process:(NSString * _Nonnull)inputFilePath SWIFT_WARN_UNUSED_RESULT;
946
+ @end
947
+
948
+ @class UIImage;
949
+ @class UIView;
950
+ /// A view controller that displays a scanned image with an interactive quadrangle overlay
951
+ /// for manual cropping and perspective adjustment.
952
+ /// <code>GSKEditFrameViewController</code> presents an image and allows the user to refine the detected
953
+ /// document boundaries by dragging the quadrangle’s corner and side handles. As the user edits the
954
+ /// quadrangle, changes are reflected in the <code>quadrangle</code> property, which is Key-Value
955
+ /// Observing (KVO) compliant.
956
+ /// The overlay’s appearance—including colors, handle size, transparency, and magnifier
957
+ /// behavior—can be customized through the exposed properties. This view controller is
958
+ /// typically used after automatic document detection, to let the user fine-tune the crop
959
+ /// before further processing (such as perspective correction or export).
960
+ SWIFT_CLASS("_TtC5GSSDK26GSKEditFrameViewController")
961
+ @interface GSKEditFrameViewController : UIViewController
962
+ /// The image on which the quadrangle is overlaid.
963
+ @property (nonatomic, strong) UIImage * _Nonnull image;
964
+ @property (nonatomic, readonly, strong) UIView * _Nonnull frameView;
965
+ /// Used to set the quadrangle to display in the view controller, and to retrieve the new quadrangle edited by the user.
966
+ @property (nonatomic, strong) GSKQuadrangle * _Nonnull quadrangle;
967
+ /// Insets applied around the image.
968
+ /// By default this matches half the quadrangle overlay handle width, so handles remain visible even when
969
+ /// the corners are on the edge of the image.
970
+ @property (nonatomic) CGFloat inset;
971
+ /// Customize the color of the shade within the quadrangle.
972
+ @property (nonatomic, strong) UIColor * _Nonnull shadeColor SWIFT_DEPRECATED_MSG("Deprecated in favor of frameView.imageSelection.insideShadeColor.");
973
+ /// Customize the color of the shade outside the quadrangle.
974
+ @property (nonatomic, strong) UIColor * _Nonnull outsideShadeColor;
975
+ /// Customize the color of the line used to draw the quadrangle.
976
+ @property (nonatomic, strong) UIColor * _Nonnull lineColor;
977
+ /// Customize the width of the frame handles.
978
+ @property (nonatomic) CGFloat handleWidth;
979
+ /// Customize the transparency of the entire overlay
980
+ @property (nonatomic) CGFloat overlayAlpha;
981
+ /// Customize the magnifier center style shown while dragging frame handles.
982
+ @property (nonatomic) GSKMagnifierViewCenterStyle magnifierViewCenterStyle;
983
+ /// \param image The image on which to draw the quadrangle. This is typically the original photo from the camera.
984
+ ///
985
+ /// \param quadrangle The initial quadrangle to display.
986
+ ///
987
+ - (nonnull instancetype)initWithImage:(UIImage * _Nonnull)image quadrangle:(GSKQuadrangle * _Nonnull)quadrangle OBJC_DESIGNATED_INITIALIZER;
988
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER SWIFT_UNAVAILABLE;
989
+ - (void)setQuadrangle:(GSKQuadrangle * _Nonnull)quadrangle animated:(BOOL)animated;
990
+ - (void)viewDidLoad;
991
+ - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
992
+ @end
993
+
994
+ /// A configuration to specify the background cleaning to apply with GSKScanProcessor.
995
+ SWIFT_CLASS("_TtC5GSSDK40GSKFilterBackgroundCleaningConfiguration")
996
+ @interface GSKFilterBackgroundCleaningConfiguration : NSObject
997
+ /// Determines if the edges of the document must be cleaned or not. Cleaning the edges might result in erasing
998
+ /// some information that’s close the edges but yields a much cleaner document.
999
+ @property (nonatomic, readonly) GSKEdgeCleaning edgeCleaning;
1000
+ /// Determines if the document’s background is rather light (white) or dark (black).
1001
+ @property (nonatomic, readonly) GSKBackgroundKind backgroundKind;
1002
+ /// Determines if the document is composed mainly of text, or contains a mix of text and photos.
1003
+ @property (nonatomic, readonly) GSKDocumentComposition documentComposition;
1004
+ /// Determines the strength of the background cleaning. Value between 0 and 1.
1005
+ @property (nonatomic, readonly) CGFloat strength;
1006
+ /// \param edgeCleaning If enabled, the document edges will be cleaned up. This helps if the document is torn or folded in
1007
+ /// the corners, of if the cropping wasn’t perfectly accurate.
1008
+ ///
1009
+ /// \param backgroundKind If set to dark, the document is considered as having a dark background, and will be processed
1010
+ /// consequently.
1011
+ ///
1012
+ /// \param documentComposition If set to “Text and photo”, indicates that document is a composite of text and photos (such
1013
+ /// as a magazine page). The filter will be less aggressive to preserve the photos.
1014
+ ///
1015
+ /// \param strength The strength of the filter, between 0 and 1.
1016
+ ///
1017
+ - (nonnull instancetype)initWithEdgeCleaning:(GSKEdgeCleaning)edgeCleaning backgroundKind:(GSKBackgroundKind)backgroundKind documentComposition:(GSKDocumentComposition)documentComposition strength:(CGFloat)strength OBJC_DESIGNATED_INITIALIZER;
1018
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1019
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1020
+ @end
1021
+
1022
+ @interface GSKFilterBackgroundCleaningConfiguration (SWIFT_EXTENSION(GSSDK))
1023
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1024
+ @end
1025
+
1026
+ @interface GSKFilterBackgroundCleaningConfiguration (SWIFT_EXTENSION(GSSDK))
1027
+ @property (nonatomic, readonly) NSUInteger hash;
1028
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1029
+ @end
1030
+
1031
+ /// A configuration to determine the colors of the output of the GSKScanProcessor.
1032
+ SWIFT_CLASS("_TtC5GSSDK27GSKFilterColorConfiguration")
1033
+ @interface GSKFilterColorConfiguration : NSObject
1034
+ /// A configuration that results in a monochrome document.
1035
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterColorConfiguration * _Nonnull monochrome;)
1036
+ + (GSKFilterColorConfiguration * _Nonnull)monochrome SWIFT_WARN_UNUSED_RESULT;
1037
+ /// A configuration that results in a grayscale document.
1038
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterColorConfiguration * _Nonnull grayscale;)
1039
+ + (GSKFilterColorConfiguration * _Nonnull)grayscale SWIFT_WARN_UNUSED_RESULT;
1040
+ /// A configuration that results in a color document.
1041
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterColorConfiguration * _Nonnull color;)
1042
+ + (GSKFilterColorConfiguration * _Nonnull)color SWIFT_WARN_UNUSED_RESULT;
1043
+ /// The palette of colors
1044
+ @property (nonatomic, readonly) GSKFilterColorPalette palette;
1045
+ - (nonnull instancetype)initWithPalette:(GSKFilterColorPalette)palette OBJC_DESIGNATED_INITIALIZER;
1046
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1047
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1048
+ @end
1049
+
1050
+ @interface GSKFilterColorConfiguration (SWIFT_EXTENSION(GSSDK))
1051
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1052
+ @end
1053
+
1054
+ @interface GSKFilterColorConfiguration (SWIFT_EXTENSION(GSSDK))
1055
+ @property (nonatomic, readonly) NSUInteger hash;
1056
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1057
+ @end
1058
+
1059
+ @class GSKFilterLightingCorrectionConfiguration;
1060
+ /// The configuration to use when applying a document enhancement filter.
1061
+ SWIFT_CLASS("_TtC5GSSDK22GSKFilterConfiguration")
1062
+ @interface GSKFilterConfiguration : NSObject
1063
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull noOp;)
1064
+ + (GSKFilterConfiguration * _Nonnull)noOp SWIFT_WARN_UNUSED_RESULT;
1065
+ /// A photo filter configuration (no background cleaning)
1066
+ /// \param lightingCorrectionConfiguration an optional lighting correction configuration. If nil, no correction is applied.
1067
+ ///
1068
+ /// \param colorConfiguration an optional color configuration. If nil, the color configuration is used.
1069
+ ///
1070
+ + (GSKFilterConfiguration * _Nonnull)photoWithLightingCorrectionConfiguration:(GSKFilterLightingCorrectionConfiguration * _Nullable)lightingCorrectionConfiguration colorConfiguration:(GSKFilterColorConfiguration * _Nullable)colorConfiguration SWIFT_WARN_UNUSED_RESULT;
1071
+ + (GSKFilterConfiguration * _Nonnull)configurationWithLightingCorrectionConfiguration:(GSKFilterLightingCorrectionConfiguration * _Nullable)lightingCorrectionConfiguration backgroundCleaningConfiguration:(GSKFilterBackgroundCleaningConfiguration * _Nullable)backgroundCleaningConfiguration colorConfiguration:(GSKFilterColorConfiguration * _Nullable)colorConfiguration SWIFT_WARN_UNUSED_RESULT;
1072
+ /// The lighting configuration
1073
+ /// Determines the parameters to tune the image levels, contrast.
1074
+ @property (nonatomic, readonly, strong) GSKFilterLightingCorrectionConfiguration * _Nullable lightingCorrectionConfiguration;
1075
+ /// The background cleaning configuration
1076
+ /// Determines the cleaning up of the document’s background.
1077
+ @property (nonatomic, readonly, strong) GSKFilterBackgroundCleaningConfiguration * _Nullable backgroundCleaningConfiguration;
1078
+ /// The color configuration
1079
+ /// Determines the filter’s output colors.
1080
+ @property (nonatomic, readonly, strong) GSKFilterColorConfiguration * _Nullable colorConfiguration;
1081
+ /// A filter configuration.
1082
+ /// \param lightingCorrectionConfiguration an optional lighting correction configuration. If nil, no correction is applied.
1083
+ ///
1084
+ /// \param backgroundCleaningConfiguration an optional background cleaning configuration. If nil, no background
1085
+ /// cleaning is applied.
1086
+ ///
1087
+ /// \param colorConfiguration an optional color configuration. If nil, the color configuration is used.
1088
+ ///
1089
+ - (nonnull instancetype)initWithLightingCorrectionConfiguration:(GSKFilterLightingCorrectionConfiguration * _Nullable)lightingCorrectionConfiguration backgroundCleaningConfiguration:(GSKFilterBackgroundCleaningConfiguration * _Nullable)backgroundCleaningConfiguration colorConfiguration:(GSKFilterColorConfiguration * _Nullable)colorConfiguration OBJC_DESIGNATED_INITIALIZER;
1090
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1091
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1092
+ @end
1093
+
1094
+ @interface GSKFilterConfiguration (SWIFT_EXTENSION(GSSDK))
1095
+ @property (nonatomic, readonly) NSUInteger hash;
1096
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1097
+ @end
1098
+
1099
+ @interface GSKFilterConfiguration (SWIFT_EXTENSION(GSSDK))
1100
+ /// A soft document filter resulting in a grayscale document.
1101
+ /// This filter is ideal for documents with light print such as carbon copy,
1102
+ /// documents with pale text that you need to preserve, or documents where the
1103
+ /// text has little contrast with the background.
1104
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull softGrayscale;)
1105
+ + (GSKFilterConfiguration * _Nonnull)softGrayscale SWIFT_WARN_UNUSED_RESULT;
1106
+ /// A soft document filter resulting in a color document.
1107
+ /// This filter is ideal for documents that mix text and images and it also preserves
1108
+ /// text with low contrast.
1109
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull softColor;)
1110
+ + (GSKFilterConfiguration * _Nonnull)softColor SWIFT_WARN_UNUSED_RESULT;
1111
+ /// A strong document filter resulting in a monochrome document.
1112
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull strongMonochrome;)
1113
+ + (GSKFilterConfiguration * _Nonnull)strongMonochrome SWIFT_WARN_UNUSED_RESULT;
1114
+ /// A strong document filter resulting in a grayscale document.
1115
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull strongGrayscale;)
1116
+ + (GSKFilterConfiguration * _Nonnull)strongGrayscale SWIFT_WARN_UNUSED_RESULT;
1117
+ /// A strong document filter resulting in a color document.
1118
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull strongColor;)
1119
+ + (GSKFilterConfiguration * _Nonnull)strongColor SWIFT_WARN_UNUSED_RESULT;
1120
+ /// A filter specially designed for photos.
1121
+ /// Unlike document filters, this filter will not attempt any background cleaning but will
1122
+ /// slightly improve the lighting of the image.
1123
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull photo;)
1124
+ + (GSKFilterConfiguration * _Nonnull)photo SWIFT_WARN_UNUSED_RESULT;
1125
+ /// A filter specially designed to treat documents with a dark background, in particular white text
1126
+ /// over a black background.
1127
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterConfiguration * _Nonnull darkBackground;)
1128
+ + (GSKFilterConfiguration * _Nonnull)darkBackground SWIFT_WARN_UNUSED_RESULT;
1129
+ @end
1130
+
1131
+ /// A configuration to adjust the lighting of a document with GSKScanProcessor.
1132
+ SWIFT_CLASS("_TtC5GSSDK40GSKFilterLightingCorrectionConfiguration")
1133
+ @interface GSKFilterLightingCorrectionConfiguration : NSObject
1134
+ /// A configuration that doesn’t adjust the lighting of a document.
1135
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterLightingCorrectionConfiguration * _Nonnull noOp;)
1136
+ + (GSKFilterLightingCorrectionConfiguration * _Nonnull)noOp SWIFT_WARN_UNUSED_RESULT;
1137
+ /// A configuration to adjust the lighting of document containing text.
1138
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterLightingCorrectionConfiguration * _Nonnull textDocument;)
1139
+ + (GSKFilterLightingCorrectionConfiguration * _Nonnull)textDocument SWIFT_WARN_UNUSED_RESULT;
1140
+ /// A configuration to adjust the lighting of a document looking like a photo.
1141
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterLightingCorrectionConfiguration * _Nonnull photos;)
1142
+ + (GSKFilterLightingCorrectionConfiguration * _Nonnull)photos SWIFT_WARN_UNUSED_RESULT;
1143
+ /// A configuration to preserve shadow detail in a document.
1144
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKFilterLightingCorrectionConfiguration * _Nonnull shadow;)
1145
+ + (GSKFilterLightingCorrectionConfiguration * _Nonnull)shadow SWIFT_WARN_UNUSED_RESULT;
1146
+ @property (nonatomic, readonly) CGFloat minThreshold;
1147
+ @property (nonatomic, readonly) CGFloat maxThreshold;
1148
+ - (nonnull instancetype)initWithMinThreshold:(CGFloat)minThreshold maxThreshold:(CGFloat)maxThreshold OBJC_DESIGNATED_INITIALIZER;
1149
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1150
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1151
+ @end
1152
+
1153
+ @interface GSKFilterLightingCorrectionConfiguration (SWIFT_EXTENSION(GSSDK))
1154
+ @property (nonatomic, readonly, copy) NSString * _Nonnull description;
1155
+ @end
1156
+
1157
+ @interface GSKFilterLightingCorrectionConfiguration (SWIFT_EXTENSION(GSSDK))
1158
+ @property (nonatomic, readonly) NSUInteger hash;
1159
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1160
+ @end
1161
+
1162
+ typedef SWIFT_ENUM(NSInteger, GSKFlashStatus, open) {
1163
+ GSKFlashStatusAuto = 0,
1164
+ GSKFlashStatusOn = 1,
1165
+ GSKFlashStatusOff = 2,
1166
+ };
1167
+
1168
+ SWIFT_ENUM_FWD_DECL(NSInteger, GSKIntegrationFramework)
1169
+ SWIFT_CLASS_NAMED("GSKIntegrationContext")
1170
+ @interface GSKIntegrationContext : NSObject
1171
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) enum GSKIntegrationFramework currentFramework;)
1172
+ + (enum GSKIntegrationFramework)currentFramework SWIFT_WARN_UNUSED_RESULT;
1173
+ + (void)markScanFlowIntegrationDetected;
1174
+ + (void)markLowLevelComponentUsed;
1175
+ + (void)setFramework:(enum GSKIntegrationFramework)framework;
1176
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1177
+ @end
1178
+
1179
+ typedef SWIFT_ENUM_NAMED(NSInteger, GSKIntegrationFramework, "GSKIntegrationFramework", open) {
1180
+ GSKIntegrationFrameworkNative = 0,
1181
+ GSKIntegrationFrameworkReactNative = 1,
1182
+ GSKIntegrationFrameworkCordova = 2,
1183
+ GSKIntegrationFrameworkFlutter = 3,
1184
+ GSKIntegrationFrameworkDotnet = 4,
1185
+ GSKIntegrationFrameworkCapacitor = 5,
1186
+ };
1187
+
1188
+ /// A document image processor that performs no operation and returns the input file as an output
1189
+ SWIFT_CLASS("_TtC5GSSDK29GSKNoopDocumentImageProcessor")
1190
+ @interface GSKNoopDocumentImageProcessor : NSObject <GSKDocumentImageProcessor>
1191
+ - (NSString * _Nullable)process:(NSString * _Nonnull)inputFilePath SWIFT_WARN_UNUSED_RESULT;
1192
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1193
+ @end
1194
+
1195
+ @protocol GSKLogger;
1196
+ @class GSKOCRConfiguration;
1197
+ @class GSKOCRResult;
1198
+ /// A type that performs Optical Character Recognition (OCR) on a scanned document.
1199
+ SWIFT_CLASS("_TtC5GSSDK6GSKOCR")
1200
+ @interface GSKOCR : NSObject
1201
+ - (nonnull instancetype)initWithLogger:(id <GSKLogger> _Nonnull)logger OBJC_DESIGNATED_INITIALIZER;
1202
+ - (nonnull instancetype)init;
1203
+ /// Recognize the text in the provided image
1204
+ /// \param imagePath The path of the image to recognize. Ideally, provide the original, cropped image, and not the enhanced image.
1205
+ /// The OCR decides what post-processing to apply for the best results.
1206
+ ///
1207
+ /// \param configuration Configuration for the OCR process, in particular the language in which the OCR is
1208
+ /// performed. Note that you must provide the appropriate trained data.
1209
+ ///
1210
+ /// \param progressBlock The progress between 0 and 1. Called on the same thread.
1211
+ ///
1212
+ ///
1213
+ /// returns:
1214
+ /// An OCR result.
1215
+ - (void)recognizeTextForImageAtPath:(NSString * _Nonnull)imagePath configuration:(GSKOCRConfiguration * _Nonnull)configuration onProgress:(void (^ _Nullable)(float))progressBlock completionHandler:(void (^ _Nonnull)(GSKOCRResult * _Nullable, NSError * _Nullable))completionHandler;
1216
+ @end
1217
+
1218
+ /// The configuration for an OCR operation.
1219
+ SWIFT_CLASS("_TtC5GSSDK19GSKOCRConfiguration")
1220
+ @interface GSKOCRConfiguration : NSObject
1221
+ /// Initialize an OCR configuration for the modern OCR engine.
1222
+ /// \param languageTags The language codes to perform OCR with.
1223
+ ///
1224
+ + (GSKOCRConfiguration * _Nonnull)configurationWithLanguageTags:(NSArray<NSString *> * _Nonnull)languageTags SWIFT_WARN_UNUSED_RESULT;
1225
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1226
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1227
+ @end
1228
+
1229
+ @class GSKTextLayout;
1230
+ /// The results of an OCR operation
1231
+ SWIFT_CLASS("_TtC5GSSDK12GSKOCRResult")
1232
+ @interface GSKOCRResult : NSObject
1233
+ /// The recognized text, formatted.
1234
+ @property (nonatomic, readonly, copy) NSString * _Nonnull text;
1235
+ /// The recognized text, as a structured text layout.
1236
+ @property (nonatomic, readonly, strong) GSKTextLayout * _Nonnull textLayout;
1237
+ - (nonnull instancetype)initWithText:(NSString * _Nonnull)text textLayout:(GSKTextLayout * _Nonnull)textLayout;
1238
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1239
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1240
+ @end
1241
+
1242
+ @class NSDate;
1243
+ @class GSKPDFPage;
1244
+ /// Describes the structure of a PDF document for the PDF generator.
1245
+ SWIFT_CLASS("_TtC5GSSDK14GSKPDFDocument")
1246
+ @interface GSKPDFDocument : NSObject
1247
+ /// If provided, this title will be included in the PDF document properties
1248
+ @property (nonatomic, readonly, copy) NSString * _Nullable title;
1249
+ /// If provided, this password will be used to protect the PDF document.
1250
+ /// It will need to be entered to view or edit the document.
1251
+ /// AES-256 encryption is used.
1252
+ /// An empty password is treated as no password.
1253
+ @property (nonatomic, readonly, copy) NSString * _Nullable password;
1254
+ /// If provided, the keywords will be included in the PDF document properties
1255
+ @property (nonatomic, readonly, copy) NSString * _Nullable keywords;
1256
+ /// If provided, this date will be included in the PDF document properties
1257
+ @property (nonatomic, readonly, copy) NSDate * _Nullable creationDate;
1258
+ /// If provided, this date will be included in the PDF document properties
1259
+ @property (nonatomic, readonly, copy) NSDate * _Nullable lastUpdateDate;
1260
+ /// List of pages that will be included in the PDF document
1261
+ @property (nonatomic, readonly, copy) NSArray<GSKPDFPage *> * _Nonnull pages;
1262
+ - (nonnull instancetype)initWithTitle:(NSString * _Nullable)title password:(NSString * _Nullable)password keywords:(NSString * _Nullable)keywords creationDate:(NSDate * _Nullable)creationDate lastUpdate:(NSDate * _Nullable)lastUpdate pages:(NSArray<GSKPDFPage *> * _Nonnull)pages OBJC_DESIGNATED_INITIALIZER;
1263
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1264
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1265
+ @end
1266
+
1267
+ @interface GSKPDFDocument (SWIFT_EXTENSION(GSSDK))
1268
+ /// Initialize an instance of this type with a dictionary.
1269
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1270
+ /// be used in native projects.
1271
+ - (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error;
1272
+ /// Initialize an instance of this type with JSON data.
1273
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1274
+ /// be used in native projects.
1275
+ - (nullable instancetype)initWithJson:(NSString * _Nonnull)json error:(NSError * _Nullable * _Nullable)error;
1276
+ @end
1277
+
1278
+ @class GSKPDFSize;
1279
+ /// Describes a page of a PDF document for the PDF generator.
1280
+ SWIFT_CLASS("_TtC5GSSDK10GSKPDFPage")
1281
+ @interface GSKPDFPage : NSObject
1282
+ @property (nonatomic, readonly, copy) NSString * _Nonnull filePath;
1283
+ @property (nonatomic, readonly, strong) GSKPDFSize * _Nonnull inchesSize;
1284
+ @property (nonatomic, readonly, strong) GSKTextLayout * _Nullable textLayout;
1285
+ - (nonnull instancetype)initWithFilePath:(NSString * _Nonnull)filePath inchesSize:(GSKPDFSize * _Nonnull)inchesSize textLayout:(GSKTextLayout * _Nullable)textLayout OBJC_DESIGNATED_INITIALIZER;
1286
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1287
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1288
+ @end
1289
+
1290
+ /// Physical size of a PDF page in inches.
1291
+ /// If the aspect ratio doesn’t match the aspect ratio of the page in pixels,
1292
+ /// margins will be added on both sides of the page image.
1293
+ /// If 0 is provided for the width or height, it is computed to match the aspect ratio
1294
+ /// of the image. Eg, for a receipt, we usually use width = 3.54f and height = 0.
1295
+ SWIFT_CLASS("_TtC5GSSDK10GSKPDFSize")
1296
+ @interface GSKPDFSize : NSObject
1297
+ @property (nonatomic, readonly) double width;
1298
+ @property (nonatomic, readonly) double height;
1299
+ - (nonnull instancetype)initWithWidth:(double)width height:(double)height OBJC_DESIGNATED_INITIALIZER;
1300
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1301
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1302
+ @end
1303
+
1304
+ typedef SWIFT_ENUM(NSInteger, GSKReceiptCategory, open) {
1305
+ GSKReceiptCategoryGas = 0,
1306
+ GSKReceiptCategoryTransportation = 1,
1307
+ GSKReceiptCategoryAccomodation = 2,
1308
+ GSKReceiptCategoryRestaurant = 3,
1309
+ GSKReceiptCategorySupermarket = 4,
1310
+ GSKReceiptCategoryOther = 5,
1311
+ };
1312
+
1313
+ /// A VAT rate and its associated amount detected on a receipt.
1314
+ SWIFT_CLASS("_TtC5GSSDK13GSKReceiptVAT")
1315
+ @interface GSKReceiptVAT : NSObject
1316
+ - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
1317
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1318
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1319
+ @end
1320
+
1321
+ @class GSKScanFlowConfiguration;
1322
+ /// A UI-driven scan flow for turning physical documents into processed digital pages.
1323
+ /// Create an instance with <code>GSKScanFlowConfiguration</code> to choose the source
1324
+ /// (camera, photo library, or image URL), multi-page behavior, output format,
1325
+ /// filters, OCR, and structured-data extraction. Present the flow from a view
1326
+ /// controller and await a <code>GSKScanFlowResult</code> with the captured pages and the
1327
+ /// optional multi-page document.
1328
+ /// important:
1329
+ /// If you start a scan flow with the camera, your app must declare the
1330
+ /// <code>NSCameraUsageDescription</code> key in <code>Info.plist</code>.
1331
+ SWIFT_CLASS("_TtC5GSSDK11GSKScanFlow")
1332
+ @interface GSKScanFlow : NSObject
1333
+ - (nonnull instancetype)initWithConfiguration:(GSKScanFlowConfiguration * _Nonnull)configuration OBJC_DESIGNATED_INITIALIZER;
1334
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1335
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1336
+ @end
1337
+
1338
+ @class GSKScanFlowResult;
1339
+ @interface GSKScanFlow (SWIFT_EXTENSION(GSSDK))
1340
+ /// Instantiates a <code>GSKScanFlow</code> instance with the provided configuration.
1341
+ /// This initializer is only available from Objective-C.
1342
+ + (nonnull instancetype)scanFlowWithConfiguration:(GSKScanFlowConfiguration * _Nonnull)configuration SWIFT_WARN_UNUSED_RESULT;
1343
+ /// Present the scan flow.
1344
+ /// @param viewController The view controller to present the scan flow from.
1345
+ /// @param completionBlock A completion block/closure that will be called on the main
1346
+ /// thread upon completion of the scan flow. It receives a <code>GSKScanFlowResult</code> object as
1347
+ /// a parameter. This object gives you access to the scanned documents.
1348
+ /// @param errorBlock A block/closure called if an error was encountered.
1349
+ - (void)startFromViewController:(UIViewController * _Nonnull)viewController onSuccess:(void (^ _Nonnull)(GSKScanFlowResult * _Nonnull))completionBlock failure:(void (^ _Nonnull)(NSError * _Nonnull))errorBlock;
1350
+ @end
1351
+
1352
+ SWIFT_ENUM_FWD_DECL(NSUInteger, GSKScanFlowSource)
1353
+ @class NSURL;
1354
+ SWIFT_ENUM_FWD_DECL(NSInteger, GSKScanOrientation)
1355
+ SWIFT_ENUM_FWD_DECL(NSInteger, GSKScanFlowFilterType)
1356
+ SWIFT_ENUM_FWD_DECL(NSUInteger, GSKScanFlowPDFPageSize)
1357
+ SWIFT_ENUM_FWD_DECL(NSUInteger, GSKScanFlowFlashMode)
1358
+ SWIFT_ENUM_FWD_DECL(NSUInteger, GSKScanFlowMultiPageFormat)
1359
+ @class GSKScanFlowOCRConfiguration;
1360
+ /// Enables configuration of a <code>GSKScanFlow</code> instance.
1361
+ /// Pass an instance of this class to the initializer of <code>GSKScanFlow</code>
1362
+ /// to build the desired scan flow.
1363
+ SWIFT_CLASS("_TtC5GSSDK24GSKScanFlowConfiguration")
1364
+ @interface GSKScanFlowConfiguration : NSObject
1365
+ /// Specifies the source for the scanned documents (eg. the camera, …).
1366
+ /// If source is <code>.imageURL</code>, then you must assign a <code>sourceImageURL</code>.
1367
+ @property (nonatomic) enum GSKScanFlowSource source;
1368
+ /// The image URL if the <code>source</code> is <code>.imageURL</code>.
1369
+ @property (nonatomic, copy) NSURL * _Nullable sourceImageURL;
1370
+ /// Whether multi page mode should be used. Only applies when the source
1371
+ /// is <code>.camera</code>. When multipage mode is active, the user will have the
1372
+ /// opportunity to snap multiple scans in a row and the output document
1373
+ /// will contain all those pages. When multipage mode is off, the user
1374
+ /// will only scan a single page. The output document will always contain
1375
+ /// a single page. Defaults to <code>true</code>.
1376
+ @property (nonatomic) BOOL multiPage;
1377
+ /// Whether the user should be presented with a screen that lets them review all
1378
+ /// captured scans at the end of the scan flow, where they’ll be able to edit each
1379
+ /// scan once more before finally submitting the captured scans for processing.
1380
+ /// Defaults to <code>false</code>.
1381
+ @property (nonatomic) BOOL showFinalReview;
1382
+ /// What orientation that a scan should be rotated to after it’s been captured.
1383
+ /// Defaults to <code>automatic</code>. See <code>GSKScanOrientation</code> for more information.
1384
+ @property (nonatomic) enum GSKScanOrientation defaultScanOrientation;
1385
+ /// Any specific kind of post-processing to use. Defaults to <code>.automatic</code>.
1386
+ @property (nonatomic) enum GSKScanFlowFilterType defaultFilter;
1387
+ /// The minimum readability level that scanned documents are required to have. If a scan has a lower
1388
+ /// readability level, then a warning will be shown as part of the scanning flow, and the user will be
1389
+ /// prompted to retry the scan in question.
1390
+ @property (nonatomic) GSKReadabilityLevel requiredReadabilityLevel;
1391
+ /// Whether to skip showing the post-processing screen. We only recommend
1392
+ /// enabling this option when scanning structured data. Generally, you want
1393
+ /// the user to visually confirm the quality of each scan.
1394
+ @property (nonatomic) BOOL skipPostProcessingScreen;
1395
+ /// Select which actions to display within the post-processing screen.
1396
+ /// Defaults to all actions.
1397
+ @property (nonatomic) GSKScanFlowPostProcessingActions postProcessingActions;
1398
+ /// Determines the size of the pages when generating PDFs. Defaults to <code>fit</code>.
1399
+ @property (nonatomic) enum GSKScanFlowPDFPageSize pdfPageSize;
1400
+ /// Whether the flash button should be hidden. Defaults to <code>false</code>.
1401
+ @property (nonatomic) BOOL flashButtonHidden;
1402
+ /// Whether the photo library button should be hidden during camera-based scan flows. Defaults to <code>false</code>.
1403
+ @property (nonatomic) BOOL photoLibraryButtonHidden;
1404
+ /// Determines the default flash mode. Combine this with <code>flashButtonHidden</code>
1405
+ /// if you want to only allow a specific flash mode. Defaults to <code>.off</code>.
1406
+ @property (nonatomic) enum GSKScanFlowFlashMode defaultFlashMode;
1407
+ /// Determines the document format. Defaults to <code>.PDF</code>.
1408
+ @property (nonatomic) enum GSKScanFlowMultiPageFormat multiPageFormat;
1409
+ /// Optional password used to protect generated PDF documents.
1410
+ /// An empty password is treated as no password.
1411
+ /// This only applies when <code>multiPageFormat</code> is <code>.pdf</code>.
1412
+ @property (nonatomic, copy) NSString * _Nullable pdfPassword;
1413
+ /// Custom font file used during PDF generation to embed an invisible text
1414
+ /// layer. If <code>nil</code>, a default font is used, which only supports Latin languages.
1415
+ @property (nonatomic, copy) NSURL * _Nullable pdfFontFileURL;
1416
+ /// The background color used for the UI. Defaults to <code>.black</code>.
1417
+ @property (nonatomic, strong) UIColor * _Nonnull backgroundColor;
1418
+ /// The foreground color used for the UI (text and icons). Defaults to <code>.white</code>.
1419
+ @property (nonatomic, strong) UIColor * _Nonnull foregroundColor;
1420
+ /// The highlight color used for the UI (document detection overlay). Defaults
1421
+ /// to <code>.blue</code>.
1422
+ @property (nonatomic, strong) UIColor * _Nonnull highlightColor;
1423
+ /// The menu color used for the UI. Defaults to <code>nil</code>, meaning that the system
1424
+ /// default color will be used (blue on iOS, for example).
1425
+ @property (nonatomic, strong) UIColor * _Nullable menuColor;
1426
+ /// JPEG quality used to compress captured images. Between 0 and 100, with 100
1427
+ /// being the best quality. Defaults to <code>60</code>.
1428
+ @property (nonatomic) NSInteger jpegQuality;
1429
+ /// Max scan dimension in pixels when generating PDF files. All scans included
1430
+ /// in PDF files will be scaled so that both their height and width are smaller
1431
+ /// than this value, while maintaining their aspect ratio. Defaults to <code>0</code>, which
1432
+ /// means no scaling is applied.
1433
+ @property (nonatomic) NSInteger pdfMaxScanDimension;
1434
+ /// The configuration for Optical Character Recognition. Default is <code>nil</code>, which
1435
+ /// means no OCR is performed.
1436
+ @property (nonatomic, strong) GSKScanFlowOCRConfiguration * _Nullable ocrConfiguration;
1437
+ /// The types of structured data you want to extract from the document. This is
1438
+ /// an option set so you can combine multiple values.
1439
+ @property (nonatomic) GSKScanFlowStructuredData structuredData;
1440
+ /// The URL of the directory to which the scan flow should write its output files (such as
1441
+ /// scan images). Defaults to the application’s temporary directory. Must contain a valid
1442
+ /// file URL that can either point to an existing or non-existing directory, but which must
1443
+ /// not point to a file. Note: If setting this to a security-scoped URL, then you are responsible
1444
+ /// for making balanced calls to the system’s <code>startAccessingSecurityScopedResource</code>
1445
+ /// and <code>stopAccessingSecurityScopedResource</code> APIs before and after running a scan
1446
+ /// flow session.
1447
+ @property (nonatomic, copy) NSURL * _Nonnull outputDirectoryURL;
1448
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1449
+ @end
1450
+
1451
+ @interface GSKScanFlowConfiguration (SWIFT_EXTENSION(GSSDK))
1452
+ - (BOOL)validate:(NSError * _Nullable * _Nullable)error;
1453
+ @end
1454
+
1455
+ @interface GSKScanFlowConfiguration (SWIFT_EXTENSION(GSSDK))
1456
+ /// Create a configuration from a dictionary.
1457
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1458
+ /// be used in native projects.
1459
+ + (nullable instancetype)configurationWithDictionary:(NSDictionary * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1460
+ /// Create a configuration from JSON data.
1461
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1462
+ /// be used in native projects.
1463
+ + (nullable instancetype)configurationWithJSON:(NSString * _Nonnull)json error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1464
+ @end
1465
+
1466
+ /// Enum that defines various numeric error codes that can occur during a scan flow.
1467
+ /// Cross-platform plugins expose the matching string code as the <code>code</code> field in their structured error payloads.
1468
+ /// | String code | Description | Suggested handling |
1469
+ /// | — | — | — |
1470
+ /// | <code>cancellation_error</code> | The user canceled the document or barcode scan flow. | Treat as a normal exit; do not show an error. |
1471
+ /// | <code>configuration_error</code> | The configuration or input parameters are invalid. | Fix the configuration before retrying. |
1472
+ /// | <code>licensing_error</code> | The license key is invalid, expired, or not initialized. | Verify the license key and contact support if needed. |
1473
+ /// | <code>capture_error</code> | The camera or capture session failed. | Let the user retry; restart the device if the problem persists. |
1474
+ /// | <code>storage_space_error</code> | There is not enough storage space to write generated files. | Ask the user to free up storage space and retry. |
1475
+ /// | <code>internal_error</code> | An unexpected SDK error occurred. | Show a generic error and collect the underlying error for diagnostics. |
1476
+ typedef SWIFT_ENUM(NSInteger, GSKScanFlowErrorCode, open) {
1477
+ /// User has canceled the scan flow
1478
+ GSKScanFlowCancellationErrorCode SWIFT_COMPILE_NAME("cancellation") = 999,
1479
+ /// A general error due to an incorrect configuration. Verify that your
1480
+ /// inputs match the API requirements.
1481
+ GSKScanFlowConfigurationErrorCode SWIFT_COMPILE_NAME("configuration") = 1000,
1482
+ /// A licensing error. This is a developer error and you should contact the
1483
+ /// Genius Scan SDK support team to make sure you have a valid license key.
1484
+ GSKScanFlowLicensingErrorCode SWIFT_COMPILE_NAME("licensing") = 1001,
1485
+ /// An error that happened while capturing the scans. This can sometimes be recovered
1486
+ /// by restarting the device.
1487
+ GSKScanFlowCaptureErrorCode SWIFT_COMPILE_NAME("capture") = 1002,
1488
+ /// An error caused by low storage space. This can be recovered by cleaning up
1489
+ /// storage space and trying again.
1490
+ GSKScanFlowStorageSpaceErrorCode SWIFT_COMPILE_NAME("storageSpace") = 1003,
1491
+ /// An internal error. This is a catch-all category, and the underlying error will
1492
+ /// give more details.
1493
+ GSKScanFlowInternalErrorCode SWIFT_COMPILE_NAME("internal") = 9999,
1494
+ };
1495
+
1496
+ SWIFT_CLASS("_TtC5GSSDK26GSKScanFlowErrorCodeBridge")
1497
+ @interface GSKScanFlowErrorCodeBridge : NSObject
1498
+ + (NSString * _Nonnull)stringCodeForRawValue:(NSInteger)rawValue SWIFT_WARN_UNUSED_RESULT;
1499
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1500
+ @end
1501
+
1502
+ /// The different possible filters for the scanner UI.
1503
+ /// Each case maps to a predefined filter configuration except <code>.automatic</code>.
1504
+ typedef SWIFT_ENUM(NSInteger, GSKScanFlowFilterType, open) {
1505
+ GSKScanFlowFilterNone SWIFT_COMPILE_NAME("none") = 0,
1506
+ /// Automatic filter
1507
+ GSKScanFlowFilterAutomatic SWIFT_COMPILE_NAME("automatic") = 1,
1508
+ /// Automatic filter with a monochrome output
1509
+ GSKScanFlowFilterAutomaticDocumentMonochrome SWIFT_COMPILE_NAME("automaticDocumentMonochrome") = 2,
1510
+ /// Automatic filter with a grayscale output
1511
+ GSKScanFlowFilterAutomaticDocumentGrayscale SWIFT_COMPILE_NAME("automaticDocumentGrayscale") = 3,
1512
+ /// Automatic filter with a color output
1513
+ GSKScanFlowFilterAutomaticDocumentColor SWIFT_COMPILE_NAME("automaticDocumentColor") = 4,
1514
+ /// A soft gray scale filter, ideal for documents containing both text and photos, or for text documents with
1515
+ /// a low-contrast between the text and the background.
1516
+ GSKScanFlowFilterSoftGrayscale SWIFT_COMPILE_NAME("softGrayscale") = 5,
1517
+ /// A soft color filter, ideal for documents containing both text and photos
1518
+ GSKScanFlowFilterSoftColor SWIFT_COMPILE_NAME("softColor") = 6,
1519
+ /// A strong monochrome filter, ideal for text documents
1520
+ GSKScanFlowFilterStrongMonochrome SWIFT_COMPILE_NAME("strongMonochrome") = 7,
1521
+ /// A strong grayscale filter, ideal for text documents
1522
+ GSKScanFlowFilterStrongGrayscale SWIFT_COMPILE_NAME("strongGrayscale") = 8,
1523
+ /// A strong color filter, ideal for text documents with some color
1524
+ GSKScanFlowFilterStrongColor SWIFT_COMPILE_NAME("strongColor") = 9,
1525
+ /// A filter that ensures best results for documents with a dark background
1526
+ GSKScanFlowFilterDarkBackground SWIFT_COMPILE_NAME("darkBackground") = 10,
1527
+ /// A filter designed to improve scans of photos.
1528
+ GSKScanFlowFilterPhoto SWIFT_COMPILE_NAME("photo") = 11,
1529
+ };
1530
+
1531
+ /// The capture screen flash mode.
1532
+ typedef SWIFT_ENUM(NSUInteger, GSKScanFlowFlashMode, open) {
1533
+ /// Let the system determine whether to turn on the flash based on the lighting conditions.
1534
+ GSKScanFlowFlashModeAuto = 0,
1535
+ /// Force the flash on.
1536
+ GSKScanFlowFlashModeOn = 1,
1537
+ /// Force the flash off.
1538
+ GSKScanFlowFlashModeOff = 2,
1539
+ };
1540
+
1541
+ /// The format of the exported document.
1542
+ typedef SWIFT_ENUM(NSUInteger, GSKScanFlowMultiPageFormat, open) {
1543
+ GSKScanFlowNone SWIFT_COMPILE_NAME("none") = 0,
1544
+ GSKScanFlowPDF SWIFT_COMPILE_NAME("pdf") = 1,
1545
+ GSKScanFlowTIFF SWIFT_COMPILE_NAME("tiff") = 2,
1546
+ };
1547
+
1548
+ /// The configuration for text recognition
1549
+ SWIFT_CLASS("_TtC5GSSDK27GSKScanFlowOCRConfiguration")
1550
+ @interface GSKScanFlowOCRConfiguration : NSObject
1551
+ /// The BCP47 language tags to process OCR with.
1552
+ @property (nonatomic, copy) NSArray<NSString *> * _Nonnull languageTags;
1553
+ /// The formats in which the OCR result is made available in
1554
+ /// the ScanFlow result. Defaults to all formats.
1555
+ @property (nonatomic) GSKScanFlowOCROutputFormats outputFormats;
1556
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1557
+ @end
1558
+
1559
+ /// The result of the text recognition.
1560
+ SWIFT_CLASS("_TtC5GSSDK20GSKScanFlowOCRResult")
1561
+ @interface GSKScanFlowOCRResult : NSObject
1562
+ /// The raw text recognized in the document.
1563
+ @property (nonatomic, copy) NSString * _Nullable text;
1564
+ /// The text layout of the recognized text.
1565
+ @property (nonatomic, copy) NSString * _Nullable hocrTextLayout;
1566
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1567
+ @end
1568
+
1569
+ /// The generated PDF paper size.
1570
+ typedef SWIFT_ENUM(NSUInteger, GSKScanFlowPDFPageSize, open) {
1571
+ /// PDF page with a width of 8.27 inch (A4 width) and fitting height.
1572
+ GSKScanFlowPDFPageFit SWIFT_COMPILE_NAME("fit") = 0,
1573
+ /// ISO A4 (21cm x 29.7cm).
1574
+ GSKScanFlowPDFPageA4 SWIFT_COMPILE_NAME("A4") = 1,
1575
+ /// US Letter (8.5in x 11in).
1576
+ GSKScanFlowPDFPageLetter SWIFT_COMPILE_NAME("letter") = 2,
1577
+ };
1578
+
1579
+ @class GSKScanFlowScan;
1580
+ /// The result of a scan flow.
1581
+ SWIFT_CLASS("_TtC5GSSDK17GSKScanFlowResult")
1582
+ @interface GSKScanFlowResult : NSObject
1583
+ /// Document containing the pages that were scanned during the scan
1584
+ /// flow. The format is specified by the <code>multiPageFormat</code> property of
1585
+ /// the <code>GSKScanFlowConfiguration</code> used for the scan flow. This is <code>nil</code>
1586
+ /// when <code>multiPageFormat</code> is <code>.none</code> or if document generation failed.
1587
+ @property (nonatomic, copy) NSURL * _Nullable multiPageDocumentURL;
1588
+ /// The individual scans taken during the scan flow.
1589
+ /// Each scan object contains both the original and the enhanced scans.
1590
+ @property (nonatomic, copy) NSArray<GSKScanFlowScan *> * _Nonnull scans;
1591
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1592
+ @end
1593
+
1594
+ @interface GSKScanFlowResult (SWIFT_EXTENSION(GSSDK))
1595
+ /// A dictionary representation of the result.
1596
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1597
+ /// be used in native projects.
1598
+ @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull dictionary;
1599
+ /// Return a JSON representation of the result.
1600
+ /// This is used for interfacing with cross-platform plugins but shouldn’t
1601
+ /// be used in native projects.
1602
+ - (NSString * _Nonnull)json SWIFT_WARN_UNUSED_RESULT;
1603
+ @end
1604
+
1605
+ @class GSKScanFlowStructuredDataResult;
1606
+ /// A page captured by the scan flow.
1607
+ SWIFT_CLASS("_TtC5GSSDK15GSKScanFlowScan")
1608
+ @interface GSKScanFlowScan : NSObject
1609
+ /// The original JPEG out of the camera.
1610
+ /// Note that this image might be rotated, and needs to be read
1611
+ /// with its EXIF orientation to be properly displayed. <code>UIImage</code>
1612
+ /// methods will properly take care of that.
1613
+ @property (nonatomic, copy) NSString * _Nonnull originalFilePath;
1614
+ /// The enhanced, processed, image.
1615
+ @property (nonatomic, copy) NSString * _Nonnull enhancedFilePath;
1616
+ /// If OCR was performed, the recognized text.
1617
+ @property (nonatomic, strong) GSKScanFlowOCRResult * _Nullable ocrResult;
1618
+ /// If structured data extraction was performed, the structured data.
1619
+ @property (nonatomic, strong) GSKScanFlowStructuredDataResult * _Nullable structuredData;
1620
+ - (nonnull instancetype)initWithOriginalFilePath:(NSString * _Nonnull)originalFilePath enhancedFilePath:(NSString * _Nonnull)enhancedFilePath OBJC_DESIGNATED_INITIALIZER;
1621
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1622
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1623
+ @end
1624
+
1625
+ /// The source for a scan flow
1626
+ typedef SWIFT_ENUM(NSUInteger, GSKScanFlowSource, open) {
1627
+ /// Scan using the camera
1628
+ GSKScanFlowSourceCamera = 0,
1629
+ /// Import a file from a URL
1630
+ GSKScanFlowSourceImageURL = 1,
1631
+ /// Import a file from the user’s photo library
1632
+ GSKScanFlowSourceLibrary = 2,
1633
+ };
1634
+
1635
+ @class GSKStructuredDataBankDetails;
1636
+ @class GSKStructuredDataContact;
1637
+ @class GSKStructuredDataReceipt;
1638
+ /// The result of a structured data extraction.
1639
+ SWIFT_CLASS("_TtC5GSSDK31GSKScanFlowStructuredDataResult")
1640
+ @interface GSKScanFlowStructuredDataResult : NSObject
1641
+ /// Present if bank details extraction was requested, <code>nil</code> otherwise.
1642
+ @property (nonatomic, strong) GSKStructuredDataBankDetails * _Nullable bankDetails;
1643
+ /// Present if business card contact extraction was requested and a contact was
1644
+ /// successfully extracted, <code>nil</code> otherwise.
1645
+ @property (nonatomic, strong) GSKStructuredDataContact * _Nullable businessCardContact;
1646
+ /// Present if receipt extraction was requested and a receipt/invoice was
1647
+ /// successfully extracted, <code>nil</code> otherwise.
1648
+ @property (nonatomic, strong) GSKStructuredDataReceipt * _Nullable receipt;
1649
+ /// Present if barcode extraction was requested and codes were successfully extracted, empty otherwise.
1650
+ @property (nonatomic, copy) NSArray<GSKBarcode *> * _Nonnull barcodes;
1651
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1652
+ @end
1653
+
1654
+ /// Enum that describes how a document should be oriented/rotated
1655
+ /// after it’s been captured.
1656
+ typedef SWIFT_ENUM(NSInteger, GSKScanOrientation, open) {
1657
+ /// The document’s original orientation should be used. No rotation
1658
+ /// should be applied.
1659
+ GSKScanOrientationOriginal = 0,
1660
+ /// The document should be automatically rotated to its ideal orientation.
1661
+ GSKScanOrientationAutomatic = 1,
1662
+ };
1663
+
1664
+ /// Address data extracted from a business card document through OCR.
1665
+ SWIFT_CLASS("_TtC5GSSDK24GSKStructuredDataAddress")
1666
+ @interface GSKStructuredDataAddress : NSObject
1667
+ /// The city component of the address.
1668
+ @property (nonatomic, readonly, copy) NSString * _Nullable city;
1669
+ /// The postal/zip code component of the address.
1670
+ @property (nonatomic, readonly, copy) NSString * _Nullable postalCode;
1671
+ /// The street name component of the address.
1672
+ @property (nonatomic, readonly, copy) NSString * _Nullable street;
1673
+ /// The state component of the address.
1674
+ @property (nonatomic, readonly, copy) NSString * _Nullable state;
1675
+ /// The country component of the address.
1676
+ @property (nonatomic, readonly, copy) NSString * _Nullable country;
1677
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1678
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1679
+ @end
1680
+
1681
+ /// The bank details extracted from a document through OCR.
1682
+ SWIFT_CLASS("_TtC5GSSDK28GSKStructuredDataBankDetails")
1683
+ @interface GSKStructuredDataBankDetails : NSObject
1684
+ /// The IBAN if successfully extracted, otherwise is <code>nil</code>.
1685
+ @property (nonatomic, copy) NSString * _Nullable iban;
1686
+ /// The BIC code if successfully extracted, otherwise is <code>nil</code>.
1687
+ @property (nonatomic, copy) NSString * _Nullable bic;
1688
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1689
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1690
+ @end
1691
+
1692
+ @class GSKStructuredDataPhoneNumber;
1693
+ @class CNContact;
1694
+ /// Contact data extracted from a business card document through OCR.
1695
+ SWIFT_CLASS("_TtC5GSSDK24GSKStructuredDataContact")
1696
+ @interface GSKStructuredDataContact : NSObject
1697
+ /// Any name that appears on the business card. Contains the full name, including all components.
1698
+ @property (nonatomic, readonly, copy) NSString * _Nullable name;
1699
+ /// Any organization that appears on the business card.
1700
+ @property (nonatomic, readonly, copy) NSString * _Nullable organization;
1701
+ /// Any address that appears on the business card.
1702
+ @property (nonatomic, readonly, strong) GSKStructuredDataAddress * _Nullable address;
1703
+ /// The phone numbers that appear on the business card.
1704
+ @property (nonatomic, readonly, copy) NSArray<GSKStructuredDataPhoneNumber *> * _Nonnull phoneNumbers;
1705
+ /// The links/URLs that appear on the business card.
1706
+ @property (nonatomic, readonly, copy) NSArray<NSURL *> * _Nonnull links;
1707
+ /// The email addresses that appear on the business card.
1708
+ @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull emailAddresses;
1709
+ /// Return a <code>CNContact</code> representation of the contact data within this instance.
1710
+ - (CNContact * _Nonnull)asCNContact SWIFT_WARN_UNUSED_RESULT;
1711
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1712
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1713
+ @end
1714
+
1715
+ /// Class that enables structured data to be extracted from
1716
+ /// scanned documents.
1717
+ SWIFT_CLASS("_TtC5GSSDK26GSKStructuredDataExtractor")
1718
+ @interface GSKStructuredDataExtractor : NSObject
1719
+ - (nonnull instancetype)init;
1720
+ @end
1721
+
1722
+ @interface GSKStructuredDataExtractor (SWIFT_EXTENSION(GSSDK))
1723
+ /// Extract any bank details that were found in a given document by
1724
+ /// passing in the result of performing OCR on that document. Use
1725
+ /// <code>GSKOCR</code> to obtain a <code>GSKOCRResult</code> instance. Note that if OCR
1726
+ /// was performed for languages that don’t support structured data extraction,
1727
+ /// then this method will throw an error.
1728
+ - (void)bankDetailsFromOCRResult:(GSKOCRResult * _Nonnull)ocrResult completionHandler:(void (^ _Nonnull)(GSKStructuredDataBankDetails * _Nullable, NSError * _Nullable))completionHandler;
1729
+ /// Extract any business card contact that was found in a given document
1730
+ /// by passing in the result of performing OCR on that document. Use
1731
+ /// <code>GSKOCR</code> to obtain a <code>GSKOCRResult</code> instance. Note that if OCR
1732
+ /// was performed for languages that don’t support structured data extraction,
1733
+ /// then this method will throw an error.
1734
+ - (void)businessCardContactFromOCRResult:(GSKOCRResult * _Nonnull)ocrResult completionHandler:(void (^ _Nonnull)(GSKStructuredDataContact * _Nullable, NSError * _Nullable))completionHandler;
1735
+ /// Extract any receipt/invoice information that was found in a given
1736
+ /// document by passing in the result of performing OCR on that document.
1737
+ /// Use <code>GSKOCR</code> to obtain a <code>GSKOCRResult</code> instance. Note that if OCR
1738
+ /// was performed for languages that don’t support structured data extraction,
1739
+ /// then this method will throw an error.
1740
+ - (void)receiptFromOCRResult:(GSKOCRResult * _Nonnull)ocrResult completionHandler:(void (^ _Nonnull)(GSKStructuredDataReceipt * _Nullable, NSError * _Nullable))completionHandler;
1741
+ @end
1742
+
1743
+ /// Enum defining errors that can be thrown by <code>GSKStructuredDataExtractor</code>.
1744
+ /// Note that thrown errors will be wrapped in <code>NSError</code> containers.
1745
+ typedef SWIFT_ENUM(NSInteger, GSKStructuredDataExtractorError, open) {
1746
+ GSKStructuredDataExtractorErrorMissingRequiredOCRMetadata = -1,
1747
+ };
1748
+ static NSString * _Nonnull const GSKStructuredDataExtractorErrorDomain = @"GSSDK.GSKStructuredDataExtractorError";
1749
+
1750
+ /// Phone number data extracted from a business card document through OCR.
1751
+ SWIFT_CLASS("_TtC5GSSDK28GSKStructuredDataPhoneNumber")
1752
+ @interface GSKStructuredDataPhoneNumber : NSObject
1753
+ /// The label of the phone number. For example “Main”, “Office”, etc.
1754
+ @property (nonatomic, readonly, copy) NSString * _Nonnull label;
1755
+ /// A string representation of the phone number itself.
1756
+ @property (nonatomic, readonly, copy) NSString * _Nonnull number;
1757
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1758
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1759
+ @end
1760
+
1761
+ @class NSLocale;
1762
+ /// Receipt/invoice details extracted from a document through OCR.
1763
+ SWIFT_CLASS("_TtC5GSSDK24GSKStructuredDataReceipt")
1764
+ @interface GSKStructuredDataReceipt : NSObject
1765
+ /// The locale that the receipt is in, if successfully extracted, otherwise <code>nil</code>.
1766
+ @property (nonatomic, readonly, copy) NSLocale * _Nullable locale;
1767
+ /// The merchant that the receipt is from, if successfully extracted, otherwise <code>nil</code>.
1768
+ @property (nonatomic, readonly, copy) NSString * _Nullable merchant;
1769
+ /// The code of currency that the receipt is in, if successfully extracted, otherwise <code>nil</code>.
1770
+ @property (nonatomic, readonly, copy) NSString * _Nullable currency;
1771
+ /// Any date that appears on the receipt, if successfully extracted, otherwise <code>nil</code>.
1772
+ @property (nonatomic, readonly, copy) NSDate * _Nullable date;
1773
+ /// The VAT number of the merchant, if successfully extracted, otherwise <code>nil</code>.
1774
+ @property (nonatomic, readonly, copy) NSString * _Nullable vatNumber;
1775
+ /// The value-added tax (VAT) details.
1776
+ /// This property is an array because a receipt may display multiple VAT rates applying to different items
1777
+ @property (nonatomic, readonly, copy) NSArray<GSKReceiptVAT *> * _Nonnull vatValues;
1778
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1779
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1780
+ @end
1781
+
1782
+ SWIFT_CLASS("_TtC5GSSDK13GSKTextLayout")
1783
+ @interface GSKTextLayout : NSObject
1784
+ @property (nonatomic, readonly, copy) NSString * _Nullable hocr;
1785
+ - (nonnull instancetype)initWithHocr:(NSString * _Nullable)hocr OBJC_DESIGNATED_INITIALIZER;
1786
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1787
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1788
+ @end
1789
+
1790
+ /// Converts an OCR text layout into plain text.
1791
+ /// A <code>GSKOCRResult</code> contains both raw text and a <code>GSKTextLayout</code>, which preserves spatial information such as
1792
+ /// bounding boxes and line/word positions. This converter reconstructs the raw text from a <code>GSKTextLayout</code> by
1793
+ /// traversing its bounding boxes in reading order and grouping content into paragraphs.
1794
+ /// Use this when you want to retain only the spatial representation (for highlighting, selection, reflow, etc.)
1795
+ /// and regenerate the plain-text representation on demand, rather than storing both.
1796
+ SWIFT_CLASS("_TtC5GSSDK28GSKTextLayoutToTextConverter")
1797
+ @interface GSKTextLayoutToTextConverter : NSObject
1798
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1799
+ @end
1800
+
1801
+ SWIFT_CLASS("_TtC5GSSDK34GSKTextLayoutToTextConverterResult")
1802
+ @interface GSKTextLayoutToTextConverterResult : NSObject
1803
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1804
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1805
+ @end
1806
+
1807
+ SWIFT_CLASS("_TtC5GSSDK25GSKUIBackgroundProcessing")
1808
+ @interface GSKUIBackgroundProcessing : NSObject
1809
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) GSKUIBackgroundProcessing * _Nonnull shared;)
1810
+ + (GSKUIBackgroundProcessing * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
1811
+ @property (nonatomic, readonly, strong) dispatch_queue_t _Nonnull documentGenerationQueue;
1812
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1813
+ @end
1814
+
1815
+ SWIFT_CLASS("_TtC5GSSDK14GSSDKResources")
1816
+ @interface GSSDKResources : NSObject
1817
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSBundle * _Nonnull bundle;)
1818
+ + (NSBundle * _Nonnull)bundle SWIFT_WARN_UNUSED_RESULT;
1819
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1820
+ @end
1821
+
1822
+ @interface UIViewController (SWIFT_EXTENSION(GSSDK))
1823
+ /// Return a status bar style appropriate for this view controller
1824
+ /// based on the contrast between the status bar’s contents and the
1825
+ /// view controller’s background color.
1826
+ @property (nonatomic, readonly) UIStatusBarStyle gsk_statusBarStyleBasedOnContrast;
1827
+ /// Return the interface orientations that this view controller
1828
+ /// should support based on the current device.
1829
+ @property (nonatomic, readonly) UIInterfaceOrientationMask gsk_supportedInterfaceOrientations;
1830
+ @end
1831
+
1832
+ #endif // defined(__OBJC__)
1833
+ #if __has_attribute(external_source_symbol)
1834
+ # pragma clang attribute pop
1835
+ #endif
1836
+ #if defined(__cplusplus)
1837
+ #endif
1838
+ #pragma clang diagnostic pop
1839
+ #endif
1840
+
1841
+ #else
1842
+ #error unsupported Swift architecture
1843
+ #endif