react-native-attachment-kit 1.0.5 → 1.0.8

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 (38) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +100 -3
  3. package/android/build.gradle +14 -0
  4. package/android/src/main/libs/rnattachmentkit-release.aar +0 -0
  5. package/android/src/newarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +280 -13
  6. package/android/src/oldarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +282 -13
  7. package/ios/RNAttachmentKit.m +18 -0
  8. package/ios/RNAttachmentKit.swift +447 -9
  9. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Assets.car +0 -0
  10. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +21 -5
  11. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Info.plist +0 -0
  12. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.abi.json +33440 -7566
  13. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.private.swiftinterface +193 -5
  14. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  15. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftinterface +193 -5
  16. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/RNAttachmentKit +0 -0
  17. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
  18. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeResources +15 -15
  19. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
  20. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Assets.car +0 -0
  21. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +42 -10
  22. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Info.plist +0 -0
  23. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.abi.json +33440 -7566
  24. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +193 -5
  25. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  26. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +193 -5
  27. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +33440 -7566
  28. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +193 -5
  29. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  30. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +193 -5
  31. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/RNAttachmentKit +0 -0
  32. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
  33. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeResources +25 -25
  34. package/package.json +2 -2
  35. package/react-native-attachment-kit.podspec +1 -1
  36. package/src/NativeAttachmentKit.ts +5 -0
  37. package/src/index.ts +118 -7
  38. package/src/types.ts +173 -0
@@ -5,6 +5,7 @@
5
5
  import AVFoundation
6
6
  import CoreImage
7
7
  import CoreLocation
8
+ import CoreMotion
8
9
  import CoreText
9
10
  import CryptoKit
10
11
  import DeveloperToolsSupport
@@ -16,6 +17,8 @@ import Swift
16
17
  import SwiftUI
17
18
  import UIKit
18
19
  import UniformTypeIdentifiers
20
+ import VideoToolbox
21
+ import Vision
19
22
  import _Concurrency
20
23
  import _StringProcessing
21
24
  import _SwiftConcurrencyShims
@@ -44,7 +47,10 @@ import _SwiftConcurrencyShims
44
47
  }
45
48
  @_Concurrency.MainActor @preconcurrency public var onLocationSelected: ((RNAttachmentKit.AttachLocationResult) -> Swift.Void)?
46
49
  @_Concurrency.MainActor @preconcurrency public var capturesLocationImage: Swift.Bool
47
- @_Concurrency.MainActor @preconcurrency public func releaseAfterReturn()
50
+ @_Concurrency.MainActor @preconcurrency public var mediaType: Swift.String
51
+ @_Concurrency.MainActor @preconcurrency public var maxVideoDurationSec: Swift.Double
52
+ @_Concurrency.MainActor @preconcurrency public var videoExportOptions: RNAttachmentKit.VideoExportOptions
53
+ @_Concurrency.MainActor @preconcurrency public func releaseAfterReturn(discardPreparedVideos: Swift.Bool = true)
48
54
  @_Concurrency.MainActor @preconcurrency public var onFilesSelected: (([RNAttachmentKit.AttachFileResult]) -> Swift.Void)?
49
55
  @_Concurrency.MainActor @preconcurrency public var onFilesSelectedWithFailures: (([RNAttachmentKit.AttachFileResult], [RNAttachmentKit.AttachFileFailure]) -> Swift.Void)?
50
56
  @_Concurrency.MainActor @preconcurrency public var allowsMultipleFiles: Swift.Bool
@@ -71,6 +77,7 @@ import _SwiftConcurrencyShims
71
77
  @_Concurrency.MainActor @preconcurrency final public let galleryID: Swift.String
72
78
  @_Concurrency.MainActor @preconcurrency public var selectedAssets: [Photos.PHAsset]
73
79
  @_Concurrency.MainActor @preconcurrency public var editedImages: [Swift.String : UIKit.UIImage]
80
+ @_Concurrency.MainActor @preconcurrency public var videoEditStates: [Swift.String : RNAttachmentKit.VideoEditState]
74
81
  @_Concurrency.MainActor @preconcurrency public var selectedAssetsSet: Swift.Set<Swift.String>
75
82
  @_Concurrency.MainActor @preconcurrency public var hiddenAssetId: Swift.String?
