///
/// RNRiveAutolinking.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 RNRiveAutolinking {
  public typealias bridge = margelo.nitro.rive.bridge.swift

  public static func createRiveFontConfig() -> bridge.std__shared_ptr_HybridRiveFontConfigSpec_ {
    let hybridObject = HybridRiveFontConfig()
    return { () -> bridge.std__shared_ptr_HybridRiveFontConfigSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveFontConfigRecyclable() -> Bool {
    return HybridRiveFontConfig.self is any RecyclableView.Type
  }
  
  public static func createRiveFileFactory() -> bridge.std__shared_ptr_HybridRiveFileFactorySpec_ {
    let hybridObject = HybridRiveFileFactory()
    return { () -> bridge.std__shared_ptr_HybridRiveFileFactorySpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveFileFactoryRecyclable() -> Bool {
    return HybridRiveFileFactory.self is any RecyclableView.Type
  }
  
  public static func createRiveFile() -> bridge.std__shared_ptr_HybridRiveFileSpec_ {
    let hybridObject = HybridRiveFile()
    return { () -> bridge.std__shared_ptr_HybridRiveFileSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveFileRecyclable() -> Bool {
    return HybridRiveFile.self is any RecyclableView.Type
  }
  
  public static func createRiveView() -> bridge.std__shared_ptr_HybridRiveViewSpec_ {
    let hybridObject = HybridRiveView()
    return { () -> bridge.std__shared_ptr_HybridRiveViewSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveViewRecyclable() -> Bool {
    return HybridRiveView.self is any RecyclableView.Type
  }
  
  public static func createRiveImageFactory() -> bridge.std__shared_ptr_HybridRiveImageFactorySpec_ {
    let hybridObject = HybridRiveImageFactory()
    return { () -> bridge.std__shared_ptr_HybridRiveImageFactorySpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveImageFactoryRecyclable() -> Bool {
    return HybridRiveImageFactory.self is any RecyclableView.Type
  }
  
  public static func createRiveRuntime() -> bridge.std__shared_ptr_HybridRiveRuntimeSpec_ {
    let hybridObject = HybridRiveRuntime()
    return { () -> bridge.std__shared_ptr_HybridRiveRuntimeSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isRiveRuntimeRecyclable() -> Bool {
    return HybridRiveRuntime.self is any RecyclableView.Type
  }
}
