import Foundation

protocol __PrivProto {
}
class Foo : NSObject, __PrivProto {
  var __privValue: Any!
  class var __privClassValue: Any!
  func __noArgs()
  func __oneArg(_ arg: Int32)
  func __twoArgs(_ arg: Int32, other arg2: Int32)
  class func __withNoArgs() -> Self!
  @available(swift, obsoleted: 3, renamed: "__withNoArgs()")
  class func __fooWithNoArgs() -> Self!
  convenience init!(__oneArg arg: Int32)
  @available(*, unavailable, renamed: "init(__oneArg:)", message: "Not available in Swift")
  class func __fooWithOneArg(_ arg: Int32) -> Self!
  convenience init!(__twoArgs arg: Int32, other arg2: Int32)
  @available(*, unavailable, renamed: "init(__twoArgs:other:)", message: "Not available in Swift")
  class func __fooWithTwoArgs(_ arg: Int32, other arg2: Int32) -> Self!
  convenience init!(__ arg: Int32)
  @available(*, unavailable, renamed: "init(__:)", message: "Not available in Swift")
  class func __foo(_ arg: Int32) -> Self!
  func objectForKeyedSubscript(_ index: Any!) -> Any!
  func __setObject(_ object: Any!, forKeyedSubscript index: Any!)
  func __objectAtIndexedSubscript(_ index: Int32) -> Any!
  func setObject(_ object: Any!, atIndexedSubscript index: Int32)
  init()
}
class Bar : NSObject {
  init!()
  init!(__noArgs: ())
  init!(__oneArg arg: Int32)
  init!(__twoArgs arg: Int32, other arg2: Int32)
  init!(__ arg: Int32)
}
class __PrivFooSub : Foo {
  convenience init!(__oneArg arg: Int32)
  convenience init!(__twoArgs arg: Int32, other arg2: Int32)
  convenience init!(__ arg: Int32)
  init()
}
func __privTest()
struct S0 {
  var __privValue: Int32
  init()
  init(__privValue: Int32)
}
struct __PrivS1 {
  var value: Int32
  init()
  init(value: Int32)
}
struct __PrivS2 {
  var value: Int32
  init()
  init(value: Int32)
}
var __PrivAnonymousA: Int { get }
struct E0 : Equatable, RawRepresentable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
  typealias RawValue = UInt32
}
var __E0PrivA: E0 { get }
struct __PrivE1 : Equatable, RawRepresentable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
  typealias RawValue = UInt32
}
var __PrivE1A: __PrivE1 { get }
struct __PrivE2 : Equatable, RawRepresentable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
  typealias RawValue = UInt32
}
var __PrivE2A: __PrivE2 { get }
enum __PrivNSEnum : Int {
  init?(rawValue: Int)
  var rawValue: Int { get }
  typealias RawValue = Int
  case A
}
enum NSEnum : Int {
  init?(rawValue: Int)
  var rawValue: Int { get }
  typealias RawValue = Int
  case __privA
  @available(swift, obsoleted: 3, renamed: "__privA")
  static var __PrivA: NSEnum { get }
  case B
}
struct __PrivNSOptions : OptionSet {
  init(rawValue: Int)
  let rawValue: Int
  typealias RawValue = Int
  typealias Element = __PrivNSOptions
  typealias ArrayLiteralElement = __PrivNSOptions
  static var A: __PrivNSOptions { get }
}
struct NSOptions : OptionSet {
  init(rawValue: Int)
  let rawValue: Int
  typealias RawValue = Int
  typealias Element = NSOptions
  typealias ArrayLiteralElement = NSOptions
  static var __privA: NSOptions { get }
  @available(swift, obsoleted: 3, renamed: "__privA")
  static var __PrivA: NSOptions { get }
  static var B: NSOptions { get }
}
class __PrivCFType : _CFObject {
}
@available(swift, obsoleted: 3, renamed: "__PrivCFType")
typealias __PrivCFTypeRef = __PrivCFType
typealias __PrivCFSub = __PrivCFType
@available(swift, obsoleted: 3, renamed: "__PrivCFSub")
typealias __PrivCFSubRef = __PrivCFSub
typealias __PrivInt = Int32
