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

  private protocol AutolinkedClass {
    associatedtype T
    /**
     * Creates an instance of the Swift class that implements the HybridObject's spec,
     * and wraps it in a Swift class that can directly interop with C++.
     *
     * This is generated by Nitrogen and will initialize the class specified
     * in the `"autolinking"` property of `nitro.json`.
     */
    static func create() -> T
    /**
     * Returns whether this concrete implementation is also
     * conforming to the `RecyclableView` protocol, or not.
     */
    static var isRecyclableHybridView: Bool { get }
  }

  public final class BlurView: AutolinkedClass {
    public static func create() -> bridge.std__shared_ptr_HybridBlurViewSpec_ {
      let hybridObject = HybridBlurView()
      return { () -> bridge.std__shared_ptr_HybridBlurViewSpec_ in
        let __cxxWrapped = hybridObject.getCxxWrapper()
        return __cxxWrapped.getCxxPart()
      }()
    }
    public static var isRecyclableHybridView: Bool {
      return HybridBlurView.self is any RecyclableView.Type
    }
  }
  
  public final class BlurViewGroup: AutolinkedClass {
    public static func create() -> bridge.std__shared_ptr_HybridBlurViewGroupSpec_ {
      let hybridObject = HybridBlurViewGroup()
      return { () -> bridge.std__shared_ptr_HybridBlurViewGroupSpec_ in
        let __cxxWrapped = hybridObject.getCxxWrapper()
        return __cxxWrapped.getCxxPart()
      }()
    }
    public static var isRecyclableHybridView: Bool {
      return HybridBlurViewGroup.self is any RecyclableView.Type
    }
  }
}
