import Foundation

protocol __PrivProto {
}
class Foo : NSObject, __PrivProto {
  var __privValue: AnyObject!
  func __noArgs()
  func __oneArg(arg: Int32)
  func __twoArgs(arg: Int32, other arg2: Int32)
  class func __foo() -> Self!
  class func __fooWithNoArgs() -> Self!
  convenience init!(__oneArg arg: Int32)
  @available(*, unavailable, message="use object construction 'Foo(__oneArg:)'")
  class func __fooWithOneArg(arg: Int32) -> Self!
  convenience init!(__twoArgs arg: Int32, other arg2: Int32)
  @available(*, unavailable, message="use object construction 'Foo(__twoArgs:other:)'")
  class func __fooWithTwoArgs(arg: Int32, other arg2: Int32) -> Self!
  convenience init!(__ arg: Int32)
  @available(*, unavailable, message="use object construction 'Foo(__:)'")
  class func __foo(arg: Int32) -> Self!
  func objectForKeyedSubscript(index: AnyObject!) -> AnyObject!
  func __setObject(object: AnyObject!, forKeyedSubscript index: AnyObject!)
  func __objectAtIndexedSubscript(index: Int32) -> AnyObject!
  func setObject(object: AnyObject!, 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 : RawRepresentable, Equatable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
}
var __E0PrivA: E0 { get }
struct __PrivE1 : RawRepresentable, Equatable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
}
var __PrivE1A: __PrivE1 { get }
struct __PrivE2 : RawRepresentable, Equatable {
  init(_ rawValue: UInt32)
  init(rawValue: UInt32)
  var rawValue: UInt32
}
var __PrivE2A: __PrivE2 { get }
enum __PrivNSEnum : Int {
  init?(rawValue: Int)
  var rawValue: Int { get }
  case A
}
enum NSEnum : Int {
  init?(rawValue: Int)
  var rawValue: Int { get }
  case __PrivA
  case B
}
struct __PrivNSOptions : OptionSetType {
  init(rawValue: Int)
  let rawValue: Int
  static var A: __PrivNSOptions { get }
}
struct NSOptions : OptionSetType {
  init(rawValue: Int)
  let rawValue: Int
  static var __PrivA: NSOptions { get }
  static var B: NSOptions { get }
}
typealias __PrivCFTypeRef = __PrivCFType
typealias __PrivCFSubRef = __PrivCFSub
typealias __PrivInt = Int32
