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

  public static func createNitroFetch() -> bridge.std__shared_ptr_HybridNitroFetchSpec_ {
    let hybridObject = NitroFetch()
    return { () -> bridge.std__shared_ptr_HybridNitroFetchSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isNitroFetchRecyclable() -> Bool {
    return NitroFetch.self is any RecyclableView.Type
  }
  
  public static func createNitroFetchClient() -> bridge.std__shared_ptr_HybridNitroFetchClientSpec_ {
    let hybridObject = NitroFetchClient()
    return { () -> bridge.std__shared_ptr_HybridNitroFetchClientSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isNitroFetchClientRecyclable() -> Bool {
    return NitroFetchClient.self is any RecyclableView.Type
  }
  
  public static func createNativeStorage() -> bridge.std__shared_ptr_HybridNativeStorageSpec_ {
    let hybridObject = NativeStorage()
    return { () -> bridge.std__shared_ptr_HybridNativeStorageSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isNativeStorageRecyclable() -> Bool {
    return NativeStorage.self is any RecyclableView.Type
  }
  
  public static func createNitroCronet() -> bridge.std__shared_ptr_HybridNitroCronetSpec_ {
    let hybridObject = HybridNitroCronet()
    return { () -> bridge.std__shared_ptr_HybridNitroCronetSpec_ in
      let __cxxWrapped = hybridObject.getCxxWrapper()
      return __cxxWrapped.getCxxPart()
    }()
  }
  
  public static func isNitroCronetRecyclable() -> Bool {
    return HybridNitroCronet.self is any RecyclableView.Type
  }
}
