@shortkitsdk/react-native 0.2.12 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/android/src/main/java/com/shortkit/reactnative/ReactCarouselOverlayHost.kt +47 -4
  2. package/android/src/main/java/com/shortkit/reactnative/ReactVideoCarouselOverlayHost.kt +431 -0
  3. package/android/src/main/java/com/shortkit/reactnative/ShortKitBridge.kt +117 -2
  4. package/android/src/main/java/com/shortkit/reactnative/ShortKitModule.kt +7 -5
  5. package/ios/ReactCarouselOverlayHost.swift +67 -35
  6. package/ios/ReactOverlayHost.swift +85 -75
  7. package/ios/ReactVideoCarouselOverlayHost.swift +283 -0
  8. package/ios/ShortKitBridge.swift +122 -20
  9. package/ios/ShortKitModule.mm +15 -5
  10. package/ios/ShortKitSDK.xcframework/Info.plist +5 -4
  11. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Headers/ShortKitSDK-Swift.h +1 -0
  12. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Info.plist +5 -1
  13. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.abi.json +2488 -281
  14. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +65 -5
  15. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  16. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftinterface +65 -5
  17. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/ShortKitSDK +0 -0
  18. package/ios/ShortKitSDK.xcframework/ios-arm64/ShortKitSDK.framework/_CodeSignature/CodeResources +168 -0
  19. package/ios/{ShortKitSDK.xcframework.bak/ios-arm64-simulator → ShortKitSDK.xcframework/ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Headers/ShortKitSDK-Swift.h +2 -1
  20. package/ios/ShortKitSDK.xcframework/{ios-arm64-simulator → ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Info.plist +5 -1
  21. package/ios/{ShortKitSDK.xcframework.bak/ios-arm64-simulator → ShortKitSDK.xcframework/ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +8233 -3592
  22. package/ios/{ShortKitSDK.xcframework.bak/ios-arm64-simulator → ShortKitSDK.xcframework/ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +120 -19
  23. package/ios/{ShortKitSDK.xcframework.bak/ios-arm64-simulator → ShortKitSDK.xcframework/ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  24. package/ios/{ShortKitSDK.xcframework.bak/ios-arm64-simulator → ShortKitSDK.xcframework/ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +120 -19
  25. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +33558 -0
  26. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +925 -0
  27. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  28. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +925 -0
  29. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/ShortKitSDK +0 -0
  30. package/ios/ShortKitSDK.xcframework/ios-arm64_x86_64-simulator/ShortKitSDK.framework/_CodeSignature/CodeResources +212 -0
  31. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Headers/ShortKitSDK-Swift.h +1 -1
  32. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.abi.json +7338 -3272
  33. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +106 -15
  34. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  35. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios.swiftinterface +106 -15
  36. package/ios/ShortKitSDK.xcframework.dev-backup/ios-arm64/ShortKitSDK.framework/ShortKitSDK +0 -0
  37. package/ios/ShortKitSDK.xcframework.dev-backup/ios-arm64/ShortKitSDK.framework/_CodeSignature/CodeResources +168 -0
  38. package/ios/{ShortKitSDK.xcframework → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +1838 -206
  39. package/ios/{ShortKitSDK.xcframework → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +51 -1
  40. package/ios/{ShortKitSDK.xcframework → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  41. package/ios/{ShortKitSDK.xcframework → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Modules/ShortKitSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +51 -1
  42. package/ios/ShortKitSDK.xcframework.dev-backup/ios-arm64-simulator/ShortKitSDK.framework/ShortKitSDK +0 -0
  43. package/ios/ShortKitSDK.xcframework.dev-backup/ios-arm64-simulator/ShortKitSDK.framework/_CodeSignature/CodeResources +168 -0
  44. package/package.json +1 -1
  45. package/src/ShortKitCarouselOverlaySurface.tsx +57 -2
  46. package/src/ShortKitContext.ts +11 -0
  47. package/src/ShortKitFeed.tsx +25 -10
  48. package/src/ShortKitOverlaySurface.tsx +24 -11
  49. package/src/ShortKitProvider.tsx +4 -2
  50. package/src/ShortKitVideoCarouselOverlaySurface.tsx +156 -0
  51. package/src/ShortKitWidget.tsx +3 -3
  52. package/src/index.ts +5 -1
  53. package/src/serialization.ts +7 -0
  54. package/src/specs/NativeShortKitModule.ts +18 -2
  55. package/src/types.ts +48 -3
  56. package/ios/ShortKitSDK.xcframework/ios-arm64-simulator/ShortKitSDK.framework/ShortKitSDK +0 -0
  57. package/ios/ShortKitSDK.xcframework.bak/ios-arm64/ShortKitSDK.framework/ShortKitSDK +0 -0
  58. package/ios/ShortKitSDK.xcframework.bak/ios-arm64-simulator/ShortKitSDK.framework/ShortKitSDK +0 -0
  59. package/ios/ShortKitSDK.xcframework/{ios-arm64-simulator → ios-arm64_x86_64-simulator}/ShortKitSDK.framework/Modules/module.modulemap +0 -0
  60. package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/Info.plist +4 -4
  61. /package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Info.plist +0 -0
  62. /package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64/ShortKitSDK.framework/Modules/module.modulemap +0 -0
  63. /package/ios/{ShortKitSDK.xcframework → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Headers/ShortKitSDK-Swift.h +0 -0
  64. /package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Info.plist +0 -0
  65. /package/ios/{ShortKitSDK.xcframework.bak → ShortKitSDK.xcframework.dev-backup}/ios-arm64-simulator/ShortKitSDK.framework/Modules/module.modulemap +0 -0
@@ -0,0 +1,925 @@
1
+ // swift-interface-format-version: 1.0
2
+ // swift-compiler-version: Apple Swift version 6.1 effective-5.10 (swiftlang-6.1.0.110.21 clang-1700.0.13.3)
3
+ // swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -O -module-name ShortKitSDK -package-name swift_sdk
4
+ // swift-module-flags-ignorable: -interface-compiler-version 6.1
5
+ import AVFoundation
6
+ import Combine
7
+ import CoreGraphics
8
+ import Foundation
9
+ import Network
10
+ import QuartzCore
11
+ import Swift
12
+ import SwiftUI
13
+ import UIKit
14
+ import _Concurrency
15
+ import _StringProcessing
16
+ import _SwiftConcurrencyShims
17
+ public enum AdQuartile {
18
+ case first
19
+ case midpoint
20
+ case third
21
+ public static func == (a: ShortKitSDK.AdQuartile, b: ShortKitSDK.AdQuartile) -> Swift.Bool
22
+ public func hash(into hasher: inout Swift.Hasher)
23
+ public var hashValue: Swift.Int {
24
+ get
25
+ }
26
+ }
27
+ public protocol ShortKitAdDelegate : AnyObject {
28
+ func adDidStart(_ ad: ShortKitSDK.PreparedAd)
29
+ func adDidReachQuartile(_ ad: ShortKitSDK.PreparedAd, quartile: ShortKitSDK.AdQuartile)
30
+ func adDidComplete(_ ad: ShortKitSDK.PreparedAd)
31
+ func adWasSkipped(_ ad: ShortKitSDK.PreparedAd, watchTime: Foundation.TimeInterval)
32
+ func adDidFail(_ ad: ShortKitSDK.PreparedAd, error: ShortKitSDK.AdError)
33
+ func adDidReceiveClick(_ ad: ShortKitSDK.PreparedAd)
34
+ }
35
+ public protocol ShortKitAdProvider : AnyObject {
36
+ func loadAd(for slot: ShortKitSDK.AdSlot, completion: @escaping (Swift.Result<ShortKitSDK.PreparedAd, ShortKitSDK.AdError>) -> Swift.Void)
37
+ func displayAd(_ ad: ShortKitSDK.PreparedAd, in container: UIKit.UIView, presentingViewController: UIKit.UIViewController, delegate: any ShortKitSDK.ShortKitAdDelegate)
38
+ func dismissAd(_ ad: ShortKitSDK.PreparedAd)
39
+ }
40
+ public protocol BandwidthMonitorProtocol : AnyObject {
41
+ var isDesaturated: Swift.Bool { get }
42
+ var onDesaturationChanged: ((Swift.Bool) -> Swift.Void)? { get set }
43
+ func startObserving(activePlayer: AVFoundation.AVPlayer, nextPlayer: AVFoundation.AVPlayer?)
44
+ func stopObserving()
45
+ }
46
+ final public class BandwidthMonitor : ShortKitSDK.BandwidthMonitorProtocol {
47
+ final public var isDesaturated: Swift.Bool {
48
+ get
49
+ }
50
+ final public var onDesaturationChanged: ((Swift.Bool) -> Swift.Void)?
51
+ public init(activeThreshold: Foundation.TimeInterval = 15.0, nextThreshold: Foundation.TimeInterval = 2.0, pollInterval: Foundation.TimeInterval = 2.0)
52
+ @objc deinit
53
+ final public func startObserving(activePlayer: AVFoundation.AVPlayer, nextPlayer: AVFoundation.AVPlayer?)
54
+ final public func stopObserving()
55
+ public static func isDesaturated(activeBufferedAhead: Foundation.TimeInterval, activeThreshold: Foundation.TimeInterval, nextBuffered: Foundation.TimeInterval, nextThreshold: Foundation.TimeInterval) -> Swift.Bool
56
+ }
57
+ @objc final public class CachingResourceLoader : ObjectiveC.NSObject, AVFoundation.AVAssetResourceLoaderDelegate, @unchecked Swift.Sendable {
58
+ public static let cacheScheme: Swift.String
59
+ final public let segmentCache: any ShortKitSDK.SegmentCacheProtocol
60
+ final public var segmentServer: ShortKitSDK.SegmentHTTPServer?
61
+ public init(segmentCache: any ShortKitSDK.SegmentCacheProtocol, session: Foundation.URLSession = .shared)
62
+ final public var urlMapping: [Foundation.URL : Foundation.URL] {
63
+ get
64
+ }
65
+ public static func cacheSchemeURL(for url: Foundation.URL) -> Foundation.URL
66
+ public static func originalURL(for url: Foundation.URL) -> Foundation.URL
67
+ public static func isSegmentRequest(_ url: Foundation.URL) -> Swift.Bool
68
+ public static func isManifestRequest(_ url: Foundation.URL) -> Swift.Bool
69
+ public static func segmentIndex(from url: Foundation.URL) -> Swift.Int?
70
+ public static func shouldServeCached(videoID: Swift.String, rendition: Swift.String, segmentIndex: Swift.Int, cache: any ShortKitSDK.SegmentCacheProtocol) -> Swift.Bool
71
+ final public func makeAsset(for url: Foundation.URL, videoID: Swift.String, rendition: Swift.String) -> AVFoundation.AVURLAsset
72
+ final public func hasCachedContent(for videoID: Swift.String) -> Swift.Bool
73
+ final public func cachedRendition(for videoID: Swift.String) -> Swift.String?
74
+ @objc final public func resourceLoader(_ resourceLoader: AVFoundation.AVAssetResourceLoader, shouldWaitForLoadingOfRequestedResource loadingRequest: AVFoundation.AVAssetResourceLoadingRequest) -> Swift.Bool
75
+ @objc final public func resourceLoader(_ resourceLoader: AVFoundation.AVAssetResourceLoader, didCancel loadingRequest: AVFoundation.AVAssetResourceLoadingRequest)
76
+ @objc deinit
77
+ }
78
+ public protocol ColdStartManagerProtocol : Swift.Sendable {
79
+ func cachedFeedItems() -> [ShortKitSDK.FeedItem]
80
+ var hasCachedContent: Swift.Bool { get }
81
+ }
82
+ final public class ColdStartManager : ShortKitSDK.ColdStartManagerProtocol, @unchecked Swift.Sendable {
83
+ public init(cache: any ShortKitSDK.SegmentCacheProtocol, enabled: Swift.Bool = true)
84
+ final public var hasCachedContent: Swift.Bool {
85
+ get
86
+ }
87
+ final public func cachedFeedItems() -> [ShortKitSDK.FeedItem]
88
+ @objc deinit
89
+ }
90
+ public struct HLSRendition {
91
+ public let bandwidth: Swift.Int
92
+ public let resolution: CoreFoundation.CGSize
93
+ public let url: Foundation.URL
94
+ }
95
+ public struct HLSSegment {
96
+ public let index: Swift.Int
97
+ public let duration: Swift.Double
98
+ public let url: Foundation.URL
99
+ }
100
+ public enum HLSManifestParser {
101
+ public static func parseRenditions(from manifest: Swift.String) -> [ShortKitSDK.HLSRendition]
102
+ public static func selectRendition(from renditions: [ShortKitSDK.HLSRendition], targetHeight: CoreFoundation.CGFloat) -> ShortKitSDK.HLSRendition?
103
+ public static func parseSegments(from manifest: Swift.String) -> [ShortKitSDK.HLSSegment]
104
+ public static func rewriteURLs(in manifest: Swift.String, toScheme scheme: Swift.String) -> Swift.String
105
+ public static func reorderManifest(_ manifest: Swift.String, preferringHeight: CoreFoundation.CGFloat) -> Swift.String
106
+ }
107
+ public struct CachedVideoMeta : Swift.Codable {
108
+ public let contentItem: ShortKitSDK.ContentItem
109
+ public let streamingUrl: Swift.String
110
+ public let cachedRendition: Swift.String
111
+ public let cachedSegmentCount: Swift.Int
112
+ public let cachedAt: Foundation.Date
113
+ public let thumbnailData: Foundation.Data?
114
+ public init(contentItem: ShortKitSDK.ContentItem, streamingUrl: Swift.String, cachedRendition: Swift.String, cachedSegmentCount: Swift.Int, cachedAt: Foundation.Date, thumbnailData: Foundation.Data?)
115
+ public func encode(to encoder: any Swift.Encoder) throws
116
+ public init(from decoder: any Swift.Decoder) throws
117
+ }
118
+ public protocol SegmentCacheProtocol : AnyObject, Swift.Sendable {
119
+ func segment(for videoID: Swift.String, rendition: Swift.String, index: Swift.Int) -> Foundation.Data?
120
+ func storeSegment(_ data: Foundation.Data, for videoID: Swift.String, rendition: Swift.String, index: Swift.Int)
121
+ func hasSegment(for videoID: Swift.String, rendition: Swift.String, index: Swift.Int) -> Swift.Bool
122
+ func cachedVideoMetas() -> [ShortKitSDK.CachedVideoMeta]
123
+ func storeVideoMeta(_ meta: ShortKitSDK.CachedVideoMeta)
124
+ func videoMeta(for videoID: Swift.String) -> ShortKitSDK.CachedVideoMeta?
125
+ var totalSize: Swift.Int64 { get }
126
+ func evictIfNeeded()
127
+ func clearAll()
128
+ }
129
+ final public class SegmentCache : ShortKitSDK.SegmentCacheProtocol, @unchecked Swift.Sendable {
130
+ public init(directory: Foundation.URL? = nil, budgetBytes: Swift.Int64 = 50 * 1024 * 1024)
131
+ final public func segment(for videoID: Swift.String, rendition: Swift.String, index: Swift.Int) -> Foundation.Data?
132
+ final public func storeSegment(_ data: Foundation.Data, for videoID: Swift.String, rendition: Swift.String, index: Swift.Int)
133
+ final public func hasSegment(for videoID: Swift.String, rendition: Swift.String, index: Swift.Int) -> Swift.Bool
134
+ final public func cachedVideoMetas() -> [ShortKitSDK.CachedVideoMeta]
135
+ final public func storeVideoMeta(_ meta: ShortKitSDK.CachedVideoMeta)
136
+ final public func videoMeta(for videoID: Swift.String) -> ShortKitSDK.CachedVideoMeta?
137
+ final public var totalSize: Swift.Int64 {
138
+ get
139
+ }
140
+ final public func evictIfNeeded()
141
+ final public func clearAll()
142
+ @objc deinit
143
+ }
144
+ final public class SegmentHTTPServer {
145
+ final public var port: Swift.UInt16? {
146
+ get
147
+ }
148
+ public init(cache: any ShortKitSDK.SegmentCacheProtocol)
149
+ @objc deinit
150
+ final public func start() throws
151
+ final public func stop()
152
+ }
153
+ public protocol SegmentPrefetcherProtocol : AnyObject {
154
+ func updateCurrentIndex(_ index: Swift.Int, feedItems: [ShortKitSDK.FeedItem])
155
+ func pause()
156
+ func resume()
157
+ }
158
+ final public class SegmentPrefetcher : ShortKitSDK.SegmentPrefetcherProtocol {
159
+ public init(cache: any ShortKitSDK.SegmentCacheProtocol, monitor: any ShortKitSDK.BandwidthMonitorProtocol, session: Foundation.URLSession? = nil, targetRenditionHeight: Swift.Int = 720, maxCachedVideos: Swift.Int = 7)
160
+ final public func updateCurrentIndex(_ index: Swift.Int, feedItems: [ShortKitSDK.FeedItem])
161
+ final public func pause()
162
+ final public func resume()
163
+ @objc deinit
164
+ }
165
+ public enum FeedHeight : Swift.Codable, Swift.Equatable, Swift.Sendable {
166
+ case fullscreen
167
+ case percentage(CoreFoundation.CGFloat)
168
+ public static func == (a: ShortKitSDK.FeedHeight, b: ShortKitSDK.FeedHeight) -> Swift.Bool
169
+ public func encode(to encoder: any Swift.Encoder) throws
170
+ public init(from decoder: any Swift.Decoder) throws
171
+ }
172
+ public enum ScrollAxis : Swift.String, Swift.Codable, Swift.Equatable, Swift.Sendable {
173
+ case vertical
174
+ case horizontal
175
+ public init?(rawValue: Swift.String)
176
+ public typealias RawValue = Swift.String
177
+ public var rawValue: Swift.String {
178
+ get
179
+ }
180
+ }
181
+ public enum FeedSource : Swift.String, Swift.Codable, Swift.Equatable, Swift.Sendable {
182
+ case algorithmic
183
+ case custom
184
+ public init?(rawValue: Swift.String)
185
+ public typealias RawValue = Swift.String
186
+ public var rawValue: Swift.String {
187
+ get
188
+ }
189
+ }
190
+ public struct FeedFilter : Swift.Codable, Swift.Equatable, Swift.Sendable {
191
+ public var tags: [Swift.String]?
192
+ public var section: Swift.String?
193
+ public var author: Swift.String?
194
+ public var contentType: Swift.String?
195
+ public var metadata: [Swift.String : Swift.String]?
196
+ public init(tags: [Swift.String]? = nil, section: Swift.String? = nil, author: Swift.String? = nil, contentType: Swift.String? = nil, metadata: [Swift.String : Swift.String]? = nil)
197
+ public static func == (a: ShortKitSDK.FeedFilter, b: ShortKitSDK.FeedFilter) -> Swift.Bool
198
+ public func encode(to encoder: any Swift.Encoder) throws
199
+ public init(from decoder: any Swift.Decoder) throws
200
+ }
201
+ public struct FeedConfig : Swift.Codable {
202
+ public var feedHeight: ShortKitSDK.FeedHeight
203
+ public var scrollAxis: ShortKitSDK.ScrollAxis
204
+ public var videoOverlay: ShortKitSDK.VideoOverlayMode
205
+ public var carouselOverlay: ShortKitSDK.CarouselOverlayMode
206
+ public var videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode
207
+ public var surveyOverlay: ShortKitSDK.SurveyOverlayMode
208
+ public var adOverlay: ShortKitSDK.AdOverlayMode
209
+ public var muteOnStart: Swift.Bool
210
+ public var autoplay: Swift.Bool
211
+ public var feedSource: ShortKitSDK.FeedSource
212
+ public var coldStartEnabled: Swift.Bool
213
+ public var pullToRefreshEnabled: Swift.Bool
214
+ public var filter: ShortKitSDK.FeedFilter?
215
+ public var preload: ShortKitSDK.FeedPreload?
216
+ public init(feedHeight: ShortKitSDK.FeedHeight = .fullscreen, scrollAxis: ShortKitSDK.ScrollAxis = .vertical, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, carouselOverlay: ShortKitSDK.CarouselOverlayMode = .none, videoCarouselOverlay: ShortKitSDK.VideoCarouselOverlayMode = .none, surveyOverlay: ShortKitSDK.SurveyOverlayMode = .none, adOverlay: ShortKitSDK.AdOverlayMode = .none, muteOnStart: Swift.Bool = true, autoplay: Swift.Bool = true, feedSource: ShortKitSDK.FeedSource = .algorithmic, coldStartEnabled: Swift.Bool = false, pullToRefreshEnabled: Swift.Bool = true, filter: ShortKitSDK.FeedFilter? = nil, preload: ShortKitSDK.FeedPreload? = nil)
217
+ public func encode(to encoder: any Swift.Encoder) throws
218
+ public init(from decoder: any Swift.Decoder) throws
219
+ }
220
+ public enum VideoOverlayMode {
221
+ case none
222
+ case custom(@Sendable () -> any UIKit.UIView & ShortKitSDK.FeedOverlay)
223
+ }
224
+ extension ShortKitSDK.VideoOverlayMode {
225
+ public static func swiftUI<Content>(@SwiftUICore.ViewBuilder content: @escaping @Sendable (ShortKitSDK.ShortKitPlayer, ShortKitSDK.CellContent) -> Content) -> ShortKitSDK.VideoOverlayMode where Content : SwiftUICore.View
226
+ }
227
+ extension ShortKitSDK.VideoOverlayMode : Swift.Equatable {
228
+ public static func == (lhs: ShortKitSDK.VideoOverlayMode, rhs: ShortKitSDK.VideoOverlayMode) -> Swift.Bool
229
+ }
230
+ extension ShortKitSDK.VideoOverlayMode : Swift.Codable {
231
+ public init(from decoder: any Swift.Decoder) throws
232
+ public func encode(to encoder: any Swift.Encoder) throws
233
+ }
234
+ public enum CarouselOverlayMode {
235
+ case none
236
+ case custom(@Sendable () -> any UIKit.UIView & ShortKitSDK.CarouselOverlay)
237
+ }
238
+ extension ShortKitSDK.CarouselOverlayMode : Swift.Equatable {
239
+ public static func == (lhs: ShortKitSDK.CarouselOverlayMode, rhs: ShortKitSDK.CarouselOverlayMode) -> Swift.Bool
240
+ }
241
+ extension ShortKitSDK.CarouselOverlayMode : Swift.Codable {
242
+ public init(from decoder: any Swift.Decoder) throws
243
+ public func encode(to encoder: any Swift.Encoder) throws
244
+ }
245
+ public enum VideoCarouselOverlayMode {
246
+ case none
247
+ case custom(@Sendable () -> any UIKit.UIView & ShortKitSDK.VideoCarouselOverlay)
248
+ }
249
+ extension ShortKitSDK.VideoCarouselOverlayMode : Swift.Equatable {
250
+ public static func == (lhs: ShortKitSDK.VideoCarouselOverlayMode, rhs: ShortKitSDK.VideoCarouselOverlayMode) -> Swift.Bool
251
+ }
252
+ extension ShortKitSDK.VideoCarouselOverlayMode : Swift.Codable {
253
+ public init(from decoder: any Swift.Decoder) throws
254
+ public func encode(to encoder: any Swift.Encoder) throws
255
+ }
256
+ public enum SurveyOverlayMode {
257
+ case none
258
+ case custom(@Sendable () -> any UIKit.UIView & ShortKitSDK.SurveyOverlay)
259
+ }
260
+ extension ShortKitSDK.SurveyOverlayMode : Swift.Equatable {
261
+ public static func == (lhs: ShortKitSDK.SurveyOverlayMode, rhs: ShortKitSDK.SurveyOverlayMode) -> Swift.Bool
262
+ }
263
+ extension ShortKitSDK.SurveyOverlayMode : Swift.Codable {
264
+ public init(from decoder: any Swift.Decoder) throws
265
+ public func encode(to encoder: any Swift.Encoder) throws
266
+ }
267
+ public enum AdOverlayMode {
268
+ case none
269
+ case custom(@Sendable () -> any UIKit.UIView & ShortKitSDK.AdOverlay)
270
+ }
271
+ extension ShortKitSDK.AdOverlayMode : Swift.Equatable {
272
+ public static func == (lhs: ShortKitSDK.AdOverlayMode, rhs: ShortKitSDK.AdOverlayMode) -> Swift.Bool
273
+ }
274
+ extension ShortKitSDK.AdOverlayMode : Swift.Codable {
275
+ public init(from decoder: any Swift.Decoder) throws
276
+ public func encode(to encoder: any Swift.Encoder) throws
277
+ }
278
+ public protocol ShortKitDelegate : AnyObject {
279
+ func shortKit(_ shortKit: ShortKitSDK.ShortKit, didChangeRefreshState state: ShortKitSDK.ShortKitRefreshState)
280
+ func shortKit(_ shortKit: ShortKitSDK.ShortKit, didTapContent contentId: Swift.String, at index: Swift.Int)
281
+ func shortKit(_ shortKit: ShortKitSDK.ShortKit, didFetchContentItems items: [ShortKitSDK.ContentItem])
282
+ }
283
+ extension ShortKitSDK.ShortKitDelegate {
284
+ public func shortKit(_ shortKit: ShortKitSDK.ShortKit, didChangeRefreshState state: ShortKitSDK.ShortKitRefreshState)
285
+ public func shortKit(_ shortKit: ShortKitSDK.ShortKit, didTapContent contentId: Swift.String, at index: Swift.Int)
286
+ public func shortKit(_ shortKit: ShortKitSDK.ShortKit, didFetchContentItems items: [ShortKitSDK.ContentItem])
287
+ }
288
+ @_hasMissingDesignatedInitializers final public class FeedPreload : @unchecked Swift.Sendable {
289
+ @objc deinit
290
+ }
291
+ @_Concurrency.MainActor @preconcurrency public struct ShortKitFeedView : SwiftUI.UIViewControllerRepresentable {
292
+ @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.FeedConfig = FeedConfig(), onFeedReady: (() -> Swift.Void)? = nil)
293
+ @_Concurrency.MainActor @preconcurrency public func makeCoordinator() -> ShortKitSDK.ShortKitFeedView.Coordinator
294
+ @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: ShortKitSDK.ShortKitFeedView.Context) -> ShortKitSDK.ShortKitFeedViewController
295
+ @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: ShortKitSDK.ShortKitFeedViewController, context: ShortKitSDK.ShortKitFeedView.Context)
296
+ @_hasMissingDesignatedInitializers final public class Coordinator {
297
+ weak final public var feedViewController: ShortKitSDK.ShortKitFeedViewController?
298
+ @objc deinit
299
+ }
300
+ public typealias Body = Swift.Never
301
+ public typealias UIViewControllerType = ShortKitSDK.ShortKitFeedViewController
302
+ }
303
+ @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency public class ShortKitFeedViewController : UIKit.UIViewController {
304
+ @_Concurrency.MainActor @preconcurrency public var onDismiss: (() -> Swift.Void)?
305
+ @_Concurrency.MainActor @preconcurrency public var onRemainingContentCountChange: ((Swift.Int) -> Swift.Void)?
306
+ @_Concurrency.MainActor @preconcurrency public var onFeedReady: (() -> Swift.Void)?
307
+ @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.FeedConfig, startAtItemId: Swift.String? = nil)
308
+ @_Concurrency.MainActor public func setFeedItems(_ items: [ShortKitSDK.FeedInput])
309
+ @_Concurrency.MainActor public func appendFeedItems(_ items: [ShortKitSDK.FeedInput])
310
+ @_Concurrency.MainActor public func applyFilter(_ filter: ShortKitSDK.FeedFilter?)
311
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
312
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLayoutSubviews()
313
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewWillAppear(_ animated: Swift.Bool)
314
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidAppear(_ animated: Swift.Bool)
315
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewWillDisappear(_ animated: Swift.Bool)
316
+ @_Concurrency.MainActor @preconcurrency public func setBridgeManaged()
317
+ @_Concurrency.MainActor @preconcurrency public func activate()
318
+ @_Concurrency.MainActor @preconcurrency public func deactivate()
319
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidDisappear(_ animated: Swift.Bool)
320
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var supportedInterfaceOrientations: UIKit.UIInterfaceOrientationMask {
321
+ @objc get
322
+ }
323
+ @objc deinit
324
+ }
325
+ extension ShortKitSDK.ShortKitFeedViewController : UIKit.UICollectionViewDelegate {
326
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, willDisplay cell: UIKit.UICollectionViewCell, forItemAt indexPath: Foundation.IndexPath)
327
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewWillEndDragging(_ scrollView: UIKit.UIScrollView, withVelocity velocity: CoreFoundation.CGPoint, targetContentOffset: Swift.UnsafeMutablePointer<CoreFoundation.CGPoint>)
328
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewWillBeginDragging(_ scrollView: UIKit.UIScrollView)
329
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDecelerating(_ scrollView: UIKit.UIScrollView)
330
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDragging(_ scrollView: UIKit.UIScrollView, willDecelerate decelerate: Swift.Bool)
331
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidScrollToTop(_ scrollView: UIKit.UIScrollView)
332
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
333
+ }
334
+ extension ShortKitSDK.ShortKitFeedViewController : UIKit.UICollectionViewDataSourcePrefetching {
335
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, prefetchItemsAt indexPaths: [Foundation.IndexPath])
336
+ }
337
+ extension ShortKitSDK.ShortKitFeedViewController : ShortKitSDK.ShortKitAdDelegate {
338
+ @_Concurrency.MainActor @preconcurrency public func adDidStart(_ ad: ShortKitSDK.PreparedAd)
339
+ @_Concurrency.MainActor @preconcurrency public func adDidReachQuartile(_ ad: ShortKitSDK.PreparedAd, quartile: ShortKitSDK.AdQuartile)
340
+ @_Concurrency.MainActor @preconcurrency public func adDidComplete(_ ad: ShortKitSDK.PreparedAd)
341
+ @_Concurrency.MainActor @preconcurrency public func adWasSkipped(_ ad: ShortKitSDK.PreparedAd, watchTime: Foundation.TimeInterval)
342
+ @_Concurrency.MainActor @preconcurrency public func adDidFail(_ ad: ShortKitSDK.PreparedAd, error: ShortKitSDK.AdError)
343
+ @_Concurrency.MainActor @preconcurrency public func adDidReceiveClick(_ ad: ShortKitSDK.PreparedAd)
344
+ }
345
+ public enum ShortKitRefreshState : Swift.Sendable {
346
+ case idle
347
+ case pulling(progress: CoreFoundation.CGFloat)
348
+ case triggered
349
+ case refreshing
350
+ }
351
+ public enum AdError : Swift.Error, Swift.Equatable {
352
+ case noFill
353
+ case timeout
354
+ case networkError(Swift.String)
355
+ case providerError(Swift.String)
356
+ public static func == (a: ShortKitSDK.AdError, b: ShortKitSDK.AdError) -> Swift.Bool
357
+ }
358
+ public enum SkipPolicy : Swift.Sendable, Swift.Equatable {
359
+ case nonSkippable
360
+ case skippableAfter(seconds: Foundation.TimeInterval)
361
+ case alwaysSkippable
362
+ public static func == (a: ShortKitSDK.SkipPolicy, b: ShortKitSDK.SkipPolicy) -> Swift.Bool
363
+ }
364
+ public struct NativeAssetKeyMap : Swift.Codable, Swift.Sendable, Swift.Equatable {
365
+ public let videoUrl: Swift.String?
366
+ public let headline: Swift.String?
367
+ public let ctaText: Swift.String?
368
+ public let sponsorName: Swift.String?
369
+ public let sponsorLogo: Swift.String?
370
+ public init(videoUrl: Swift.String? = nil, headline: Swift.String? = nil, ctaText: Swift.String? = nil, sponsorName: Swift.String? = nil, sponsorLogo: Swift.String? = nil)
371
+ public static func == (a: ShortKitSDK.NativeAssetKeyMap, b: ShortKitSDK.NativeAssetKeyMap) -> Swift.Bool
372
+ public func encode(to encoder: any Swift.Encoder) throws
373
+ public init(from decoder: any Swift.Decoder) throws
374
+ }
375
+ public struct AdSlot : Swift.Codable, Swift.Sendable, Swift.Equatable {
376
+ public let id: Swift.String
377
+ public let position: Swift.Int
378
+ public let adTagUrl: Swift.String?
379
+ public let adUnitId: Swift.String?
380
+ public let targeting: [Swift.String : Swift.String]
381
+ public let skipPolicy: ShortKitSDK.SkipPolicy
382
+ public let adFormat: Swift.String?
383
+ public let nativeFormatId: Swift.String?
384
+ public let nativeAssetKeys: ShortKitSDK.NativeAssetKeyMap?
385
+ public init(id: Swift.String, position: Swift.Int, adTagUrl: Swift.String? = nil, adUnitId: Swift.String? = nil, targeting: [Swift.String : Swift.String] = [:], skipPolicy: ShortKitSDK.SkipPolicy, adFormat: Swift.String? = nil, nativeFormatId: Swift.String? = nil, nativeAssetKeys: ShortKitSDK.NativeAssetKeyMap? = nil)
386
+ public init(from decoder: any Swift.Decoder) throws
387
+ public func encode(to encoder: any Swift.Encoder) throws
388
+ public static func == (a: ShortKitSDK.AdSlot, b: ShortKitSDK.AdSlot) -> Swift.Bool
389
+ }
390
+ public enum CaptionSource : Swift.String, Swift.Codable, Swift.Sendable {
391
+ case embedded
392
+ case external
393
+ case generated
394
+ public init?(rawValue: Swift.String)
395
+ public typealias RawValue = Swift.String
396
+ public var rawValue: Swift.String {
397
+ get
398
+ }
399
+ }
400
+ public struct CaptionTrack : Swift.Codable, Swift.Equatable, Swift.Sendable {
401
+ public let language: Swift.String
402
+ public let label: Swift.String
403
+ public let source: ShortKitSDK.CaptionSource
404
+ public let url: Swift.String?
405
+ public static func == (a: ShortKitSDK.CaptionTrack, b: ShortKitSDK.CaptionTrack) -> Swift.Bool
406
+ public func encode(to encoder: any Swift.Encoder) throws
407
+ public init(from decoder: any Swift.Decoder) throws
408
+ }
409
+ public struct ContentItem : Swift.Codable, Swift.Equatable, @unchecked Swift.Sendable {
410
+ public let id: Swift.String
411
+ public var playbackId: Swift.String?
412
+ public let title: Swift.String
413
+ public let description: Swift.String?
414
+ public let duration: Swift.Double
415
+ public let streamingUrl: Swift.String
416
+ public let thumbnailUrl: Swift.String
417
+ public var captionTracks: [ShortKitSDK.CaptionTrack] {
418
+ get
419
+ }
420
+ public let customMetadata: [Swift.String : ShortKitSDK.JSONValue]?
421
+ public let author: Swift.String?
422
+ public let articleUrl: Swift.String?
423
+ public let commentCount: Swift.Int?
424
+ public var fallbackUrl: Swift.String?
425
+ public static func == (a: ShortKitSDK.ContentItem, b: ShortKitSDK.ContentItem) -> Swift.Bool
426
+ public func encode(to encoder: any Swift.Encoder) throws
427
+ public init(from decoder: any Swift.Decoder) throws
428
+ }
429
+ public enum FeedInput : Swift.Sendable {
430
+ case video(playbackId: Swift.String, fallbackUrl: Swift.String? = nil)
431
+ case imageCarousel(ShortKitSDK.ImageCarouselItem)
432
+ case videoCarousel(ShortKitSDK.VideoCarouselItem)
433
+ }
434
+ public enum FeedItem : Swift.Sendable {
435
+ case content(ShortKitSDK.ContentItem)
436
+ case adSlot(ShortKitSDK.AdSlot)
437
+ case imageCarousel(ShortKitSDK.ImageCarouselItem)
438
+ case survey(ShortKitSDK.SurveyItem)
439
+ case videoCarousel(ShortKitSDK.VideoCarouselItem)
440
+ public var isContent: Swift.Bool {
441
+ get
442
+ }
443
+ public var isAdSlot: Swift.Bool {
444
+ get
445
+ }
446
+ public var isImageCarousel: Swift.Bool {
447
+ get
448
+ }
449
+ public var isSurvey: Swift.Bool {
450
+ get
451
+ }
452
+ public var isVideoCarousel: Swift.Bool {
453
+ get
454
+ }
455
+ public var isNonVideo: Swift.Bool {
456
+ get
457
+ }
458
+ public var contentItem: ShortKitSDK.ContentItem? {
459
+ get
460
+ }
461
+ public var adSlot: ShortKitSDK.AdSlot? {
462
+ get
463
+ }
464
+ public var imageCarouselItem: ShortKitSDK.ImageCarouselItem? {
465
+ get
466
+ }
467
+ public var surveyItem: ShortKitSDK.SurveyItem? {
468
+ get
469
+ }
470
+ public var videoCarouselItem: ShortKitSDK.VideoCarouselItem? {
471
+ get
472
+ }
473
+ public var id: Swift.String {
474
+ get
475
+ }
476
+ }
477
+ extension ShortKitSDK.FeedItem : Swift.Hashable {
478
+ public static func == (lhs: ShortKitSDK.FeedItem, rhs: ShortKitSDK.FeedItem) -> Swift.Bool
479
+ public func hash(into hasher: inout Swift.Hasher)
480
+ public var hashValue: Swift.Int {
481
+ get
482
+ }
483
+ }
484
+ extension ShortKitSDK.FeedItem : Swift.Codable {
485
+ public init(from decoder: any Swift.Decoder) throws
486
+ public func encode(to encoder: any Swift.Encoder) throws
487
+ }
488
+ public struct ImageCarouselItem : Swift.Codable, Swift.Equatable, Swift.Sendable {
489
+ public let id: Swift.String
490
+ public let images: [ShortKitSDK.CarouselImage]
491
+ public let caption: Swift.String?
492
+ public let title: Swift.String?
493
+ public let description: Swift.String?
494
+ public let author: Swift.String?
495
+ public let section: Swift.String?
496
+ public let articleUrl: Swift.String?
497
+ public init(id: Swift.String, images: [ShortKitSDK.CarouselImage], caption: Swift.String? = nil, title: Swift.String? = nil, description: Swift.String? = nil, author: Swift.String? = nil, section: Swift.String? = nil, articleUrl: Swift.String? = nil)
498
+ public static func == (a: ShortKitSDK.ImageCarouselItem, b: ShortKitSDK.ImageCarouselItem) -> Swift.Bool
499
+ public func encode(to encoder: any Swift.Encoder) throws
500
+ public init(from decoder: any Swift.Decoder) throws
501
+ }
502
+ public struct CarouselImage : Swift.Codable, Swift.Equatable, Swift.Sendable {
503
+ public let url: Swift.String
504
+ public let alt: Swift.String?
505
+ public init(url: Swift.String, alt: Swift.String? = nil)
506
+ public static func == (a: ShortKitSDK.CarouselImage, b: ShortKitSDK.CarouselImage) -> Swift.Bool
507
+ public func encode(to encoder: any Swift.Encoder) throws
508
+ public init(from decoder: any Swift.Decoder) throws
509
+ }
510
+ public enum JSONValue : Swift.Codable, Swift.Equatable, Swift.Sendable {
511
+ case string(Swift.String)
512
+ case number(Swift.Double)
513
+ case bool(Swift.Bool)
514
+ case object([Swift.String : ShortKitSDK.JSONValue])
515
+ case null
516
+ public init(from decoder: any Swift.Decoder) throws
517
+ public func encode(to encoder: any Swift.Encoder) throws
518
+ public static func == (a: ShortKitSDK.JSONValue, b: ShortKitSDK.JSONValue) -> Swift.Bool
519
+ }
520
+ public struct NativeAdContent {
521
+ public let videoUrl: Swift.String
522
+ public let headline: Swift.String?
523
+ public let body: Swift.String?
524
+ public let callToAction: Swift.String?
525
+ public let advertiser: Swift.String?
526
+ public let sponsorIcon: UIKit.UIImage?
527
+ public let adChoicesIcon: UIKit.UIImage?
528
+ public let adChoicesClickHandler: (() -> Swift.Void)?
529
+ public let ctaClickHandler: (() -> Swift.Void)?
530
+ public let recordImpression: (() -> Swift.Void)?
531
+ public let aspectRatio: CoreFoundation.CGFloat?
532
+ public init(videoUrl: Swift.String, headline: Swift.String? = nil, body: Swift.String? = nil, callToAction: Swift.String? = nil, advertiser: Swift.String? = nil, sponsorIcon: UIKit.UIImage? = nil, adChoicesIcon: UIKit.UIImage? = nil, adChoicesClickHandler: (() -> Swift.Void)? = nil, ctaClickHandler: (() -> Swift.Void)? = nil, recordImpression: (() -> Swift.Void)? = nil, aspectRatio: CoreFoundation.CGFloat? = nil)
533
+ }
534
+ final public class PreparedAd {
535
+ final public let slotId: Swift.String
536
+ final public let skipPolicy: ShortKitSDK.SkipPolicy
537
+ final public let providerData: Any
538
+ final public let nativeContent: ShortKitSDK.NativeAdContent?
539
+ final public var prebuiltView: UIKit.UIView?
540
+ public init(slotId: Swift.String, skipPolicy: ShortKitSDK.SkipPolicy, providerData: Any, nativeContent: ShortKitSDK.NativeAdContent? = nil)
541
+ @objc deinit
542
+ }
543
+ public enum ShortKitError : Swift.Error, Swift.Sendable {
544
+ case networkError(underlying: any Swift.Error)
545
+ case playbackError(code: Swift.String, message: Swift.String)
546
+ case authError
547
+ }
548
+ extension ShortKitSDK.ShortKitError : Swift.CustomStringConvertible {
549
+ public var description: Swift.String {
550
+ get
551
+ }
552
+ }
553
+ public struct SurveyItem : Swift.Codable, Swift.Equatable, Swift.Sendable {
554
+ public let id: Swift.String
555
+ public let question: Swift.String
556
+ public let options: [ShortKitSDK.SurveyOption]
557
+ public let autoAdvanceDelay: Swift.Double?
558
+ public static func == (a: ShortKitSDK.SurveyItem, b: ShortKitSDK.SurveyItem) -> Swift.Bool
559
+ public func encode(to encoder: any Swift.Encoder) throws
560
+ public init(from decoder: any Swift.Decoder) throws
561
+ }
562
+ public struct SurveyOption : Swift.Codable, Swift.Equatable, Swift.Sendable {
563
+ public let id: Swift.String
564
+ public let text: Swift.String
565
+ public static func == (a: ShortKitSDK.SurveyOption, b: ShortKitSDK.SurveyOption) -> Swift.Bool
566
+ public func encode(to encoder: any Swift.Encoder) throws
567
+ public init(from decoder: any Swift.Decoder) throws
568
+ }
569
+ public struct VTTCue : Swift.Equatable, Swift.Sendable {
570
+ public let startTime: Swift.Double
571
+ public let endTime: Swift.Double
572
+ public let text: Swift.String
573
+ public init(startTime: Swift.Double, endTime: Swift.Double, text: Swift.String)
574
+ public static func == (a: ShortKitSDK.VTTCue, b: ShortKitSDK.VTTCue) -> Swift.Bool
575
+ }
576
+ public struct VideoCarouselItem : Swift.Codable, Swift.Equatable, Swift.Sendable {
577
+ public let id: Swift.String
578
+ public let videos: [ShortKitSDK.ContentItem]
579
+ public let title: Swift.String?
580
+ public let description: Swift.String?
581
+ public let author: Swift.String?
582
+ public let section: Swift.String?
583
+ public let articleUrl: Swift.String?
584
+ public init(id: Swift.String, videos: [ShortKitSDK.ContentItem], title: Swift.String? = nil, description: Swift.String? = nil, author: Swift.String? = nil, section: Swift.String? = nil, articleUrl: Swift.String? = nil)
585
+ public static func == (a: ShortKitSDK.VideoCarouselItem, b: ShortKitSDK.VideoCarouselItem) -> Swift.Bool
586
+ public func encode(to encoder: any Swift.Encoder) throws
587
+ public init(from decoder: any Swift.Decoder) throws
588
+ }
589
+ public protocol AdOverlay : AnyObject {
590
+ func configure(with content: ShortKitSDK.NativeAdContent)
591
+ func resetState()
592
+ }
593
+ public protocol CarouselOverlay : AnyObject {
594
+ var cachedImage: ((Swift.String) -> UIKit.UIImage?)? { get set }
595
+ func configure(with item: ShortKitSDK.ImageCarouselItem)
596
+ func resetState()
597
+ var wantsNativeImagePrefetch: Swift.Bool { get }
598
+ func activatePlayback()
599
+ func updateActiveImage(index: Swift.Int)
600
+ }
601
+ extension ShortKitSDK.CarouselOverlay {
602
+ public var cachedImage: ((Swift.String) -> UIKit.UIImage?)? {
603
+ get
604
+ set
605
+ }
606
+ public var wantsNativeImagePrefetch: Swift.Bool {
607
+ get
608
+ }
609
+ public func activatePlayback()
610
+ public func updateActiveImage(index: Swift.Int)
611
+ }
612
+ final public class CellContent : Combine.ObservableObject {
613
+ @Combine.Published @_projectedValueProperty($item) final public var item: ShortKitSDK.ContentItem? {
614
+ get
615
+ @available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
616
+ set
617
+ @available(iOS 13.0, tvOS 13.0, watchOS 6.0, macOS 10.15, *)
618
+ _modify
619
+ }
620
+ final public var $item: Combine.Published<ShortKitSDK.ContentItem?>.Publisher {
621
+ get
622
+ @available(iOS 14.0, tvOS 14.0, watchOS 7.0, macOS 11.0, *)
623
+ set
624
+ }
625
+ public init()
626
+ public typealias ObjectWillChangePublisher = Combine.ObservableObjectPublisher
627
+ @objc deinit
628
+ }
629
+ public protocol FeedOverlay : AnyObject {
630
+ func attach(player: ShortKitSDK.ShortKitPlayer)
631
+ func configure(with item: ShortKitSDK.ContentItem)
632
+ func activatePlayback()
633
+ }
634
+ public protocol SurveyOverlay : AnyObject {
635
+ var onSurveyResponse: ((Swift.String, ShortKitSDK.SurveyOption) -> Swift.Void)? { get set }
636
+ var onAutoAdvance: (() -> Swift.Void)? { get set }
637
+ func configure(with item: ShortKitSDK.SurveyItem)
638
+ func resetState()
639
+ }
640
+ public protocol VideoCarouselOverlay : AnyObject {
641
+ func configure(with item: ShortKitSDK.VideoCarouselItem)
642
+ func updateActiveVideo(index: Swift.Int, item: ShortKitSDK.ContentItem)
643
+ func resetState()
644
+ func attach(player: ShortKitSDK.ShortKitPlayer)
645
+ func activatePlayback()
646
+ func deactivatePlayback()
647
+ }
648
+ extension ShortKitSDK.VideoCarouselOverlay {
649
+ public func attach(player: ShortKitSDK.ShortKitPlayer)
650
+ public func activatePlayback()
651
+ public func deactivatePlayback()
652
+ }
653
+ public struct PlayerTime : Swift.Equatable, Swift.Sendable {
654
+ public let current: Swift.Double
655
+ public let duration: Swift.Double
656
+ public let buffered: Swift.Double
657
+ public static func == (a: ShortKitSDK.PlayerTime, b: ShortKitSDK.PlayerTime) -> Swift.Bool
658
+ }
659
+ public enum PlayerState : Swift.Equatable, Swift.Sendable {
660
+ case idle
661
+ case loading
662
+ case ready
663
+ case playing
664
+ case paused
665
+ case seeking
666
+ case buffering
667
+ case ended
668
+ case error(Swift.String)
669
+ public static func == (a: ShortKitSDK.PlayerState, b: ShortKitSDK.PlayerState) -> Swift.Bool
670
+ }
671
+ public struct LoopEvent : Swift.Equatable, Swift.Sendable {
672
+ public let contentId: Swift.String
673
+ public let loopCount: Swift.Int
674
+ public static func == (a: ShortKitSDK.LoopEvent, b: ShortKitSDK.LoopEvent) -> Swift.Bool
675
+ }
676
+ public struct FeedTransitionEvent : Swift.Equatable, Swift.Sendable {
677
+ public enum Phase : Swift.Sendable {
678
+ case began, ended
679
+ public static func == (a: ShortKitSDK.FeedTransitionEvent.Phase, b: ShortKitSDK.FeedTransitionEvent.Phase) -> Swift.Bool
680
+ public func hash(into hasher: inout Swift.Hasher)
681
+ public var hashValue: Swift.Int {
682
+ get
683
+ }
684
+ }
685
+ public enum Direction : Swift.Sendable {
686
+ case forward, backward
687
+ public static func == (a: ShortKitSDK.FeedTransitionEvent.Direction, b: ShortKitSDK.FeedTransitionEvent.Direction) -> Swift.Bool
688
+ public func hash(into hasher: inout Swift.Hasher)
689
+ public var hashValue: Swift.Int {
690
+ get
691
+ }
692
+ }
693
+ public let phase: ShortKitSDK.FeedTransitionEvent.Phase
694
+ public let from: ShortKitSDK.ContentItem?
695
+ public let to: ShortKitSDK.ContentItem?
696
+ public let direction: ShortKitSDK.FeedTransitionEvent.Direction
697
+ public static func == (a: ShortKitSDK.FeedTransitionEvent, b: ShortKitSDK.FeedTransitionEvent) -> Swift.Bool
698
+ }
699
+ public struct FormatChangeEvent : Swift.Equatable, Swift.Sendable {
700
+ public let contentId: Swift.String
701
+ public let fromBitrate: Swift.Int
702
+ public let toBitrate: Swift.Int
703
+ public let fromResolution: Swift.String
704
+ public let toResolution: Swift.String
705
+ public static func == (a: ShortKitSDK.FormatChangeEvent, b: ShortKitSDK.FormatChangeEvent) -> Swift.Bool
706
+ }
707
+ public enum FeedScrollPhase : Swift.Equatable, Swift.Sendable {
708
+ case dragging(from: Swift.String)
709
+ case settled
710
+ public static func == (a: ShortKitSDK.FeedScrollPhase, b: ShortKitSDK.FeedScrollPhase) -> Swift.Bool
711
+ }
712
+ public enum ContentSignal : Swift.Equatable, Swift.Sendable {
713
+ case positive
714
+ case negative
715
+ public static func == (a: ShortKitSDK.ContentSignal, b: ShortKitSDK.ContentSignal) -> Swift.Bool
716
+ public func hash(into hasher: inout Swift.Hasher)
717
+ public var hashValue: Swift.Int {
718
+ get
719
+ }
720
+ }
721
+ @_hasMissingDesignatedInitializers final public class ShortKitPlayer {
722
+ final public var time: Combine.AnyPublisher<ShortKitSDK.PlayerTime, Swift.Never> {
723
+ get
724
+ }
725
+ final public var playerState: Combine.AnyPublisher<ShortKitSDK.PlayerState, Swift.Never> {
726
+ get
727
+ }
728
+ final public var currentItem: Combine.AnyPublisher<ShortKitSDK.ContentItem?, Swift.Never> {
729
+ get
730
+ }
731
+ final public var didLoop: Combine.AnyPublisher<ShortKitSDK.LoopEvent, Swift.Never> {
732
+ get
733
+ }
734
+ final public var feedTransition: Combine.AnyPublisher<ShortKitSDK.FeedTransitionEvent, Swift.Never> {
735
+ get
736
+ }
737
+ final public var feedScrollPhase: Combine.AnyPublisher<ShortKitSDK.FeedScrollPhase, Swift.Never> {
738
+ get
739
+ }
740
+ final public var formatChange: Combine.AnyPublisher<ShortKitSDK.FormatChangeEvent, Swift.Never> {
741
+ get
742
+ }
743
+ final public var isMuted: Combine.AnyPublisher<Swift.Bool, Swift.Never> {
744
+ get
745
+ }
746
+ final public var playbackRate: Combine.AnyPublisher<Swift.Float, Swift.Never> {
747
+ get
748
+ }
749
+ final public var captionsEnabled: Combine.AnyPublisher<Swift.Bool, Swift.Never> {
750
+ get
751
+ }
752
+ final public var activeCaptionTrack: Combine.AnyPublisher<ShortKitSDK.CaptionTrack?, Swift.Never> {
753
+ get
754
+ }
755
+ final public var activeCue: Combine.AnyPublisher<ShortKitSDK.VTTCue?, Swift.Never> {
756
+ get
757
+ }
758
+ final public var prefetchedAheadCount: Combine.AnyPublisher<Swift.Int, Swift.Never> {
759
+ get
760
+ }
761
+ final public var remainingContentCount: Combine.AnyPublisher<Swift.Int, Swift.Never> {
762
+ get
763
+ }
764
+ final public var currentItemValue: ShortKitSDK.ContentItem? {
765
+ get
766
+ }
767
+ final public var playbackRateValue: Swift.Float {
768
+ get
769
+ }
770
+ final public func play()
771
+ final public func pause()
772
+ final public func seek(to seconds: Swift.Double)
773
+ final public func seekAndPlay(to seconds: Swift.Double)
774
+ final public func setMuted(_ muted: Swift.Bool)
775
+ final public func skipToNext()
776
+ final public func skipToPrevious()
777
+ final public func setPlaybackRate(_ rate: Swift.Float)
778
+ final public func sendContentSignal(_ signal: ShortKitSDK.ContentSignal)
779
+ final public func setMaxBitrate(_ bps: Swift.Int)
780
+ final public func setCaptionsEnabled(_ enabled: Swift.Bool)
781
+ final public func selectCaptionTrack(language: Swift.String)
782
+ final public func seekThumbnail(at time: Swift.Double) -> UIKit.UIImage?
783
+ @objc deinit
784
+ }
785
+ public struct StoryboardTile : Swift.Decodable {
786
+ public let start: Swift.Double
787
+ public let x: Swift.Int
788
+ public let y: Swift.Int
789
+ public init(from decoder: any Swift.Decoder) throws
790
+ }
791
+ public struct StoryboardMetadata : Swift.Decodable {
792
+ public let url: Swift.String
793
+ public let tileWidth: Swift.Int
794
+ public let tileHeight: Swift.Int
795
+ public let duration: Swift.Double
796
+ public let tiles: [ShortKitSDK.StoryboardTile]
797
+ public init(from decoder: any Swift.Decoder) throws
798
+ }
799
+ public struct CachedStoryboard {
800
+ public let metadata: ShortKitSDK.StoryboardMetadata
801
+ public let spriteSheet: UIKit.UIImage
802
+ }
803
+ @_hasMissingDesignatedInitializers final public class StoryboardProvider {
804
+ public static let shared: ShortKitSDK.StoryboardProvider
805
+ public static func extractPlaybackId(from thumbnailUrl: Swift.String) -> Swift.String?
806
+ final public func cached(for playbackId: Swift.String) -> ShortKitSDK.CachedStoryboard?
807
+ final public func fetch(playbackId: Swift.String) async -> ShortKitSDK.CachedStoryboard?
808
+ final public func tile(from storyboard: ShortKitSDK.CachedStoryboard, at seekTime: Swift.Double) -> UIKit.UIImage?
809
+ final public func clearCache()
810
+ @objc deinit
811
+ }
812
+ public enum VTTParser {
813
+ public static func parse(_ text: Swift.String) -> [ShortKitSDK.VTTCue]
814
+ public static func load(from url: Foundation.URL) async throws -> [ShortKitSDK.VTTCue]
815
+ public static func activeCue(in cues: [ShortKitSDK.VTTCue], at time: Swift.Double) -> ShortKitSDK.VTTCue?
816
+ }
817
+ public enum ShortKitVersion {
818
+ public static let current: Swift.String
819
+ }
820
+ final public class ShortKit {
821
+ final public let player: ShortKitSDK.ShortKitPlayer
822
+ weak final public var delegate: (any ShortKitSDK.ShortKitDelegate)?
823
+ final public var loadingViewProvider: (() -> UIKit.UIView)?
824
+ public init(apiKey: Swift.String, userId: Swift.String? = nil, adProvider: (any ShortKitSDK.ShortKitAdProvider)? = nil, clientAppName: Swift.String? = nil, clientAppVersion: Swift.String? = nil, customDimensions: [Swift.String : Swift.String]? = nil, loadingViewProvider: (() -> UIKit.UIView)? = nil)
825
+ final public func preloadFeed(filter: ShortKitSDK.FeedFilter? = nil, limit: Swift.Int = 10) -> ShortKitSDK.FeedPreload
826
+ final public func preloadFeed(items: [ShortKitSDK.FeedInput]) -> ShortKitSDK.FeedPreload
827
+ final public func fetchContent(limit: Swift.Int = 10, filter: ShortKitSDK.FeedFilter? = nil) async throws -> [ShortKitSDK.ContentItem]
828
+ final public func setUserId(_ id: Swift.String)
829
+ final public func clearUserId()
830
+ @_Concurrency.MainActor final public func setColdStartQueue(_ items: [ShortKitSDK.FeedInput])
831
+ final public func clearColdStartCache()
832
+ @objc deinit
833
+ }
834
+ public enum PlayerClickAction : Swift.Sendable {
835
+ case feed
836
+ case mute
837
+ case none
838
+ public static func == (a: ShortKitSDK.PlayerClickAction, b: ShortKitSDK.PlayerClickAction) -> Swift.Bool
839
+ public func hash(into hasher: inout Swift.Hasher)
840
+ public var hashValue: Swift.Int {
841
+ get
842
+ }
843
+ }
844
+ public struct PlayerConfig {
845
+ public var cornerRadius: CoreFoundation.CGFloat
846
+ public var clickAction: ShortKitSDK.PlayerClickAction
847
+ public var autoplay: Swift.Bool
848
+ public var loop: Swift.Bool
849
+ public var muteOnStart: Swift.Bool
850
+ public var videoOverlay: ShortKitSDK.VideoOverlayMode
851
+ public var feedConfig: ShortKitSDK.FeedConfig
852
+ public init(cornerRadius: CoreFoundation.CGFloat = 12, clickAction: ShortKitSDK.PlayerClickAction = .feed, autoplay: Swift.Bool = true, loop: Swift.Bool = true, muteOnStart: Swift.Bool = true, videoOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig())
853
+ }
854
+ @_Concurrency.MainActor @preconcurrency public struct ShortKitPlayerView : SwiftUI.UIViewControllerRepresentable {
855
+ @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.PlayerConfig = PlayerConfig())
856
+ @_Concurrency.MainActor @preconcurrency public func makeUIViewController(context: ShortKitSDK.ShortKitPlayerView.Context) -> ShortKitSDK.ShortKitPlayerViewController
857
+ @_Concurrency.MainActor @preconcurrency public func updateUIViewController(_ uiViewController: ShortKitSDK.ShortKitPlayerViewController, context: ShortKitSDK.ShortKitPlayerView.Context)
858
+ public typealias Body = Swift.Never
859
+ public typealias Coordinator = Swift.Void
860
+ public typealias UIViewControllerType = ShortKitSDK.ShortKitPlayerViewController
861
+ }
862
+ @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency final public class ShortKitPlayerViewController : UIKit.UIViewController {
863
+ @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.PlayerConfig)
864
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLoad()
865
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewWillDisappear(_ animated: Swift.Bool)
866
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLayoutSubviews()
867
+ @_Concurrency.MainActor @preconcurrency final public func configure(with contentItem: ShortKitSDK.ContentItem)
868
+ @_Concurrency.MainActor @preconcurrency final public func activate()
869
+ @_Concurrency.MainActor @preconcurrency final public func deactivate()
870
+ @objc deinit
871
+ }
872
+ extension ShortKitSDK.ShortKitPlayerViewController : UIKit.UIViewControllerTransitioningDelegate {
873
+ @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forPresented presented: UIKit.UIViewController, presenting: UIKit.UIViewController, source: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
874
+ @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forDismissed dismissed: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
875
+ }
876
+ @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency final public class ShortKitWidgetViewController : UIKit.UIViewController {
877
+ @_Concurrency.MainActor @preconcurrency public init(shortKit: ShortKitSDK.ShortKit, config: ShortKitSDK.WidgetConfig)
878
+ @_Concurrency.MainActor @preconcurrency final public func configure(with items: [ShortKitSDK.ContentItem])
879
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidLoad()
880
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewDidAppear(_ animated: Swift.Bool)
881
+ @_Concurrency.MainActor @preconcurrency @objc override final public func viewWillDisappear(_ animated: Swift.Bool)
882
+ @objc deinit
883
+ }
884
+ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDataSource {
885
+ @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int
886
+ @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
887
+ }
888
+ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UICollectionViewDelegate {
889
+ @_Concurrency.MainActor @preconcurrency @objc final public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
890
+ }
891
+ extension ShortKitSDK.ShortKitWidgetViewController : UIKit.UIViewControllerTransitioningDelegate {
892
+ @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forPresented presented: UIKit.UIViewController, presenting: UIKit.UIViewController, source: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
893
+ @_Concurrency.MainActor @preconcurrency @objc final public func animationController(forDismissed dismissed: UIKit.UIViewController) -> (any UIKit.UIViewControllerAnimatedTransitioning)?
894
+ }
895
+ public struct WidgetConfig {
896
+ public var cardCount: Swift.Int
897
+ public var cardSpacing: CoreFoundation.CGFloat
898
+ public var cornerRadius: CoreFoundation.CGFloat
899
+ public var autoplay: Swift.Bool
900
+ public var muteOnStart: Swift.Bool
901
+ public var loop: Swift.Bool
902
+ public var rotationInterval: Foundation.TimeInterval
903
+ public var clickAction: ShortKitSDK.PlayerClickAction
904
+ public var cardOverlay: ShortKitSDK.VideoOverlayMode
905
+ public var feedConfig: ShortKitSDK.FeedConfig
906
+ public init(cardCount: Swift.Int = 3, cardSpacing: CoreFoundation.CGFloat = 8, cornerRadius: CoreFoundation.CGFloat = 12, autoplay: Swift.Bool = true, muteOnStart: Swift.Bool = true, loop: Swift.Bool = true, rotationInterval: Foundation.TimeInterval = 10, clickAction: ShortKitSDK.PlayerClickAction = .feed, cardOverlay: ShortKitSDK.VideoOverlayMode = .none, feedConfig: ShortKitSDK.FeedConfig = FeedConfig())
907
+ }
908
+ extension ShortKitSDK.AdQuartile : Swift.Equatable {}
909
+ extension ShortKitSDK.AdQuartile : Swift.Hashable {}
910
+ extension ShortKitSDK.ScrollAxis : Swift.Hashable {}
911
+ extension ShortKitSDK.ScrollAxis : Swift.RawRepresentable {}
912
+ extension ShortKitSDK.FeedSource : Swift.Hashable {}
913
+ extension ShortKitSDK.FeedSource : Swift.RawRepresentable {}
914
+ extension ShortKitSDK.ShortKitFeedView : Swift.Sendable {}
915
+ extension ShortKitSDK.CaptionSource : Swift.Equatable {}
916
+ extension ShortKitSDK.CaptionSource : Swift.Hashable {}
917
+ extension ShortKitSDK.CaptionSource : Swift.RawRepresentable {}
918
+ extension ShortKitSDK.FeedTransitionEvent.Phase : Swift.Equatable {}
919
+ extension ShortKitSDK.FeedTransitionEvent.Phase : Swift.Hashable {}
920
+ extension ShortKitSDK.FeedTransitionEvent.Direction : Swift.Equatable {}
921
+ extension ShortKitSDK.FeedTransitionEvent.Direction : Swift.Hashable {}
922
+ extension ShortKitSDK.ContentSignal : Swift.Hashable {}
923
+ extension ShortKitSDK.PlayerClickAction : Swift.Equatable {}
924
+ extension ShortKitSDK.PlayerClickAction : Swift.Hashable {}
925
+ extension ShortKitSDK.ShortKitPlayerView : Swift.Sendable {}