Public Swift Wrapper API should not be exposing any of the ObjC types to make sure clients are not dependent on ObjC, in case in future we want to bypass ObjC layer and access Cpp apis directly from swift (announced in wwdc23).
hiding all objc types behind swift and making calls go through swift
exposed objc types are done via a typealias
getters and setters are exposed using computed properties
all methods require objc types in params in swift wrappers are made private
data storage is happening still at the objc layer, but that can be brought back to swift layer later if required (when we plan to bypass objc) due to clients not having objc dependency.
Public Swift Wrapper API should not be exposing any of the ObjC types to make sure clients are not dependent on ObjC, in case in future we want to bypass ObjC layer and access Cpp apis directly from swift (announced in wwdc23).
data storage is happening still at the objc layer, but that can be brought back to swift layer later if required (when we plan to bypass objc) due to clients not having objc dependency.