// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name BarkoderSDK
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.1
import AVFoundation
import AudioToolbox
import Barkoder
@_exported import BarkoderSDK
import CoreMedia
import Foundation
import Swift
import UIKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
@objc public protocol BarkoderResultDelegate {
  #if compiler(>=5.3) && $NonescapableTypes
  @objc func scanningFinished(_ decoderResults: [Barkoder.DecoderResult], thumbnails: [UIKit.UIImage]?, image: UIKit.UIImage?)
  #endif
}
@_inheritsConvenienceInitializers @objc public class BarkoderConfig : ObjectiveC.NSObject {
  @objc public var roiLineColor: UIKit.UIColor {
    @objc get
    @objc set
  }
  @objc public var roiLineWidth: Swift.Float {
    @objc get
    @objc set
  }
  @objc public var roiOverlayBackgroundColor: UIKit.UIColor {
    @objc get
    @objc set
  }
  @objc public var scanningIndicatorColor: UIKit.UIColor {
    @objc get
    @objc set
  }
  @objc public var scanningIndicatorWidth: Swift.Float {
    @objc get
    @objc set
  }
  @objc public var scanningIndicatorAnimation: Swift.Int {
    @objc get
    @objc set
  }
  @objc public var scanningIndicatorAlwaysVisible: Swift.Bool {
    @objc get
    @objc set
  }
  @objc public var regionOfInterestVisible: Swift.Bool {
    @objc get
    @objc set
  }
  @objc public var locationLineColor: UIKit.UIColor
  @objc public var locationLineWidth: Swift.Float
  @objc public var pinchToZoomEnabled: Swift.Bool
  @objc public var beepOnSuccessEnabled: Swift.Bool
  @objc public var vibrateOnSuccessEnabled: Swift.Bool
  @objc public var closeSessionOnResultEnabled: Swift.Bool
  @objc public var imageResultEnabled: Swift.Bool
  @objc public var locationInImageResultEnabled: Swift.Bool
  @objc public var locationInPreviewEnabled: Swift.Bool
  @objc public var decoderConfig: Barkoder.Config?
  @objc public var arConfig: BarkoderSDK.BarkoderARConfig
  @objc public var barkoderResolution: BarkoderSDK.BarkoderView.BarkoderResolution {
    @objc get
    @objc set
  }
  @objc public var barcodeThumbnailOnResult: Swift.Bool
  @objc public var thresholdBetweenDuplicatesScans: Swift.Int
  @objc public var showDuplicatesLocations: Swift.Bool
  @objc open func setRegionOfInterest(_ value: CoreFoundation.CGRect) throws
  @objc open func getRegionOfInterest() -> CoreFoundation.CGRect
  @objc convenience public init(licenseKey: Swift.String, licenseCheckHandler: @escaping (Barkoder.LicenseCheckResult) -> Swift.Void)
  @objc open func setThreadsLimit(_ value: Swift.Int) throws
  @objc open func getThreadsLimit() -> Swift.Int
  @objc open func setMulticodeCachingEnabled(_ boolean: Swift.Bool)
  @objc open func getMulticodeCachingEnabled() -> Swift.Bool
  @objc open func setMulticodeCachingDuration(_ value: Swift.Int)
  @objc open func getMulticodeCachingDuration() -> Swift.Int
  @objc public var powerSavingMode: Swift.Int {
    @objc get
    @objc set
  }
  @objc override dynamic public init()
  @objc deinit
}
extension UIKit.UIImage {
  public func fixOrientation() -> UIKit.UIImage
}
@objc public protocol BarkoderPerformanceDelegate {
  @objc optional func performanceReceived(fps: Swift.Float, dps: Swift.Float)
}
@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc @_Concurrency.MainActor @preconcurrency public class BarkoderView : UIKit.UIView, BarkoderSDK.BarkoderPreviewFramesDelegate {
  @objc public enum BarkoderResolution : Swift.Int {
    case HD
    case FHD
    case UHD
    #if compiler(>=5.3) && $NonescapableTypes
    public init?(rawValue: Swift.Int)
    #endif
    public typealias RawValue = Swift.Int
    public var rawValue: Swift.Int {
      get
    }
  }
  @objc public enum BarkoderCameraPosition : Swift.Int {
    case BACK
    case FRONT
    #if compiler(>=5.3) && $NonescapableTypes
    public init?(rawValue: Swift.Int)
    #endif
    public typealias RawValue = Swift.Int
    public var rawValue: Swift.Int {
      get
    }
  }
  @objc @_Concurrency.MainActor @preconcurrency public var config: BarkoderSDK.BarkoderConfig? {
    @objc get
    @objc set
  }
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(frame: CoreFoundation.CGRect)
  @objc @_Concurrency.MainActor @preconcurrency public func startCamera()
  #if compiler(>=5.3) && $NonescapableTypes
  @objc @_Concurrency.MainActor @preconcurrency public func setPreviewFramesDelegate(_ delegate: (any BarkoderSDK.BarkoderPreviewFramesDelegate)?)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc @_Concurrency.MainActor @preconcurrency public func setBarkoderPerformanceDelegate(_ delegate: (any BarkoderSDK.BarkoderPerformanceDelegate)?)
  #endif
  @objc @_Concurrency.MainActor @preconcurrency public func startScanning(_ resultDelegate: any BarkoderSDK.BarkoderResultDelegate) throws
  @objc @_Concurrency.MainActor @preconcurrency public func stopScanning()
  @objc @_Concurrency.MainActor @preconcurrency public func pauseScanning()
  @objc @_Concurrency.MainActor @preconcurrency public func freezeScanning()
  @objc @_Concurrency.MainActor @preconcurrency public func unfreezeScanning()
  @objc @_Concurrency.MainActor @preconcurrency public func setZoomFactor(_ zoomFactor: Swift.Float)
  @objc @_Concurrency.MainActor @preconcurrency public func setCamera(_ position: BarkoderSDK.BarkoderView.BarkoderCameraPosition)
  @objc @_Concurrency.MainActor @preconcurrency public func setFlash(_ enabled: Swift.Bool)
  @objc @_Concurrency.MainActor @preconcurrency public func getMaxZoomFactor(_ completion: @escaping (_ maxZoomFactor: Swift.Float) -> Swift.Void)
  @objc @_Concurrency.MainActor @preconcurrency public func getCurrentZoomFactor() -> Swift.Float
  @objc @_Concurrency.MainActor @preconcurrency public func isFlashAvailable(_ completion: @escaping (_ flashAvailable: Swift.Bool) -> Swift.Void)
  @objc @_Concurrency.MainActor @preconcurrency public func setDynamicExposure(_ intensity: Swift.Int)
  @objc @_Concurrency.MainActor @preconcurrency public func setCentricFocusAndExposure(_ enabled: Swift.Bool)
  @objc @_Concurrency.MainActor @preconcurrency public func setVideoStabilization(_ enabled: Swift.Bool)
  @objc @_Concurrency.MainActor @preconcurrency public func captureImage()
  #if compiler(>=5.3) && $NonescapableTypes
  @objc @_Concurrency.MainActor @preconcurrency public func configureCloseButton(visible: Swift.Bool, position: Foundation.NSValue? = nil, iconSize: Foundation.NSNumber? = nil, tintColor: UIKit.UIColor? = nil, backgroundColor: UIKit.UIColor? = nil, cornerRadius: Foundation.NSNumber? = nil, padding: Foundation.NSNumber? = nil, useCustomIcon: Foundation.NSNumber? = nil, customIcon: UIKit.UIImage? = nil, onClose: (@convention(block) () -> Swift.Void)? = nil)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc @_Concurrency.MainActor @preconcurrency public func configureFlashButton(visible: Swift.Bool, position: Foundation.NSValue? = nil, iconSize: Foundation.NSNumber? = nil, tintColor: UIKit.UIColor? = nil, backgroundColor: UIKit.UIColor? = nil, cornerRadius: Foundation.NSNumber? = nil, padding: Foundation.NSNumber? = nil, useCustomIcon: Foundation.NSNumber? = nil, customIconFlashOn: UIKit.UIImage? = nil, customIconFlashOff: UIKit.UIImage? = nil)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc @_Concurrency.MainActor @preconcurrency public func configureZoomButton(visible: Swift.Bool, position: Foundation.NSValue? = nil, iconSize: Foundation.NSNumber? = nil, tintColor: UIKit.UIColor? = nil, backgroundColor: UIKit.UIColor? = nil, cornerRadius: Foundation.NSNumber? = nil, padding: Foundation.NSNumber? = nil, useCustomIcon: Foundation.NSNumber? = nil, customIconZoomedIn: UIKit.UIImage? = nil, customIconZoomedOut: UIKit.UIImage? = nil, zoomedInFactor: Foundation.NSNumber? = nil, zoomedOutFactor: Foundation.NSNumber? = nil)
  #endif
  @objc @_Concurrency.MainActor @preconcurrency public func selectVisibleBarcodes()
  @_Concurrency.MainActor @preconcurrency @objc public func cameraFrameReceived(sampleBuffer: CoreMedia.CMSampleBuffer)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func layoutSubviews()
  @objc deinit
}
extension BarkoderSDK.BarkoderView : UIKit.UIGestureRecognizerDelegate {
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func gestureRecognizer(_ gestureRecognizer: UIKit.UIGestureRecognizer, shouldReceive touch: UIKit.UITouch) -> Swift.Bool
}
extension CoreFoundation.CGRect {
  public static let fullScreen: CoreFoundation.CGRect
  public func fullScreenIntersection() -> CoreFoundation.CGRect
  public func isFullScreen() -> Swift.Bool
}
@objc public enum BarkoderARMode : Swift.Int {
  case off
  case interactiveDisabled
  case interactiveEnabled
  case nonInteractive
  #if compiler(>=5.3) && $NonescapableTypes
  public init?(rawValue: Swift.Int)
  #endif
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum BarkoderAROverlayRefresh : Swift.Int {
  case smooth
  case normal
  #if compiler(>=5.3) && $NonescapableTypes
  public init?(rawValue: Swift.Int)
  #endif
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum BarkoderARLocationType : Swift.Int {
  case none
  case tight
  case boundingBox
  #if compiler(>=5.3) && $NonescapableTypes
  public init?(rawValue: Swift.Int)
  #endif
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum BarkoderARHeaderShowMode : Swift.Int {
  case never
  case always
  case onSelected
  #if compiler(>=5.3) && $NonescapableTypes
  public init?(rawValue: Swift.Int)
  #endif
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@_inheritsConvenienceInitializers @objc public class BarkoderARConfig : ObjectiveC.NSObject {
  @objc public var arMode: BarkoderSDK.BarkoderARMode {
    @objc get
    @objc set
  }
  @objc public var resultDisappearanceDelayMs: Swift.Int
  @objc public var locationTransitionSpeed: Swift.Float {
    @objc get
    @objc set
  }
  @objc public var overlayRefresh: BarkoderSDK.BarkoderAROverlayRefresh
  @objc public var selectedLocationColor: UIKit.UIColor
  @objc public var nonSelectedLocationColor: UIKit.UIColor
  @objc public var selectedLocationLineWidth: Swift.Float
  @objc public var nonSelectedLocationLineWidth: Swift.Float
  @objc public var locationType: BarkoderSDK.BarkoderARLocationType
  @objc public var doubleTapToFreezeEnabled: Swift.Bool
  @objc public var imageResultEnabled: Swift.Bool
  @objc public var barcodeThumbnailOnResult: Swift.Bool
  @objc public var resultLimit: Swift.Int
  @objc public var continueScanningOnLimit: Swift.Bool
  @objc public var emitResultsAtSessionEndOnly: Swift.Bool
  @objc public var headerHeight: Swift.Float
  @objc public var headerShowMode: BarkoderSDK.BarkoderARHeaderShowMode
  @objc public var headerMaxTextHeight: Swift.Float
  @objc public var headerMinTextHeight: Swift.Float
  @objc public var headerTextColorSelected: UIKit.UIColor
  @objc public var headerTextColorNonSelected: UIKit.UIColor
  @objc public var headerHorizontalTextMargin: Swift.Float
  @objc public var headerVerticalTextMargin: Swift.Float
  @objc public var headerTextFormat: Swift.String
  @objc override dynamic public init()
  @objc deinit
}
@objc public protocol BarkoderPreviewFramesDelegate {
  @objc optional func cameraFrameReceived(sampleBuffer: CoreMedia.CMSampleBuffer)
}
@objc extension Barkoder.iBarkoder {
  @objc public static func GetVersion() -> Swift.String
}
@_inheritsConvenienceInitializers @objc public class BarkoderHelper : ObjectiveC.NSObject {
  @objc public static func scanImage(_ image: UIKit.UIImage, bkdConfig: BarkoderSDK.BarkoderConfig, resultDelegate: any BarkoderSDK.BarkoderResultDelegate)
  @objc public static func scanFromGallery(bkdConfig: BarkoderSDK.BarkoderConfig, resultDelegate: any BarkoderSDK.BarkoderResultDelegate)
  @objc public enum BarkoderConfigTemplate : Swift.Int {
    case all
    case pdf_optimized
    case qr
    case retail_1d
    case industrial_1d
    case all_2d
    case dpm
    case vin
    case dotcode
    case all_1d
    case mrz
    case gallery_scan
    case composite
    case postal_codes
    case ar
    #if compiler(>=5.3) && $NonescapableTypes
    public init?(rawValue: Swift.Int)
    #endif
    public typealias RawValue = Swift.Int
    public var rawValue: Swift.Int {
      get
    }
  }
  @objc public static func applyConfigSettingsFromTemplate(_ config: BarkoderSDK.BarkoderConfig, template: BarkoderSDK.BarkoderHelper.BarkoderConfigTemplate, finished: @escaping (BarkoderSDK.BarkoderConfig) -> Swift.Void)
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public static func applyConfigSettingsFromURL(_ config: BarkoderSDK.BarkoderConfig, url: Foundation.URL, finished: @escaping (BarkoderSDK.BarkoderConfig?, (any Swift.Error)?) -> Swift.Void)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public static func applyConfigSettingsFromFile(_ config: BarkoderSDK.BarkoderConfig, url: Swift.String, finished: @escaping (BarkoderSDK.BarkoderConfig?, (any Swift.Error)?) -> Swift.Void)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public static func applyConfigSettingsFromJson(_ config: BarkoderSDK.BarkoderConfig, jsonData: Foundation.Data, finished: @escaping (BarkoderSDK.BarkoderConfig?, (any Swift.Error)?) -> Swift.Void)
  #endif
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public static func configToJSON(_ barkoderConfig: BarkoderSDK.BarkoderConfig) -> Swift.String?
  #endif
  @objc override dynamic public init()
  @objc deinit
}
extension BarkoderSDK.BarkoderHelper {
  #if compiler(>=5.3) && $NonescapableTypes
  @objc public static func sadlImage(fromExtra extra: [Swift.AnyHashable : Any]?) -> UIKit.UIImage?
  #endif
}
extension BarkoderSDK.BarkoderView.BarkoderResolution : Swift.Equatable {}
extension BarkoderSDK.BarkoderView.BarkoderResolution : Swift.Hashable {}
extension BarkoderSDK.BarkoderView.BarkoderResolution : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderView.BarkoderCameraPosition : Swift.Equatable {}
extension BarkoderSDK.BarkoderView.BarkoderCameraPosition : Swift.Hashable {}
extension BarkoderSDK.BarkoderView.BarkoderCameraPosition : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderARMode : Swift.Equatable {}
extension BarkoderSDK.BarkoderARMode : Swift.Hashable {}
extension BarkoderSDK.BarkoderARMode : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderAROverlayRefresh : Swift.Equatable {}
extension BarkoderSDK.BarkoderAROverlayRefresh : Swift.Hashable {}
extension BarkoderSDK.BarkoderAROverlayRefresh : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderARLocationType : Swift.Equatable {}
extension BarkoderSDK.BarkoderARLocationType : Swift.Hashable {}
extension BarkoderSDK.BarkoderARLocationType : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderARHeaderShowMode : Swift.Equatable {}
extension BarkoderSDK.BarkoderARHeaderShowMode : Swift.Hashable {}
extension BarkoderSDK.BarkoderARHeaderShowMode : Swift.RawRepresentable {}
extension BarkoderSDK.BarkoderHelper.BarkoderConfigTemplate : Swift.Equatable {}
extension BarkoderSDK.BarkoderHelper.BarkoderConfigTemplate : Swift.Hashable {}
extension BarkoderSDK.BarkoderHelper.BarkoderConfigTemplate : Swift.RawRepresentable {}
