arm64-apple-ios.private.swiftinterface 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. // swift-interface-format-version: 1.0
  2. // swift-compiler-version: Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
  3. // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name FBSDKShareKit
  4. // swift-module-flags-ignorable: -enable-bare-slash-regex
  5. import FBSDKCoreKit
  6. import FBSDKCoreKit_Basics
  7. @_exported import FBSDKShareKit
  8. import Foundation
  9. import Photos
  10. import Social
  11. import Swift
  12. import UIKit
  13. import _Concurrency
  14. import _StringProcessing
  15. import _SwiftConcurrencyShims
  16. @objcMembers @objc(FBSDKAppInviteContent) final public class AppInviteContent : ObjectiveC.NSObject {
  17. @objc(FBSDKAppInviteDestination) public enum Destination : Swift.Int {
  18. case facebook
  19. case messenger
  20. public init?(rawValue: Swift.Int)
  21. public typealias RawValue = Swift.Int
  22. public var rawValue: Swift.Int {
  23. get
  24. }
  25. }
  26. @objc final public var appInvitePreviewImageURL: Foundation.URL?
  27. @objc final public var appLinkURL: Foundation.URL
  28. @objc final public var promotionCode: Swift.String?
  29. @objc final public var promotionText: Swift.String?
  30. @objc final public var destination: FBSDKShareKit.AppInviteContent.Destination
  31. @objc(initWithAppLinkURL:) public init(appLinkURL: Foundation.URL)
  32. @objc deinit
  33. }
  34. extension FBSDKShareKit.AppInviteContent : FBSDKShareKit.SharingValidatable {
  35. @objc final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  36. }
  37. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKCameraEffectArguments) final public class CameraEffectArguments : ObjectiveC.NSObject {
  38. @objc(setString:forKey:) final public func set(_ string: Swift.String?, forKey key: Swift.String)
  39. @objc final public func string(forKey key: Swift.String) -> Swift.String?
  40. @objc(setArray:forKey:) final public func set(_ array: [Swift.String]?, forKey key: Swift.String)
  41. @objc final public func array(forKey key: Swift.String) -> [Swift.String]?
  42. @objc override dynamic public init()
  43. @objc deinit
  44. }
  45. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKCameraEffectTextures) final public class CameraEffectTextures : ObjectiveC.NSObject {
  46. @objc(setImage:forKey:) final public func set(_ image: UIKit.UIImage?, forKey key: Swift.String)
  47. @objc(imageForKey:) final public func image(forKey key: Swift.String) -> UIKit.UIImage?
  48. @objc override dynamic public init()
  49. @objc deinit
  50. }
  51. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKSendButton) @_Concurrency.MainActor(unsafe) final public class FBSendButton : FBSDKCoreKit.FBButton, FBSDKShareKit.SharingButton, FBSDKCoreKit.FBButtonImpressionLogging {
  52. @objc @_Concurrency.MainActor(unsafe) final public var dialog: FBSDKShareKit.MessageDialog?
  53. @_Concurrency.MainActor(unsafe) @objc final public var shareContent: (any FBSDKShareKit.SharingContent)? {
  54. @objc get
  55. @objc set
  56. }
  57. @_Concurrency.MainActor(unsafe) @objc final public var analyticsParameters: [FBSDKCoreKit.AppEvents.ParameterName : Any]? {
  58. @objc get
  59. }
  60. @_Concurrency.MainActor(unsafe) @objc final public var impressionTrackingEventName: FBSDKCoreKit.AppEvents.Name {
  61. @objc get
  62. }
  63. @_Concurrency.MainActor(unsafe) @objc final public var impressionTrackingIdentifier: Swift.String {
  64. @objc get
  65. }
  66. @_Concurrency.MainActor(unsafe) @objc override final public var isImplicitlyDisabled: Swift.Bool {
  67. @objc get
  68. }
  69. @objc @_Concurrency.MainActor(unsafe) final public func configureButton()
  70. @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
  71. @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
  72. @objc deinit
  73. }
  74. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKShareButton) @_Concurrency.MainActor(unsafe) final public class FBShareButton : FBSDKCoreKit.FBButton, FBSDKShareKit.SharingButton {
  75. @_Concurrency.MainActor(unsafe) @objc final public var shareContent: (any FBSDKShareKit.SharingContent)? {
  76. @objc get
  77. @objc set
  78. }
  79. @objc @_Concurrency.MainActor(unsafe) final public var analyticsParameters: [FBSDKCoreKit.AppEvents.ParameterName : Any]? {
  80. @objc get
  81. }
  82. @objc @_Concurrency.MainActor(unsafe) final public var impressionTrackingEventName: FBSDKCoreKit.AppEvents.Name {
  83. @objc get
  84. }
  85. @objc @_Concurrency.MainActor(unsafe) final public var impressionTrackingIdentifier: Swift.String {
  86. @objc get
  87. }
  88. @_Concurrency.MainActor(unsafe) @objc override final public var isImplicitlyDisabled: Swift.Bool {
  89. @objc get
  90. }
  91. @objc @_Concurrency.MainActor(unsafe) final public func configureButton()
  92. @_Concurrency.MainActor(unsafe) @objc override dynamic public init(frame: CoreFoundation.CGRect)
  93. @_Concurrency.MainActor(unsafe) @objc required dynamic public init?(coder: Foundation.NSCoder)
  94. @objc deinit
  95. }
  96. @objcMembers @objc(FBSDKHashtag) final public class Hashtag : ObjectiveC.NSObject {
  97. @objc final public var stringRepresentation: Swift.String
  98. @objc(initWithString:) public init(_ string: Swift.String)
  99. @objc override final public var description: Swift.String {
  100. @objc get
  101. }
  102. @objc final public var isValid: Swift.Bool {
  103. @objc get
  104. }
  105. @objc override final public var hash: Swift.Int {
  106. @objc get
  107. }
  108. @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
  109. @objc deinit
  110. }
  111. @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @objc(FBSDKMessageDialog) public class MessageDialog : ObjectiveC.NSObject, FBSDKShareKit.SharingDialog {
  112. @objc weak public var delegate: (any FBSDKShareKit.SharingDelegate)?
  113. @objc public var shareContent: (any FBSDKShareKit.SharingContent)?
  114. @objc public var shouldFailOnDataError: Swift.Bool
  115. @objc(initWithContent:delegate:) convenience public init(content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?)
  116. @objc(dialogWithContent:delegate:) public static func dialog(content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?) -> FBSDKShareKit.MessageDialog
  117. @objc(showWithContent:delegate:) public static func show(content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?) -> FBSDKShareKit.MessageDialog
  118. @objc public var canShow: Swift.Bool {
  119. @objc get
  120. }
  121. @discardableResult
  122. @objc public func show() -> Swift.Bool
  123. @objc public func validate() throws
  124. @objc deinit
  125. }
  126. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKShareCameraEffectContent) final public class ShareCameraEffectContent : ObjectiveC.NSObject {
  127. @objc final public var effectID: Swift.String
  128. @objc final public var effectArguments: FBSDKShareKit.CameraEffectArguments
  129. @objc final public var effectTextures: FBSDKShareKit.CameraEffectTextures
  130. @objc final public var contentURL: Foundation.URL?
  131. @objc final public var hashtag: FBSDKShareKit.Hashtag?
  132. @objc final public var peopleIDs: [Swift.String]
  133. @objc final public var placeID: Swift.String?
  134. @objc final public var ref: Swift.String?
  135. @objc final public var pageID: Swift.String?
  136. @objc final public var shareUUID: Swift.String? {
  137. get
  138. }
  139. @objc override dynamic public init()
  140. @objc deinit
  141. }
  142. extension FBSDKShareKit.ShareCameraEffectContent : FBSDKShareKit.SharingContent {
  143. @objc(addParameters:bridgeOptions:) final public func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  144. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  145. }
  146. @objcMembers @objc(FBSDKShareDialog) public class ShareDialog : ObjectiveC.NSObject, FBSDKShareKit.SharingDialog {
  147. @objc weak public var fromViewController: UIKit.UIViewController?
  148. @objc public var mode: FBSDKShareKit.ShareDialog.Mode
  149. @objc weak public var delegate: (any FBSDKShareKit.SharingDelegate)?
  150. @objc public var shareContent: (any FBSDKShareKit.SharingContent)?
  151. @objc public var shouldFailOnDataError: Swift.Bool
  152. @objc(initWithViewController:content:delegate:) public init(viewController: UIKit.UIViewController?, content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?)
  153. @objc deinit
  154. @objc(dialogWithViewController:withContent:delegate:) public class func dialog(viewController: UIKit.UIViewController?, content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?) -> FBSDKShareKit.ShareDialog
  155. @discardableResult
  156. @objc(showFromViewController:withContent:delegate:) public class func show(viewController: UIKit.UIViewController?, content: (any FBSDKShareKit.SharingContent)?, delegate: (any FBSDKShareKit.SharingDelegate)?) -> FBSDKShareKit.ShareDialog
  157. }
  158. extension FBSDKShareKit.ShareDialog {
  159. @objc dynamic public var canShow: Swift.Bool {
  160. @objc get
  161. }
  162. @discardableResult
  163. @objc dynamic public func show() -> Swift.Bool
  164. @objc dynamic public func validate() throws
  165. }
  166. extension FBSDKShareKit.ShareDialog : FBSDKCoreKit.WebDialogDelegate {
  167. @objc dynamic public func webDialog(_ webDialog: FBSDKCoreKit._WebDialog, didCompleteWithResults results: [Swift.String : Any])
  168. @objc dynamic public func webDialog(_ webDialog: FBSDKCoreKit._WebDialog, didFailWithError error: any Swift.Error)
  169. @objc dynamic public func webDialogDidCancel(_ webDialog: FBSDKCoreKit._WebDialog)
  170. }
  171. extension FBSDKShareKit.ShareDialog {
  172. @objc(FBSDKShareDialogMode) public enum Mode : Swift.UInt, Swift.CustomStringConvertible {
  173. case automatic
  174. case native
  175. case shareSheet
  176. case browser
  177. @available(*, deprecated, message: "The web sharing mode is deprecated. Consider using automatic sharing mode instead.")
  178. case web
  179. @available(*, deprecated, message: "The feed browser sharing mode is deprecated. Consider using automatic or browser sharing modes instead.")
  180. case feedBrowser
  181. @available(*, deprecated, message: "The feed web sharing mode is deprecated. Consider using automatic sharing mode instead.")
  182. case feedWeb
  183. public var description: Swift.String {
  184. get
  185. }
  186. public init?(rawValue: Swift.UInt)
  187. public typealias RawValue = Swift.UInt
  188. public var rawValue: Swift.UInt {
  189. get
  190. }
  191. }
  192. }
  193. public let ShareErrorDomain: Swift.String
  194. @objc(FBSDKShareError) public enum ShareError : Swift.Int {
  195. case reserved = 200
  196. case openGraph
  197. case dialogNotAvailable
  198. case unknown
  199. public init?(rawValue: Swift.Int)
  200. public typealias RawValue = Swift.Int
  201. public var rawValue: Swift.Int {
  202. get
  203. }
  204. }
  205. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKShareLinkContent) final public class ShareLinkContent : ObjectiveC.NSObject {
  206. @objc final public var quote: Swift.String?
  207. @objc final public var contentURL: Foundation.URL?
  208. @objc final public var hashtag: FBSDKShareKit.Hashtag?
  209. @objc final public var peopleIDs: [Swift.String]
  210. @objc final public var placeID: Swift.String?
  211. @objc final public var ref: Swift.String?
  212. @objc final public var pageID: Swift.String?
  213. @objc final public let shareUUID: Swift.String?
  214. @objc override dynamic public init()
  215. @objc deinit
  216. }
  217. extension FBSDKShareKit.ShareLinkContent : FBSDKShareKit.SharingContent {
  218. @objc(addParameters:bridgeOptions:) final public func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  219. }
  220. extension FBSDKShareKit.ShareLinkContent : FBSDKShareKit.SharingValidatable {
  221. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  222. }
  223. @objc(FBSDKShareMedia) public protocol ShareMedia {
  224. }
  225. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKShareMediaContent) final public class ShareMediaContent : ObjectiveC.NSObject {
  226. @objc final public var media: [any FBSDKShareKit.ShareMedia]
  227. @objc final public var contentURL: Foundation.URL?
  228. @objc final public var hashtag: FBSDKShareKit.Hashtag?
  229. @objc final public var peopleIDs: [Swift.String]
  230. @objc final public var placeID: Swift.String?
  231. @objc final public var ref: Swift.String?
  232. @objc final public var pageID: Swift.String?
  233. @objc final public let shareUUID: Swift.String?
  234. @objc override dynamic public init()
  235. @objc deinit
  236. }
  237. extension FBSDKShareKit.ShareMediaContent : FBSDKShareKit.SharingContent {
  238. @objc(addParameters:bridgeOptions:) final public func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  239. }
  240. extension FBSDKShareKit.ShareMediaContent : FBSDKShareKit.SharingValidatable {
  241. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  242. }
  243. @_hasMissingDesignatedInitializers @objcMembers @objc(FBSDKSharePhoto) final public class SharePhoto : ObjectiveC.NSObject, FBSDKShareKit.ShareMedia {
  244. @objc final public var image: UIKit.UIImage? {
  245. @objc get
  246. @objc set
  247. }
  248. @objc final public var imageURL: Foundation.URL? {
  249. @objc get
  250. @objc set
  251. }
  252. @objc final public var photoAsset: Photos.PHAsset? {
  253. @objc get
  254. @objc set
  255. }
  256. @objc final public var isUserGenerated: Swift.Bool
  257. @objc final public var caption: Swift.String?
  258. @objc convenience public init(image: UIKit.UIImage, isUserGenerated: Swift.Bool)
  259. @objc convenience public init(imageURL: Foundation.URL, isUserGenerated: Swift.Bool)
  260. @objc convenience public init(photoAsset: Photos.PHAsset, isUserGenerated: Swift.Bool)
  261. @objc deinit
  262. }
  263. extension FBSDKShareKit.SharePhoto : FBSDKShareKit.SharingValidatable {
  264. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  265. }
  266. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKSharePhotoContent) final public class SharePhotoContent : ObjectiveC.NSObject {
  267. @objc final public var photos: [FBSDKShareKit.SharePhoto]
  268. @objc final public var contentURL: Foundation.URL?
  269. @objc final public var hashtag: FBSDKShareKit.Hashtag?
  270. @objc final public var peopleIDs: [Swift.String]
  271. @objc final public var placeID: Swift.String?
  272. @objc final public var ref: Swift.String?
  273. @objc final public var pageID: Swift.String?
  274. @objc final public let shareUUID: Swift.String?
  275. @objc override dynamic public init()
  276. @objc deinit
  277. }
  278. extension FBSDKShareKit.SharePhotoContent : FBSDKShareKit.SharingContent {
  279. @objc(addParameters:bridgeOptions:) final public func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  280. }
  281. extension FBSDKShareKit.SharePhotoContent : FBSDKShareKit.SharingValidatable {
  282. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  283. }
  284. @_hasMissingDesignatedInitializers @objcMembers @objc(FBSDKShareVideo) final public class ShareVideo : ObjectiveC.NSObject, FBSDKShareKit.ShareMedia {
  285. @objc final public var data: Foundation.Data? {
  286. @objc get
  287. @objc set
  288. }
  289. @objc final public var videoAsset: Photos.PHAsset? {
  290. @objc get
  291. @objc set
  292. }
  293. @objc final public var videoURL: Foundation.URL? {
  294. @objc get
  295. @objc set
  296. }
  297. @objc final public var previewPhoto: FBSDKShareKit.SharePhoto?
  298. @objc convenience public init(data: Foundation.Data, previewPhoto: FBSDKShareKit.SharePhoto? = nil)
  299. @objc convenience public init(videoAsset: Photos.PHAsset, previewPhoto: FBSDKShareKit.SharePhoto? = nil)
  300. @objc convenience public init(videoURL: Foundation.URL, previewPhoto: FBSDKShareKit.SharePhoto? = nil)
  301. @objc deinit
  302. }
  303. extension FBSDKShareKit.ShareVideo : FBSDKShareKit.SharingValidatable {
  304. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  305. }
  306. @_inheritsConvenienceInitializers @objcMembers @objc(FBSDKShareVideoContent) final public class ShareVideoContent : ObjectiveC.NSObject {
  307. @objc final public var video: FBSDKShareKit.ShareVideo
  308. @objc final public var contentURL: Foundation.URL?
  309. @objc final public var hashtag: FBSDKShareKit.Hashtag?
  310. @objc final public var peopleIDs: [Swift.String]
  311. @objc final public var placeID: Swift.String?
  312. @objc final public var ref: Swift.String?
  313. @objc final public var pageID: Swift.String?
  314. @objc final public var shareUUID: Swift.String? {
  315. get
  316. }
  317. @objc override dynamic public init()
  318. @objc deinit
  319. }
  320. extension FBSDKShareKit.ShareVideoContent : FBSDKShareKit.SharingContent {
  321. @objc(addParameters:bridgeOptions:) final public func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  322. }
  323. extension FBSDKShareKit.ShareVideoContent : FBSDKShareKit.SharingValidatable {
  324. @objc(validateWithOptions:error:) final public func validate(options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) throws
  325. }
  326. @objc(FBSDKSharing) public protocol Sharing {
  327. @objc weak var delegate: (any FBSDKShareKit.SharingDelegate)? { get set }
  328. @objc var shareContent: (any FBSDKShareKit.SharingContent)? { get set }
  329. @objc var shouldFailOnDataError: Swift.Bool { get set }
  330. @objc(validateWithError:) func validate() throws
  331. }
  332. @objc(FBSDKSharingButton) public protocol SharingButton {
  333. @objc var shareContent: (any FBSDKShareKit.SharingContent)? { get set }
  334. }
  335. @objc(FBSDKSharingContent) public protocol SharingContent : FBSDKShareKit.SharingValidatable, ObjectiveC.NSObjectProtocol {
  336. @objc var contentURL: Foundation.URL? { get set }
  337. @objc var hashtag: FBSDKShareKit.Hashtag? { get set }
  338. @objc var peopleIDs: [Swift.String] { get set }
  339. @objc var placeID: Swift.String? { get set }
  340. @objc var ref: Swift.String? { get set }
  341. @objc var pageID: Swift.String? { get set }
  342. @objc var shareUUID: Swift.String? { get }
  343. @objc(addParameters:bridgeOptions:) func addParameters(_ existingParameters: [Swift.String : Any], options bridgeOptions: FBSDKShareKit.ShareBridgeOptions) -> [Swift.String : Any]
  344. }
  345. @objc(FBSDKSharingDelegate) public protocol SharingDelegate {
  346. @objc(sharer:didCompleteWithResults:) func sharer(_ sharer: any FBSDKShareKit.Sharing, didCompleteWithResults results: [Swift.String : Any])
  347. @objc(sharer:didFailWithError:) func sharer(_ sharer: any FBSDKShareKit.Sharing, didFailWithError error: any Swift.Error)
  348. @objc(sharerDidCancel:) func sharerDidCancel(_ sharer: any FBSDKShareKit.Sharing)
  349. }
  350. @objc(FBSDKSharingDialog) public protocol SharingDialog : FBSDKShareKit.Sharing {
  351. @objc var canShow: Swift.Bool { get }
  352. @objc @discardableResult
  353. func show() -> Swift.Bool
  354. }
  355. @objc(FBSDKSharingValidatable) public protocol SharingValidatable {
  356. @objc(validateWithOptions:error:) func validate(options: FBSDKShareKit.ShareBridgeOptions) throws
  357. }
  358. public enum _ShareUtility {
  359. }
  360. extension FBSDKShareKit._ShareUtility {
  361. public static func validateRequiredValue(_ value: Any, named name: Swift.String) throws
  362. public static func validateArgument<Argument>(_ value: Argument, named name: Swift.String, in possibleValues: Swift.Set<Argument>) throws where Argument : Swift.Hashable
  363. }
  364. extension FBSDKShareKit.AppInviteContent.Destination : Swift.Equatable {}
  365. extension FBSDKShareKit.AppInviteContent.Destination : Swift.Hashable {}
  366. extension FBSDKShareKit.AppInviteContent.Destination : Swift.RawRepresentable {}
  367. extension FBSDKShareKit.ShareDialog.Mode : Swift.Equatable {}
  368. extension FBSDKShareKit.ShareDialog.Mode : Swift.Hashable {}
  369. extension FBSDKShareKit.ShareDialog.Mode : Swift.RawRepresentable {}
  370. extension FBSDKShareKit.ShareError : Swift.Equatable {}
  371. extension FBSDKShareKit.ShareError : Swift.Hashable {}
  372. extension FBSDKShareKit.ShareError : Swift.RawRepresentable {}