76
83
  @_Concurrency.MainActor @preconcurrency public var collectionView: UIKit.UICollectionView {
@@ -117,6 +124,7 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
117
124
  case gallery
118
125
  case location
119
126
  case file
127
+ case aiWorks
120
128
  public init?(rawValue: Swift.String)
121
129
  public typealias AllCases = [RNAttachmentKit.AttachMenuTab]
122
130
  public typealias RawValue = Swift.String
@@ -149,7 +157,9 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
149
157
  @_Concurrency.MainActor @preconcurrency final public var selectedTab: RNAttachmentKit.AttachMenuTab {
150
158
  get
151
159
  }
152
- @_Concurrency.MainActor @preconcurrency final public let tabs: [RNAttachmentKit.AttachMenuTab]
160
+ @_Concurrency.MainActor @preconcurrency final public var tabs: [RNAttachmentKit.AttachMenuTab] {
161
+ get
162
+ }
153
163
  @_Concurrency.MainActor @preconcurrency final public var blurIntensity: CoreFoundation.CGFloat {
154
164
  get
155
165
  set
@@ -158,8 +168,9 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
158
168
  get
159
169
  set
160
170
  }
161
- @_Concurrency.MainActor @preconcurrency public init(tabs: [RNAttachmentKit.AttachMenuTab] = AttachMenuTab.allCases, selected: RNAttachmentKit.AttachMenuTab = .gallery, languageCode: Swift.String, accentColor: UIKit.UIColor)
171
+ @_Concurrency.MainActor @preconcurrency public init(tabs: [RNAttachmentKit.AttachMenuTab] = [.gallery, .location, .file], selected: RNAttachmentKit.AttachMenuTab = .gallery, languageCode: Swift.String, accentColor: UIKit.UIColor)
162
172
  @objc deinit
173
+ @_Concurrency.MainActor @preconcurrency final public func setTabs(_ newTabs: [RNAttachmentKit.AttachMenuTab])
163
174
  @_Concurrency.MainActor @preconcurrency @objc override final public func didMoveToWindow()
164
175
  @_Concurrency.MainActor @preconcurrency final public func prepareNativeAppearance()
165
176
  @_Concurrency.MainActor @preconcurrency @objc override final public func layoutSubviews()
@@ -245,6 +256,9 @@ public struct FilterState {
245
256
  @_Concurrency.MainActor @preconcurrency public var onConfirmMulti: (([Photos.PHAsset], [Photos.PHAsset : UIKit.UIImage], [Photos.PHAsset : RNAttachmentKit.FilterState]) -> Swift.Void)?
246
257
  @_Concurrency.MainActor @preconcurrency public var onSendMulti: (([Photos.PHAsset], [Photos.PHAsset : UIKit.UIImage], [Photos.PHAsset : RNAttachmentKit.FilterState]) -> Swift.Void)?
247
258
  @_Concurrency.MainActor @preconcurrency public var onCancel: (() -> Swift.Void)?
259
+ @_Concurrency.MainActor @preconcurrency public var videoEditStates: [Swift.Int : RNAttachmentKit.VideoEditState]
260
+ @_Concurrency.MainActor @preconcurrency public var videoOptions: RNAttachmentKit.VideoExportOptions
261
+ @_Concurrency.MainActor @preconcurrency public var onVideoStateChanged: ((Photos.PHAsset, RNAttachmentKit.VideoEditState) -> Swift.Void)?
248
262
  @_Concurrency.MainActor @preconcurrency public var themeColor: UIKit.UIColor?
249
263
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
250
264
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func traitCollectionDidChange(_ previousTraitCollection: UIKit.UITraitCollection?)
@@ -287,6 +301,7 @@ public struct Album {
287
301
  }
288
302
  @_hasMissingDesignatedInitializers public class PhotoManager {
289
303
  public var languageCode: Swift.String
304
+ public var mediaType: Swift.String
290
305
  public static let shared: RNAttachmentKit.PhotoManager
291
306
  public func resetCachingManager()
292
307
  public func fetchAlbums(completion: @escaping ([RNAttachmentKit.Album]) -> Swift.Void)
@@ -387,7 +402,9 @@ extension RNAttachmentKit.GalleryBaseViewController : UIKit.UIAdaptivePresentati
387
402
  public func saveImage(_ image: UIKit.UIImage, for url: Swift.String)
388
403
  }
389
404
  @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency public class RemoteImageViewerViewController : UIKit.UIViewController {
405
+ @objc deinit
390
406
  @_Concurrency.MainActor @preconcurrency public var onPageChanged: ((Swift.Int) -> Swift.Void)?
407
+ @_Concurrency.MainActor @preconcurrency public var videos: [RNAttachmentKit.ViewerVideoItem?]
391
408
  @_Concurrency.MainActor @preconcurrency public var prefersPlaceholderThumbnails: Swift.Bool
392
409
  @_Concurrency.MainActor @preconcurrency public var hasMoreItems: Swift.Bool {
393
410
  get
@@ -422,13 +439,24 @@ extension RNAttachmentKit.GalleryBaseViewController : UIKit.UIAdaptivePresentati
422
439
  @_Concurrency.MainActor @preconcurrency public var deleteOptions: [RNAttachmentKit.RemoteImageViewerViewController.DeleteOption]
423
440
  @_Concurrency.MainActor @preconcurrency public var onImageDeleted: ((Swift.Int, Swift.String, Swift.String?) -> Swift.Void)?
424
441
  @_Concurrency.MainActor @preconcurrency public var onWillDismissForDelete: (() -> Swift.Void)?
425
- @_Concurrency.MainActor @preconcurrency public func appendImages(urls: [Swift.String], placeholders: [Swift.String]?, cacheFiles newCacheFiles: [Swift.String]?)
442
+ @_Concurrency.MainActor @preconcurrency public func appendImages(urls: [Swift.String], placeholders: [Swift.String]?, cacheFiles newCacheFiles: [Swift.String]?, videos newVideos: [RNAttachmentKit.ViewerVideoItem?]? = nil)
426
443
  @_Concurrency.MainActor @preconcurrency public static func isImageCached(for urlString: Swift.String) -> Swift.Bool
427
444
  @_Concurrency.MainActor @preconcurrency public static func prefetchImage(from urlString: Swift.String, completion: @escaping (UIKit.UIImage?) -> Swift.Void)
428
445
  @_Concurrency.MainActor @preconcurrency public init(imageUrls: [Swift.String], initialIndex: Swift.Int)
429
446
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
447
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidAppear(_ animated: Swift.Bool)
448
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewWillDisappear(_ animated: Swift.Bool)
449
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var prefersStatusBarHidden: Swift.Bool {
450
+ @objc get
451
+ }
452
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var preferredStatusBarUpdateAnimation: UIKit.UIStatusBarAnimation {
453
+ @objc get
454
+ }
455
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var prefersHomeIndicatorAutoHidden: Swift.Bool {
456
+ @objc get
457
+ }
458
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidDisappear(_ animated: Swift.Bool)
430
459
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLayoutSubviews()
431
- @objc deinit
432
460
  }
433
461
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIGestureRecognizerDelegate {
434
462
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIKit.UIGestureRecognizer) -> Swift.Bool
@@ -436,6 +464,7 @@ extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIGestureRecog
436
464
  }
437
465
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIScrollViewDelegate {
438
466
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
467
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDragging(_ scrollView: UIKit.UIScrollView, willDecelerate decelerate: Swift.Bool)
439
468
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDecelerating(_ scrollView: UIKit.UIScrollView)
440
469
  }
441
470
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate {
@@ -443,6 +472,9 @@ extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UICollectionVi
443
472
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
444
473
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
445
474
  }
475
+ extension RNAttachmentKit.RemoteImageViewerViewController {
476
+ @_Concurrency.MainActor @preconcurrency public func videoCloseSnapshot(in container: UIKit.UIView) -> (image: UIKit.UIImage, frame: CoreFoundation.CGRect)?
477
+ }
446
478
  public struct Localizer {
447
479
  public static let supportedLanguageCodes: [Swift.String]
448
480
  public static func normalize(_ languageCode: Swift.String) -> Swift.String
@@ -458,6 +490,15 @@ public struct MediaGalleryItem {
458
490
  public let isMine: Swift.Bool
459
491
  public let width: Swift.Int?
460
492
  public let height: Swift.Int?
493
+ public var videoUri: Swift.String?
494
+ public var videoCacheFile: Swift.String?
495
+ public var duration: Swift.Double?
496
+ public var isVideo: Swift.Bool {
497
+ get
498
+ }
499
+ public var viewerVideo: RNAttachmentKit.ViewerVideoItem? {
500
+ get
501
+ }
461
502
  public init(id: Swift.String, groupId: Swift.String, timestamp: Swift.Double, thumbUri: Swift.String?, imageUri: Swift.String, cacheFile: Swift.String? = nil, isMine: Swift.Bool = false, width: Swift.Int? = nil, height: Swift.Int? = nil)
462
503
  public init?(dictionary d: [Swift.String : Any])
463
504
  public func toDictionary() -> [Swift.String : Any]
@@ -623,6 +664,7 @@ extension RNAttachmentKit.MediaGalleryViewController : UIKit.UICollectionViewDat
623
664
  @_Concurrency.MainActor @preconcurrency public var disablePresentationAnimation: Swift.Bool
624
665
  @_Concurrency.MainActor @preconcurrency public var onCurrentAssetChanged: ((Photos.PHAsset) -> Swift.Void)?
625
666
  @_Concurrency.MainActor @preconcurrency public var onEditorClosed: (() -> Swift.Void)?
667
+ @_Concurrency.MainActor @preconcurrency public var onPresentationStarted: (() -> Swift.Void)?
626
668
  @_Concurrency.MainActor @preconcurrency public var openDuration: Swift.Double
627
669
  @_Concurrency.MainActor @preconcurrency public var closeDuration: Swift.Double
628
670
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init()
@@ -660,6 +702,7 @@ extension RNAttachmentKit.MediaGalleryViewController : UIKit.UICollectionViewDat
660
702
  @_Concurrency.MainActor @preconcurrency final public let accentColor: UIKit.UIColor
661
703
  @_Concurrency.MainActor @preconcurrency final public let languageCode: Swift.String
662
704
  @_Concurrency.MainActor @preconcurrency final public var onClosed: (() -> Swift.Void)?
705
+ @_Concurrency.MainActor @preconcurrency final public var onWillClose: ((Foundation.TimeInterval) -> Swift.Void)?
663
706
  @_Concurrency.MainActor @preconcurrency final public var showsDirections: Swift.Bool
664
707
  @_Concurrency.MainActor @preconcurrency final public var spanMeters: Swift.Double?
665
708
  @_Concurrency.MainActor @preconcurrency final public var sourceRect: CoreFoundation.CGRect?
@@ -742,8 +785,153 @@ public struct ReverseGeocodeError : Swift.Error {
742
785
  final public func clearCache(completion: (() -> Swift.Void)? = nil)
743
786
  @objc deinit
744
787
  }
788
+ @_hasMissingDesignatedInitializers final public class AIGemini {
789
+ public static var endpoint: Swift.String?
790
+ public static var extraHeaders: [Swift.String : Swift.String]
791
+ public static var apiKey: Swift.String?
792
+ public static var model: Swift.String
793
+ public static var analysisModel: Swift.String
794
+ public static var imageSize: Swift.String
795
+ public static var qualityGuard: Swift.String
796
+ public static var isConfigured: Swift.Bool {
797
+ get
798
+ }
799
+ @objc deinit
800
+ }
801
+ @_hasMissingDesignatedInitializers final public class AIBilling {
802
+ public static var enabled: Swift.Bool
803
+ public static var points: Swift.Int
804
+ public static var freeCount: Swift.Int
805
+ public static var costPerUse: Swift.Int
806
+ public static var highQualityCost: Swift.Int?
807
+ public static var onUsage: (([Swift.String : Any]) -> Swift.Void)?
808
+ public static var onChargeRequired: (([Swift.String : Any]) -> Swift.Void)?
809
+ public static var isAvailable: Swift.Bool {
810
+ get
811
+ }
812
+ public static func apply(_ config: [Swift.String : Any])
813
+ @objc deinit
814
+ }
815
+ public struct VideoExportOptions {
816
+ public var maxDurationSec: Swift.Double
817
+ public var maxFileSizeMB: Swift.Double
818
+ public var qualities: [Swift.Int]
819
+ public var defaultQuality: Swift.Int
820
+ public var codec: Swift.String
821
+ public var posterFormat: Swift.String
822
+ public init()
823
+ public init(dictionary d: [Swift.String : Any]?)
824
+ }
825
+ public struct VideoEditState : Swift.Equatable, Swift.Hashable {
826
+ public static func defaultQualityHeight(shortSide: Swift.Int, options: RNAttachmentKit.VideoExportOptions) -> Swift.Int
827
+ public static func defaultState(for asset: Photos.PHAsset, options: RNAttachmentKit.VideoExportOptions) -> RNAttachmentKit.VideoEditState
828
+ public var qualityHeight: Swift.Int?
829
+ public var muted: Swift.Bool
830
+ public var trimStart: Swift.Double
831
+ public var trimEnd: Swift.Double
832
+ public var cropRotations: Swift.Int
833
+ public var cropFlipH: Swift.Bool
834
+ public var cropX: Swift.Double
835
+ public var cropY: Swift.Double
836
+ public var cropW: Swift.Double
837
+ public var cropH: Swift.Double
838
+ public var overlayImage: UIKit.UIImage?
839
+ public init(qualityHeight: Swift.Int? = nil)
840
+ public var hasOverlay: Swift.Bool {
841
+ get
842
+ }
843
+ public var cropRect: CoreFoundation.CGRect {
844
+ get
845
+ }
846
+ public var hasCrop: Swift.Bool {
847
+ get
848
+ }
849
+ public func cropGeometry(displaySize d: CoreFoundation.CGSize) -> (edited: CoreFoundation.CGSize, cropped: CoreFoundation.CGSize, transform: CoreFoundation.CGAffineTransform)
850
+ public func croppedAspect(sourceAspect: CoreFoundation.CGFloat) -> CoreFoundation.CGFloat
851
+ public func applyCrop(to image: UIKit.UIImage) -> UIKit.UIImage
852
+ public func applyEdits(to image: UIKit.UIImage) -> UIKit.UIImage
853
+ public func remappedOverlay(from old: RNAttachmentKit.VideoEditState, displaySize: CoreFoundation.CGSize) -> UIKit.UIImage?
854
+ public func trimRange(duration: Swift.Double) -> CoreMedia.CMTimeRange?
855
+ public func outputDuration(sourceDuration: Swift.Double) -> Swift.Double
856
+ public func clamped(maxDuration: Swift.Double, sourceDuration: Swift.Double) -> RNAttachmentKit.VideoEditState
857
+ public static func == (a: RNAttachmentKit.VideoEditState, b: RNAttachmentKit.VideoEditState) -> Swift.Bool
858
+ public func hash(into hasher: inout Swift.Hasher)
859
+ public var hashValue: Swift.Int {
860
+ get
861
+ }
862
+ }
863
+ public struct VideoExportResult {
864
+ public let url: Foundation.URL
865
+ public let thumbnailURL: Foundation.URL?
866
+ public let thumbnailWidth: Swift.Int
867
+ public let thumbnailHeight: Swift.Int
868
+ public let duration: Swift.Double
869
+ public let width: Swift.Int
870
+ public let height: Swift.Int
871
+ public let fileSize: Swift.Int64
872
+ public let bitrate: Swift.Int
873
+ public let codec: Swift.String
874
+ public let passthrough: Swift.Bool
875
+ }
876
+ public enum VideoSendIssue {
877
+ case tooLong
878
+ case tooLarge
879
+ public static func == (a: RNAttachmentKit.VideoSendIssue, b: RNAttachmentKit.VideoSendIssue) -> Swift.Bool
880
+ public func hash(into hasher: inout Swift.Hasher)
881
+ public var hashValue: Swift.Int {
882
+ get
883
+ }
884
+ }
885
+ final public class VideoExporter {
886
+ public static let sizeMargin: Swift.Double
887
+ public static func sendIssue(sourceDuration: Swift.Double, sourceShortSide: CoreFoundation.CGFloat, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions) -> RNAttachmentKit.VideoSendIssue?
888
+ public static func fittedQuality(_ want: Swift.Int, sourceShortSide: CoreFoundation.CGFloat, outputDuration: Swift.Double, options: RNAttachmentKit.VideoExportOptions) -> Swift.Int
889
+ public enum ExportError : Foundation.LocalizedError {
890
+ case cancelled, noVideoTrack, assetUnavailable, writerFailed(Swift.String), tooLarge
891
+ public var errorDescription: Swift.String? {
892
+ get
893
+ }
894
+ }
895
+ public static func bitrate(forHeight h: Swift.Int, fps: Swift.Double) -> Swift.Int
896
+ public static func estimatedSize(height: Swift.Int, fps: Swift.Double, duration: Swift.Double) -> Swift.Int64
897
+ public static func predictedOutputSize(displaySize d: CoreFoundation.CGSize, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, sourceDuration: Swift.Double) -> CoreFoundation.CGSize
898
+ final public var makesThumbnail: Swift.Bool
899
+ public init()
900
+ final public func cancel()
901
+ final public func export(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, outputDir: Foundation.URL, baseName: Swift.String, progress: @escaping (Swift.Double) -> Swift.Void) throws -> RNAttachmentKit.VideoExportResult
902
+ final public func export(fileURL: Foundation.URL, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, outputDir: Foundation.URL, baseName: Swift.String, progress: @escaping (Swift.Double) -> Swift.Void) throws -> RNAttachmentKit.VideoExportResult
903
+ public static func encodePoster(_ image: UIKit.UIImage, format: Swift.String, quality: CoreFoundation.CGFloat) -> (data: Foundation.Data, fileExtension: Swift.String)?
904
+ @objc deinit
905
+ }
906
+ @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency final public class VideoExportHUD : UIKit.UIView {
907
+ @_Concurrency.MainActor @preconcurrency final public var onCancel: (() -> Swift.Void)?
908
+ @_Concurrency.MainActor @preconcurrency public init(accent: UIKit.UIColor, languageCode: Swift.String)
909
+ @_Concurrency.MainActor @preconcurrency final public func update(progress: Swift.Double, index: Swift.Int, total: Swift.Int)
910
+ @_Concurrency.MainActor @preconcurrency public static func show(accent: UIKit.UIColor, languageCode: Swift.String) -> RNAttachmentKit.VideoExportHUD?
911
+ @_Concurrency.MainActor @preconcurrency final public func dismiss()
912
+ @_Concurrency.MainActor @preconcurrency @objc override final public func layoutSubviews()
913
+ @_Concurrency.MainActor @preconcurrency @objc override final public func willMove(toSuperview newSuperview: UIKit.UIView?)
914
+ @objc deinit
915
+ }
916
+ public struct ViewerVideoItem {
917
+ public var uri: Swift.String
918
+ public var duration: Swift.Double?
919
+ public var cacheFile: Swift.String?
920
+ public init(uri: Swift.String, duration: Swift.Double? = nil, cacheFile: Swift.String? = nil)
921
+ public init?(dictionary d: Any?)
922
+ }
923
+ @_hasMissingDesignatedInitializers final public class VideoPrepareManager {
924
+ public static let shared: RNAttachmentKit.VideoPrepareManager
925
+ final public func prepare(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions)
926
+ final public func takeReady(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, progress: ((Swift.Double) -> Swift.Void)? = nil, isCancelled: (() -> Swift.Bool)? = nil) -> RNAttachmentKit.VideoExportResult?
927
+ final public func discard(asset: Photos.PHAsset)
928
+ final public func discardAll()
929
+ @objc deinit
930
+ }
745
931
  extension RNAttachmentKit.AttachMenuTab : Swift.Equatable {}
746
932
  extension RNAttachmentKit.AttachMenuTab : Swift.Hashable {}
747
933
  extension RNAttachmentKit.AttachMenuTab : Swift.RawRepresentable {}
748
934
  extension RNAttachmentKit.ImageEditorTransitionDelegate : Swift.Sendable {}
749
935
  extension RNAttachmentKit.ZoomTransitionAnimator : Swift.Sendable {}
936
+ extension RNAttachmentKit.VideoSendIssue : Swift.Equatable {}
937
+ extension RNAttachmentKit.VideoSendIssue : Swift.Hashable {}
@@ -5,6 +5,7 @@
5
5
  import AVFoundation
6
6
  import CoreImage
7
7
  import CoreLocation
8
+ import CoreMotion
8
9
  import CoreText
9
10
  import CryptoKit
10
11
  import DeveloperToolsSupport
@@ -16,6 +17,8 @@ import Swift
16
17
  import SwiftUI
17
18
  import UIKit
18
19
  import UniformTypeIdentifiers
20
+ import VideoToolbox
21
+ import Vision
19
22
  import _Concurrency
20
23
  import _StringProcessing
21
24
  import _SwiftConcurrencyShims
@@ -44,7 +47,10 @@ import _SwiftConcurrencyShims
44
47
  }
45
48
  @_Concurrency.MainActor @preconcurrency public var onLocationSelected: ((RNAttachmentKit.AttachLocationResult) -> Swift.Void)?
46
49
  @_Concurrency.MainActor @preconcurrency public var capturesLocationImage: Swift.Bool
47
- @_Concurrency.MainActor @preconcurrency public func releaseAfterReturn()
50
+ @_Concurrency.MainActor @preconcurrency public var mediaType: Swift.String
51
+ @_Concurrency.MainActor @preconcurrency public var maxVideoDurationSec: Swift.Double
52
+ @_Concurrency.MainActor @preconcurrency public var videoExportOptions: RNAttachmentKit.VideoExportOptions
53
+ @_Concurrency.MainActor @preconcurrency public func releaseAfterReturn(discardPreparedVideos: Swift.Bool = true)
48
54
  @_Concurrency.MainActor @preconcurrency public var onFilesSelected: (([RNAttachmentKit.AttachFileResult]) -> Swift.Void)?
49
55
  @_Concurrency.MainActor @preconcurrency public var onFilesSelectedWithFailures: (([RNAttachmentKit.AttachFileResult], [RNAttachmentKit.AttachFileFailure]) -> Swift.Void)?
50
56
  @_Concurrency.MainActor @preconcurrency public var allowsMultipleFiles: Swift.Bool
@@ -71,6 +77,7 @@ import _SwiftConcurrencyShims
71
77
  @_Concurrency.MainActor @preconcurrency final public let galleryID: Swift.String
72
78
  @_Concurrency.MainActor @preconcurrency public var selectedAssets: [Photos.PHAsset]
73
79
  @_Concurrency.MainActor @preconcurrency public var editedImages: [Swift.String : UIKit.UIImage]
80
+ @_Concurrency.MainActor @preconcurrency public var videoEditStates: [Swift.String : RNAttachmentKit.VideoEditState]
74
81
  @_Concurrency.MainActor @preconcurrency public var selectedAssetsSet: Swift.Set<Swift.String>
75
82
  @_Concurrency.MainActor @preconcurrency public var hiddenAssetId: Swift.String?
76
83
  @_Concurrency.MainActor @preconcurrency public var collectionView: UIKit.UICollectionView {
@@ -117,6 +124,7 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
117
124
  case gallery
118
125
  case location
119
126
  case file
127
+ case aiWorks
120
128
  public init?(rawValue: Swift.String)
121
129
  public typealias AllCases = [RNAttachmentKit.AttachMenuTab]
122
130
  public typealias RawValue = Swift.String
@@ -149,7 +157,9 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
149
157
  @_Concurrency.MainActor @preconcurrency final public var selectedTab: RNAttachmentKit.AttachMenuTab {
150
158
  get
151
159
  }
152
- @_Concurrency.MainActor @preconcurrency final public let tabs: [RNAttachmentKit.AttachMenuTab]
160
+ @_Concurrency.MainActor @preconcurrency final public var tabs: [RNAttachmentKit.AttachMenuTab] {
161
+ get
162
+ }
153
163
  @_Concurrency.MainActor @preconcurrency final public var blurIntensity: CoreFoundation.CGFloat {
154
164
  get
155
165
  set
@@ -158,8 +168,9 @@ public enum AttachMenuTab : Swift.String, Swift.CaseIterable {
158
168
  get
159
169
  set
160
170
  }
161
- @_Concurrency.MainActor @preconcurrency public init(tabs: [RNAttachmentKit.AttachMenuTab] = AttachMenuTab.allCases, selected: RNAttachmentKit.AttachMenuTab = .gallery, languageCode: Swift.String, accentColor: UIKit.UIColor)
171
+ @_Concurrency.MainActor @preconcurrency public init(tabs: [RNAttachmentKit.AttachMenuTab] = [.gallery, .location, .file], selected: RNAttachmentKit.AttachMenuTab = .gallery, languageCode: Swift.String, accentColor: UIKit.UIColor)
162
172
  @objc deinit
173
+ @_Concurrency.MainActor @preconcurrency final public func setTabs(_ newTabs: [RNAttachmentKit.AttachMenuTab])
163
174
  @_Concurrency.MainActor @preconcurrency @objc override final public func didMoveToWindow()
164
175
  @_Concurrency.MainActor @preconcurrency final public func prepareNativeAppearance()
165
176
  @_Concurrency.MainActor @preconcurrency @objc override final public func layoutSubviews()
@@ -245,6 +256,9 @@ public struct FilterState {
245
256
  @_Concurrency.MainActor @preconcurrency public var onConfirmMulti: (([Photos.PHAsset], [Photos.PHAsset : UIKit.UIImage], [Photos.PHAsset : RNAttachmentKit.FilterState]) -> Swift.Void)?
246
257
  @_Concurrency.MainActor @preconcurrency public var onSendMulti: (([Photos.PHAsset], [Photos.PHAsset : UIKit.UIImage], [Photos.PHAsset : RNAttachmentKit.FilterState]) -> Swift.Void)?
247
258
  @_Concurrency.MainActor @preconcurrency public var onCancel: (() -> Swift.Void)?
259
+ @_Concurrency.MainActor @preconcurrency public var videoEditStates: [Swift.Int : RNAttachmentKit.VideoEditState]
260
+ @_Concurrency.MainActor @preconcurrency public var videoOptions: RNAttachmentKit.VideoExportOptions
261
+ @_Concurrency.MainActor @preconcurrency public var onVideoStateChanged: ((Photos.PHAsset, RNAttachmentKit.VideoEditState) -> Swift.Void)?
248
262
  @_Concurrency.MainActor @preconcurrency public var themeColor: UIKit.UIColor?
249
263
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
250
264
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func traitCollectionDidChange(_ previousTraitCollection: UIKit.UITraitCollection?)
@@ -287,6 +301,7 @@ public struct Album {
287
301
  }
288
302
  @_hasMissingDesignatedInitializers public class PhotoManager {
289
303
  public var languageCode: Swift.String
304
+ public var mediaType: Swift.String
290
305
  public static let shared: RNAttachmentKit.PhotoManager
291
306
  public func resetCachingManager()
292
307
  public func fetchAlbums(completion: @escaping ([RNAttachmentKit.Album]) -> Swift.Void)
@@ -387,7 +402,9 @@ extension RNAttachmentKit.GalleryBaseViewController : UIKit.UIAdaptivePresentati
387
402
  public func saveImage(_ image: UIKit.UIImage, for url: Swift.String)
388
403
  }
389
404
  @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency public class RemoteImageViewerViewController : UIKit.UIViewController {
405
+ @objc deinit
390
406
  @_Concurrency.MainActor @preconcurrency public var onPageChanged: ((Swift.Int) -> Swift.Void)?
407
+ @_Concurrency.MainActor @preconcurrency public var videos: [RNAttachmentKit.ViewerVideoItem?]
391
408
  @_Concurrency.MainActor @preconcurrency public var prefersPlaceholderThumbnails: Swift.Bool
392
409
  @_Concurrency.MainActor @preconcurrency public var hasMoreItems: Swift.Bool {
393
410
  get
@@ -422,13 +439,24 @@ extension RNAttachmentKit.GalleryBaseViewController : UIKit.UIAdaptivePresentati
422
439
  @_Concurrency.MainActor @preconcurrency public var deleteOptions: [RNAttachmentKit.RemoteImageViewerViewController.DeleteOption]
423
440
  @_Concurrency.MainActor @preconcurrency public var onImageDeleted: ((Swift.Int, Swift.String, Swift.String?) -> Swift.Void)?
424
441
  @_Concurrency.MainActor @preconcurrency public var onWillDismissForDelete: (() -> Swift.Void)?
425
- @_Concurrency.MainActor @preconcurrency public func appendImages(urls: [Swift.String], placeholders: [Swift.String]?, cacheFiles newCacheFiles: [Swift.String]?)
442
+ @_Concurrency.MainActor @preconcurrency public func appendImages(urls: [Swift.String], placeholders: [Swift.String]?, cacheFiles newCacheFiles: [Swift.String]?, videos newVideos: [RNAttachmentKit.ViewerVideoItem?]? = nil)
426
443
  @_Concurrency.MainActor @preconcurrency public static func isImageCached(for urlString: Swift.String) -> Swift.Bool
427
444
  @_Concurrency.MainActor @preconcurrency public static func prefetchImage(from urlString: Swift.String, completion: @escaping (UIKit.UIImage?) -> Swift.Void)
428
445
  @_Concurrency.MainActor @preconcurrency public init(imageUrls: [Swift.String], initialIndex: Swift.Int)
429
446
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
447
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidAppear(_ animated: Swift.Bool)
448
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewWillDisappear(_ animated: Swift.Bool)
449
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var prefersStatusBarHidden: Swift.Bool {
450
+ @objc get
451
+ }
452
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var preferredStatusBarUpdateAnimation: UIKit.UIStatusBarAnimation {
453
+ @objc get
454
+ }
455
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public var prefersHomeIndicatorAutoHidden: Swift.Bool {
456
+ @objc get
457
+ }
458
+ @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidDisappear(_ animated: Swift.Bool)
430
459
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLayoutSubviews()
431
- @objc deinit
432
460
  }
433
461
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIGestureRecognizerDelegate {
434
462
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIKit.UIGestureRecognizer) -> Swift.Bool
@@ -436,6 +464,7 @@ extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIGestureRecog
436
464
  }
437
465
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UIScrollViewDelegate {
438
466
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
467
+ @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDragging(_ scrollView: UIKit.UIScrollView, willDecelerate decelerate: Swift.Bool)
439
468
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func scrollViewDidEndDecelerating(_ scrollView: UIKit.UIScrollView)
440
469
  }
441
470
  extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UICollectionViewDataSource, UIKit.UICollectionViewDelegate {
@@ -443,6 +472,9 @@ extension RNAttachmentKit.RemoteImageViewerViewController : UIKit.UICollectionVi
443
472
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
444
473
  @_Concurrency.MainActor @preconcurrency @objc dynamic public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
445
474
  }
475
+ extension RNAttachmentKit.RemoteImageViewerViewController {
476
+ @_Concurrency.MainActor @preconcurrency public func videoCloseSnapshot(in container: UIKit.UIView) -> (image: UIKit.UIImage, frame: CoreFoundation.CGRect)?
477
+ }
446
478
  public struct Localizer {
447
479
  public static let supportedLanguageCodes: [Swift.String]
448
480
  public static func normalize(_ languageCode: Swift.String) -> Swift.String
@@ -458,6 +490,15 @@ public struct MediaGalleryItem {
458
490
  public let isMine: Swift.Bool
459
491
  public let width: Swift.Int?
460
492
  public let height: Swift.Int?
493
+ public var videoUri: Swift.String?
494
+ public var videoCacheFile: Swift.String?
495
+ public var duration: Swift.Double?
496
+ public var isVideo: Swift.Bool {
497
+ get
498
+ }
499
+ public var viewerVideo: RNAttachmentKit.ViewerVideoItem? {
500
+ get
501
+ }
461
502
  public init(id: Swift.String, groupId: Swift.String, timestamp: Swift.Double, thumbUri: Swift.String?, imageUri: Swift.String, cacheFile: Swift.String? = nil, isMine: Swift.Bool = false, width: Swift.Int? = nil, height: Swift.Int? = nil)
462
503
  public init?(dictionary d: [Swift.String : Any])
463
504
  public func toDictionary() -> [Swift.String : Any]
@@ -623,6 +664,7 @@ extension RNAttachmentKit.MediaGalleryViewController : UIKit.UICollectionViewDat
623
664
  @_Concurrency.MainActor @preconcurrency public var disablePresentationAnimation: Swift.Bool
624
665
  @_Concurrency.MainActor @preconcurrency public var onCurrentAssetChanged: ((Photos.PHAsset) -> Swift.Void)?
625
666
  @_Concurrency.MainActor @preconcurrency public var onEditorClosed: (() -> Swift.Void)?
667
+ @_Concurrency.MainActor @preconcurrency public var onPresentationStarted: (() -> Swift.Void)?
626
668
  @_Concurrency.MainActor @preconcurrency public var openDuration: Swift.Double
627
669
  @_Concurrency.MainActor @preconcurrency public var closeDuration: Swift.Double
628
670
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init()
@@ -660,6 +702,7 @@ extension RNAttachmentKit.MediaGalleryViewController : UIKit.UICollectionViewDat
660
702
  @_Concurrency.MainActor @preconcurrency final public let accentColor: UIKit.UIColor
661
703
  @_Concurrency.MainActor @preconcurrency final public let languageCode: Swift.String
662
704
  @_Concurrency.MainActor @preconcurrency final public var onClosed: (() -> Swift.Void)?
705
+ @_Concurrency.MainActor @preconcurrency final public var onWillClose: ((Foundation.TimeInterval) -> Swift.Void)?
663
706
  @_Concurrency.MainActor @preconcurrency final public var showsDirections: Swift.Bool
664
707
  @_Concurrency.MainActor @preconcurrency final public var spanMeters: Swift.Double?
665
708
  @_Concurrency.MainActor @preconcurrency final public var sourceRect: CoreFoundation.CGRect?
@@ -742,8 +785,153 @@ public struct ReverseGeocodeError : Swift.Error {
742
785
  final public func clearCache(completion: (() -> Swift.Void)? = nil)
743
786
  @objc deinit
744
787
  }
788
+ @_hasMissingDesignatedInitializers final public class AIGemini {
789
+ public static var endpoint: Swift.String?
790
+ public static var extraHeaders: [Swift.String : Swift.String]
791
+ public static var apiKey: Swift.String?
792
+ public static var model: Swift.String
793
+ public static var analysisModel: Swift.String
794
+ public static var imageSize: Swift.String
795
+ public static var qualityGuard: Swift.String
796
+ public static var isConfigured: Swift.Bool {
797
+ get
798
+ }
799
+ @objc deinit
800
+ }
801
+ @_hasMissingDesignatedInitializers final public class AIBilling {
802
+ public static var enabled: Swift.Bool
803
+ public static var points: Swift.Int
804
+ public static var freeCount: Swift.Int
805
+ public static var costPerUse: Swift.Int
806
+ public static var highQualityCost: Swift.Int?
807
+ public static var onUsage: (([Swift.String : Any]) -> Swift.Void)?
808
+ public static var onChargeRequired: (([Swift.String : Any]) -> Swift.Void)?
809
+ public static var isAvailable: Swift.Bool {
810
+ get
811
+ }
812
+ public static func apply(_ config: [Swift.String : Any])
813
+ @objc deinit
814
+ }
815
+ public struct VideoExportOptions {
816
+ public var maxDurationSec: Swift.Double
817
+ public var maxFileSizeMB: Swift.Double
818
+ public var qualities: [Swift.Int]
819
+ public var defaultQuality: Swift.Int
820
+ public var codec: Swift.String
821
+ public var posterFormat: Swift.String
822
+ public init()
823
+ public init(dictionary d: [Swift.String : Any]?)
824
+ }
825
+ public struct VideoEditState : Swift.Equatable, Swift.Hashable {
826
+ public static func defaultQualityHeight(shortSide: Swift.Int, options: RNAttachmentKit.VideoExportOptions) -> Swift.Int
827
+ public static func defaultState(for asset: Photos.PHAsset, options: RNAttachmentKit.VideoExportOptions) -> RNAttachmentKit.VideoEditState
828
+ public var qualityHeight: Swift.Int?
829
+ public var muted: Swift.Bool
830
+ public var trimStart: Swift.Double
831
+ public var trimEnd: Swift.Double
832
+ public var cropRotations: Swift.Int
833
+ public var cropFlipH: Swift.Bool
834
+ public var cropX: Swift.Double
835
+ public var cropY: Swift.Double
836
+ public var cropW: Swift.Double
837
+ public var cropH: Swift.Double
838
+ public var overlayImage: UIKit.UIImage?
839
+ public init(qualityHeight: Swift.Int? = nil)
840
+ public var hasOverlay: Swift.Bool {
841
+ get
842
+ }
843
+ public var cropRect: CoreFoundation.CGRect {
844
+ get
845
+ }
846
+ public var hasCrop: Swift.Bool {
847
+ get
848
+ }
849
+ public func cropGeometry(displaySize d: CoreFoundation.CGSize) -> (edited: CoreFoundation.CGSize, cropped: CoreFoundation.CGSize, transform: CoreFoundation.CGAffineTransform)
850
+ public func croppedAspect(sourceAspect: CoreFoundation.CGFloat) -> CoreFoundation.CGFloat
851
+ public func applyCrop(to image: UIKit.UIImage) -> UIKit.UIImage
852
+ public func applyEdits(to image: UIKit.UIImage) -> UIKit.UIImage
853
+ public func remappedOverlay(from old: RNAttachmentKit.VideoEditState, displaySize: CoreFoundation.CGSize) -> UIKit.UIImage?
854
+ public func trimRange(duration: Swift.Double) -> CoreMedia.CMTimeRange?
855
+ public func outputDuration(sourceDuration: Swift.Double) -> Swift.Double
856
+ public func clamped(maxDuration: Swift.Double, sourceDuration: Swift.Double) -> RNAttachmentKit.VideoEditState
857
+ public static func == (a: RNAttachmentKit.VideoEditState, b: RNAttachmentKit.VideoEditState) -> Swift.Bool
858
+ public func hash(into hasher: inout Swift.Hasher)
859
+ public var hashValue: Swift.Int {
860
+ get
861
+ }
862
+ }
863
+ public struct VideoExportResult {
864
+ public let url: Foundation.URL
865
+ public let thumbnailURL: Foundation.URL?
866
+ public let thumbnailWidth: Swift.Int
867
+ public let thumbnailHeight: Swift.Int
868
+ public let duration: Swift.Double
869
+ public let width: Swift.Int
870
+ public let height: Swift.Int
871
+ public let fileSize: Swift.Int64
872
+ public let bitrate: Swift.Int
873
+ public let codec: Swift.String
874
+ public let passthrough: Swift.Bool
875
+ }
876
+ public enum VideoSendIssue {
877
+ case tooLong
878
+ case tooLarge
879
+ public static func == (a: RNAttachmentKit.VideoSendIssue, b: RNAttachmentKit.VideoSendIssue) -> Swift.Bool
880
+ public func hash(into hasher: inout Swift.Hasher)
881
+ public var hashValue: Swift.Int {
882
+ get
883
+ }
884
+ }
885
+ final public class VideoExporter {
886
+ public static let sizeMargin: Swift.Double
887
+ public static func sendIssue(sourceDuration: Swift.Double, sourceShortSide: CoreFoundation.CGFloat, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions) -> RNAttachmentKit.VideoSendIssue?
888
+ public static func fittedQuality(_ want: Swift.Int, sourceShortSide: CoreFoundation.CGFloat, outputDuration: Swift.Double, options: RNAttachmentKit.VideoExportOptions) -> Swift.Int
889
+ public enum ExportError : Foundation.LocalizedError {
890
+ case cancelled, noVideoTrack, assetUnavailable, writerFailed(Swift.String), tooLarge
891
+ public var errorDescription: Swift.String? {
892
+ get
893
+ }
894
+ }
895
+ public static func bitrate(forHeight h: Swift.Int, fps: Swift.Double) -> Swift.Int
896
+ public static func estimatedSize(height: Swift.Int, fps: Swift.Double, duration: Swift.Double) -> Swift.Int64
897
+ public static func predictedOutputSize(displaySize d: CoreFoundation.CGSize, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, sourceDuration: Swift.Double) -> CoreFoundation.CGSize
898
+ final public var makesThumbnail: Swift.Bool
899
+ public init()
900
+ final public func cancel()
901
+ final public func export(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, outputDir: Foundation.URL, baseName: Swift.String, progress: @escaping (Swift.Double) -> Swift.Void) throws -> RNAttachmentKit.VideoExportResult
902
+ final public func export(fileURL: Foundation.URL, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions, outputDir: Foundation.URL, baseName: Swift.String, progress: @escaping (Swift.Double) -> Swift.Void) throws -> RNAttachmentKit.VideoExportResult
903
+ public static func encodePoster(_ image: UIKit.UIImage, format: Swift.String, quality: CoreFoundation.CGFloat) -> (data: Foundation.Data, fileExtension: Swift.String)?
904
+ @objc deinit
905
+ }
906
+ @objc @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency final public class VideoExportHUD : UIKit.UIView {
907
+ @_Concurrency.MainActor @preconcurrency final public var onCancel: (() -> Swift.Void)?
908
+ @_Concurrency.MainActor @preconcurrency public init(accent: UIKit.UIColor, languageCode: Swift.String)
909
+ @_Concurrency.MainActor @preconcurrency final public func update(progress: Swift.Double, index: Swift.Int, total: Swift.Int)
910
+ @_Concurrency.MainActor @preconcurrency public static func show(accent: UIKit.UIColor, languageCode: Swift.String) -> RNAttachmentKit.VideoExportHUD?
911
+ @_Concurrency.MainActor @preconcurrency final public func dismiss()
912
+ @_Concurrency.MainActor @preconcurrency @objc override final public func layoutSubviews()
913
+ @_Concurrency.MainActor @preconcurrency @objc override final public func willMove(toSuperview newSuperview: UIKit.UIView?)
914
+ @objc deinit
915
+ }
916
+ public struct ViewerVideoItem {
917
+ public var uri: Swift.String
918
+ public var duration: Swift.Double?
919
+ public var cacheFile: Swift.String?
920
+ public init(uri: Swift.String, duration: Swift.Double? = nil, cacheFile: Swift.String? = nil)
921
+ public init?(dictionary d: Any?)
922
+ }
923
+ @_hasMissingDesignatedInitializers final public class VideoPrepareManager {
924
+ public static let shared: RNAttachmentKit.VideoPrepareManager
925
+ final public func prepare(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, options: RNAttachmentKit.VideoExportOptions)
926
+ final public func takeReady(asset: Photos.PHAsset, state: RNAttachmentKit.VideoEditState, progress: ((Swift.Double) -> Swift.Void)? = nil, isCancelled: (() -> Swift.Bool)? = nil) -> RNAttachmentKit.VideoExportResult?
927
+ final public func discard(asset: Photos.PHAsset)
928
+ final public func discardAll()
929
+ @objc deinit
930
+ }
745
931
  extension RNAttachmentKit.AttachMenuTab : Swift.Equatable {}
746
932
  extension RNAttachmentKit.AttachMenuTab : Swift.Hashable {}
747
933
  extension RNAttachmentKit.AttachMenuTab : Swift.RawRepresentable {}
748
934
  extension RNAttachmentKit.ImageEditorTransitionDelegate : Swift.Sendable {}
749
935
  extension RNAttachmentKit.ZoomTransitionAnimator : Swift.Sendable {}
936
+ extension RNAttachmentKit.VideoSendIssue : Swift.Equatable {}
937
+ extension RNAttachmentKit.VideoSendIssue : Swift.Hashable {}