///
/// ReactNativeHealthkitAutolinking.swift
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///

import NitroModules

// TODO: Use empty enums once Swift supports exporting them as namespaces
//       See: https://github.com/swiftlang/swift/pull/83616
public final class ReactNativeHealthkitAutolinking {
  public typealias bridge = margelo.nitro.healthkit.bridge.swift

  public static func createWorkoutsModule() -> bridge.std__shared_ptr_HybridWorkoutsModuleSpec_ {
    let hybridObject = WorkoutsModule()
    return { () -> bridge.std__shared_ptr_HybridWorkoutsModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isWorkoutsModuleRecyclable() -> Bool {
    return WorkoutsModule.self is any RecyclableView.Type
  }
  
  public static func createCoreModule() -> bridge.std__shared_ptr_HybridCoreModuleSpec_ {
    let hybridObject = CoreModule()
    return { () -> bridge.std__shared_ptr_HybridCoreModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isCoreModuleRecyclable() -> Bool {
    return CoreModule.self is any RecyclableView.Type
  }
  
  public static func createCharacteristicTypeModule() -> bridge.std__shared_ptr_HybridCharacteristicTypeModuleSpec_ {
    let hybridObject = CharacteristicTypeModule()
    return { () -> bridge.std__shared_ptr_HybridCharacteristicTypeModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isCharacteristicTypeModuleRecyclable() -> Bool {
    return CharacteristicTypeModule.self is any RecyclableView.Type
  }
  
  public static func createQuantityTypeModule() -> bridge.std__shared_ptr_HybridQuantityTypeModuleSpec_ {
    let hybridObject = QuantityTypeModule()
    return { () -> bridge.std__shared_ptr_HybridQuantityTypeModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isQuantityTypeModuleRecyclable() -> Bool {
    return QuantityTypeModule.self is any RecyclableView.Type
  }
  
  public static func createCategoryTypeModule() -> bridge.std__shared_ptr_HybridCategoryTypeModuleSpec_ {
    let hybridObject = CategoryTypeModule()
    return { () -> bridge.std__shared_ptr_HybridCategoryTypeModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isCategoryTypeModuleRecyclable() -> Bool {
    return CategoryTypeModule.self is any RecyclableView.Type
  }
  
  public static func createCorrelationTypeModule() -> bridge.std__shared_ptr_HybridCorrelationTypeModuleSpec_ {
    let hybridObject = CorrelationTypeModule()
    return { () -> bridge.std__shared_ptr_HybridCorrelationTypeModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isCorrelationTypeModuleRecyclable() -> Bool {
    return CorrelationTypeModule.self is any RecyclableView.Type
  }
  
  public static func createElectrocardiogramModule() -> bridge.std__shared_ptr_HybridElectrocardiogramModuleSpec_ {
    let hybridObject = ElectrocardiogramModule()
    return { () -> bridge.std__shared_ptr_HybridElectrocardiogramModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isElectrocardiogramModuleRecyclable() -> Bool {
    return ElectrocardiogramModule.self is any RecyclableView.Type
  }
  
  public static func createHeartbeatSeriesModule() -> bridge.std__shared_ptr_HybridHeartbeatSeriesModuleSpec_ {
    let hybridObject = HeartbeatSeriesModule()
    return { () -> bridge.std__shared_ptr_HybridHeartbeatSeriesModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isHeartbeatSeriesModuleRecyclable() -> Bool {
    return HeartbeatSeriesModule.self is any RecyclableView.Type
  }
  
  public static func createStateOfMindModule() -> bridge.std__shared_ptr_HybridStateOfMindModuleSpec_ {
    let hybridObject = StateOfMindModule()
    return { () -> bridge.std__shared_ptr_HybridStateOfMindModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isStateOfMindModuleRecyclable() -> Bool {
    return StateOfMindModule.self is any RecyclableView.Type
  }
  
  public static func createMedicationModule() -> bridge.std__shared_ptr_HybridMedicationModuleSpec_ {
    let hybridObject = MedicationModule()
    return { () -> bridge.std__shared_ptr_HybridMedicationModuleSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isMedicationModuleRecyclable() -> Bool {
    return MedicationModule.self is any RecyclableView.Type
  }
}
