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

public final class ReactNativeVideoAutolinking {
  public typealias bridge = margelo.nitro.video.bridge.swift

  /**
   * Creates an instance of a Swift class that implements `HybridVideoPlayerFactorySpec`,
   * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoPlayerFactorySpec_cxx`)
   *
   * This is generated by Nitrogen and will initialize the class specified
   * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoPlayerFactory`).
   */
  public static func createVideoPlayerFactory() -> bridge.std__shared_ptr_HybridVideoPlayerFactorySpec_ {
    let hybridObject = HybridVideoPlayerFactory()
    return { () -> bridge.std__shared_ptr_HybridVideoPlayerFactorySpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  /**
   * Creates an instance of a Swift class that implements `HybridVideoPlayerSourceFactorySpec`,
   * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoPlayerSourceFactorySpec_cxx`)
   *
   * This is generated by Nitrogen and will initialize the class specified
   * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoPlayerSourceFactory`).
   */
  public static func createVideoPlayerSourceFactory() -> bridge.std__shared_ptr_HybridVideoPlayerSourceFactorySpec_ {
    let hybridObject = HybridVideoPlayerSourceFactory()
    return { () -> bridge.std__shared_ptr_HybridVideoPlayerSourceFactorySpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  /**
   * Creates an instance of a Swift class that implements `HybridVideoViewViewManagerFactorySpec`,
   * and wraps it in a Swift class that can directly interop with C++ (`HybridVideoViewViewManagerFactorySpec_cxx`)
   *
   * This is generated by Nitrogen and will initialize the class specified
   * in the `"autolinking"` property of `nitro.json` (in this case, `HybridVideoViewViewManagerFactory`).
   */
  public static func createVideoViewViewManagerFactory() -> bridge.std__shared_ptr_HybridVideoViewViewManagerFactorySpec_ {
    let hybridObject = HybridVideoViewViewManagerFactory()
    return { () -> bridge.std__shared_ptr_HybridVideoViewViewManagerFactorySpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
}
