library {
  // module name: <dependency.def>

  library fragment {
    // package name: dependency

    // class name: dependency/MyClass
    // class name: dependency/MyClass.Companion
    // class name: dependency/MyClassMeta
    // class name: dependency/SkipClass
    // class name: dependency/SkipClass.Companion
    // class name: dependency/SkipClassMeta

    @kotlinx/cinterop/ExternalObjCClass
    public open class dependency/MyClass : kotlinx/cinterop/ObjCObjectBase {

      protected /* secondary */ constructor()

      @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false)
      public open external fun categoryInstanceMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod2", encoding = "v16@0:8", isStret = false)
      public open external fun categoryInstanceMethod2(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false)
      public open external fun instanceMethod(): kotlin/Unit

      // companion object: Companion

      // nested class: Companion
    }

    public final companion object dependency/MyClass.Companion : dependency/MyClassMeta, kotlinx/cinterop/ObjCClassOf<dependency/MyClass> {

      private constructor()
    }

    @kotlinx/cinterop/ExternalObjCClass
    public open class dependency/MyClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta {

      protected /* secondary */ constructor()

      @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false)
      public open external fun categoryClassMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod2", encoding = "v16@0:8", isStret = false)
      public open external fun categoryClassMethod2(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false)
      public open external fun classMethod(): kotlin/Unit
    }

    @kotlinx/cinterop/ExternalObjCClass
    public open class dependency/SkipClass : kotlinx/cinterop/ObjCObjectBase {

      protected /* secondary */ constructor()

      @kotlinx/cinterop/ObjCMethod(selector = "instanceMethod", encoding = "v16@0:8", isStret = false)
      public open external fun instanceMethod(): kotlin/Unit

      // companion object: Companion

      // nested class: Companion
    }

    public final companion object dependency/SkipClass.Companion : dependency/SkipClassMeta, kotlinx/cinterop/ObjCClassOf<dependency/SkipClass> {

      private constructor()
    }

    @kotlinx/cinterop/ExternalObjCClass
    public open class dependency/SkipClassMeta : kotlinx/cinterop/ObjCObjectBaseMeta {

      protected /* secondary */ constructor()

      @kotlinx/cinterop/ObjCMethod(selector = "classMethod", encoding = "v16@0:8", isStret = false)
      public open external fun classMethod(): kotlin/Unit
    }

    package {

      @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false)
      @kotlin/Deprecated(message = "Use class method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING)
      public final external fun dependency/MyClassMeta.categoryClassMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod", encoding = "v16@0:8", isStret = false)
      public final external fun dependency/SkipClassMeta.categoryClassMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryClassMethod2", encoding = "v16@0:8", isStret = false)
      @kotlin/Deprecated(message = "Use class method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING)
      public final external fun dependency/MyClassMeta.categoryClassMethod2(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false)
      @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING)
      public final external fun dependency/MyClass.categoryInstanceMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod", encoding = "v16@0:8", isStret = false)
      public final external fun dependency/SkipClass.categoryInstanceMethod(): kotlin/Unit

      @kotlinx/cinterop/ObjCMethod(selector = "categoryInstanceMethod2", encoding = "v16@0:8", isStret = false)
      @kotlin/Deprecated(message = "Use instance method instead", replaceWith = kotlin/ReplaceWith(imports = [], expression = ""), level = kotlin/DeprecationLevel.WARNING)
      public final external fun dependency/MyClass.categoryInstanceMethod2(): kotlin/Unit
    }
  }
}
