// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
// swift-module-flags: -target arm64-apple-ios9.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -Onone -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name DKImagePickerController
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.3
import AVFoundation
@_exported import DKImagePickerController
import DKPhotoGallery
import Foundation
import Photos
import Swift
import UIKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
extension CoreFoundation.CGSize {
  public func toPixel() -> CoreFoundation.CGSize
}
@objc public enum DKAssetType : Swift.Int {
  case photo
  case video
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc open class DKAsset : ObjectiveC.NSObject {
  @objc public var type: DKImagePickerController.DKAssetType {
    get
  }
  @objc public var localIdentifier: Swift.String
  @objc public var location: _LocationEssentials.CLLocation? {
    get
  }
  @objc public var duration: Swift.Double {
    get
  }
  @objc public var pixelWidth: Swift.Int {
    get
  }
  @objc public var pixelHeight: Swift.Int {
    get
  }
  @objc public var originalAsset: Photos.PHAsset? {
    get
  }
  public init(originalAsset: Photos.PHAsset)
  public var image: UIKit.UIImage? {
    get
  }
  public init(image: UIKit.UIImage)
  @objc override dynamic open func isEqual(_ object: Any?) -> Swift.Bool
  @objc deinit
}
extension AVFoundation.AVAsset {
  @objc dynamic public func calculateFileSize() -> Swift.Float
}
@objc extension DKImagePickerController.DKAsset {
  @objc dynamic public var localTemporaryPath: Foundation.URL? {
    @objc get
    @objc set
  }
  @objc dynamic public var fileName: Swift.String? {
    @objc get
    @objc set
  }
  @objc dynamic public var fileSize: Swift.UInt {
    @objc get
    @objc set
  }
  @objc dynamic public var progress: Swift.Double {
    @objc get
    @objc set
  }
  @objc dynamic public var error: (any Swift.Error)? {
    @objc get
    @objc set
  }
}
extension DKImagePickerController.DKAsset {
  @objc dynamic public func fetchImage(with size: CoreFoundation.CGSize, options: Photos.PHImageRequestOptions? = nil, contentMode: Photos.PHImageContentMode = .aspectFit, completeBlock: @escaping (_ image: UIKit.UIImage?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  @objc dynamic public func fetchFullScreenImage(completeBlock: @escaping (_ image: UIKit.UIImage?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  @objc dynamic public func fetchOriginalImage(options: Photos.PHImageRequestOptions? = nil, completeBlock: @escaping (_ image: UIKit.UIImage?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  @objc dynamic public func fetchImageData(options: Photos.PHImageRequestOptions? = nil, compressionQuality: CoreFoundation.CGFloat = 0.9, completeBlock: @escaping (_ imageData: Foundation.Data?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  @objc dynamic public func fetchAVAsset(options: Photos.PHVideoRequestOptions? = nil, completeBlock: @escaping (_ AVAsset: AVFoundation.AVAsset?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  @objc dynamic public func cancelRequests()
  public var fullScreenImage: (image: UIKit.UIImage?, info: [Swift.AnyHashable : Any]?)? {
    get
  }
}
@objc @_hasMissingDesignatedInitializers public class DKAssetGroup : ObjectiveC.NSObject {
  final public let groupId: Swift.String
  public var groupName: Swift.String?
  public var originalCollection: Photos.PHAssetCollection?
  public var fetchResult: Photos.PHFetchResult<Photos.PHAsset>?
  public var totalCount: Swift.Int {
    get
  }
  @objc deinit
}
@objc public protocol DKAssetGroupCellItemProtocol {
  @objc weak var asset: DKImagePickerController.DKAsset! { get set }
  @objc var selectedIndex: Swift.Int { get set }
  @objc var thumbnailImage: UIKit.UIImage? { get set }
  @objc var thumbnailImageView: UIKit.UIImageView { get }
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor @preconcurrency open class DKAssetGroupDetailBaseCell : UIKit.UICollectionViewCell, DKImagePickerController.DKAssetGroupCellItemProtocol {
  @_Concurrency.MainActor @preconcurrency open class func cellReuseIdentifier() -> Swift.String
  @_Concurrency.MainActor @preconcurrency @objc weak open var asset: DKImagePickerController.DKAsset?
  @_Concurrency.MainActor @preconcurrency weak open var imagePickerController: DKImagePickerController.DKImagePickerController?
  @_Concurrency.MainActor @preconcurrency @objc open var selectedIndex: Swift.Int
  @_Concurrency.MainActor @preconcurrency @objc open var thumbnailImage: UIKit.UIImage?
  @_Concurrency.MainActor @preconcurrency @objc open var thumbnailImageView: UIKit.UIImageView {
    @objc get
  }
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(frame: CoreFoundation.CGRect)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open var isHighlighted: Swift.Bool {
    @objc get
    @objc set
  }
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @_Concurrency.MainActor @preconcurrency public class DKAssetGroupDetailCameraCell : DKImagePickerController.DKAssetGroupDetailBaseCell {
  @objc @_Concurrency.MainActor @preconcurrency override public class func cellReuseIdentifier() -> Swift.String
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @_Concurrency.MainActor @preconcurrency public class DKAssetGroupDetailImageCell : DKImagePickerController.DKAssetGroupDetailBaseCell {
  @objc @_Concurrency.MainActor @preconcurrency override public class func cellReuseIdentifier() -> Swift.String
  @objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @_Concurrency.MainActor @preconcurrency open class DKImageCheckView : UIKit.UIView {
    @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder)
    @_Concurrency.MainActor @preconcurrency @objc override dynamic open func layoutSubviews()
    @objc deinit
  }
  @_Concurrency.MainActor @preconcurrency @objc override public var thumbnailImage: UIKit.UIImage? {
    @objc get
    @objc set
  }
  @_Concurrency.MainActor @preconcurrency @objc override public var selectedIndex: Swift.Int {
    @objc get
    @objc set
  }
  @_Concurrency.MainActor @preconcurrency @objc override public var thumbnailImageView: UIKit.UIImageView {
    @objc get
  }
  @objc @_Concurrency.MainActor @preconcurrency final public let checkView: DKImagePickerController.DKAssetGroupDetailImageCell.DKImageCheckView
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public var isSelected: Swift.Bool {
    @objc get
    @objc set
  }
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency open class DKAssetGroupDetailVC : UIKit.UIViewController, UIKit.UIGestureRecognizerDelegate, UIKit.UICollectionViewDelegate, UIKit.UICollectionViewDataSource, DKImagePickerController.DKImagePickerControllerAware {
  @_Concurrency.MainActor @preconcurrency public var selectedGroupId: Swift.String?
  @_Concurrency.MainActor @preconcurrency @objc weak public var imagePickerController: DKImagePickerController.DKImagePickerController?
  @_Concurrency.MainActor @preconcurrency public var thumbnailSize: CoreFoundation.CGSize
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewDidLoad()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewDidAppear(_ animated: Swift.Bool)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewWillLayoutSubviews()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewDidLayoutSubviews()
  @_Concurrency.MainActor @preconcurrency @objc open func reload()
  @_Concurrency.MainActor @preconcurrency open func updateTitleView()
  @_Concurrency.MainActor @preconcurrency public func selectAsset(atIndex indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency public func deselectAsset(atIndex indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency public func adjustAssetIndex(_ index: Swift.Int) -> Swift.Int
  @_Concurrency.MainActor @preconcurrency public func scroll(to indexPath: Foundation.IndexPath, animted: Swift.Bool = false)
  @_Concurrency.MainActor @preconcurrency public func scrollToLastIndexPath(animated: Swift.Bool = false)
  @_Concurrency.MainActor @preconcurrency public func thumbnailImageView(for indexPath: Foundation.IndexPath) -> UIKit.UIImageView?
  @_Concurrency.MainActor @preconcurrency @objc public func gestureRecognizer(_ gestureRecognizer: UIKit.UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIKit.UIGestureRecognizer) -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIKit.UIGestureRecognizer) -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, numberOfItemsInSection section: Swift.Int) -> Swift.Int
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, cellForItemAt indexPath: Foundation.IndexPath) -> UIKit.UICollectionViewCell
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, willDisplay cell: UIKit.UICollectionViewCell, forItemAt indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, didEndDisplaying cell: UIKit.UICollectionViewCell, forItemAt indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, shouldSelectItemAt indexPath: Foundation.IndexPath) -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, didSelectItemAt indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency @objc public func collectionView(_ collectionView: UIKit.UICollectionView, didDeselectItemAt indexPath: Foundation.IndexPath)
  @_Concurrency.MainActor @preconcurrency @objc public func scrollViewDidScroll(_ scrollView: UIKit.UIScrollView)
  @_Concurrency.MainActor @preconcurrency open func enableCaching() -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objcMembers @_Concurrency.MainActor @preconcurrency public class DKAssetGroupDetailVideoCell : DKImagePickerController.DKAssetGroupDetailImageCell {
  @_Concurrency.MainActor @preconcurrency @objc override public class func cellReuseIdentifier() -> Swift.String
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public func layoutSubviews()
  @_Concurrency.MainActor @preconcurrency @objc override weak public var asset: DKImagePickerController.DKAsset? {
    @objc get
    @objc set
  }
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public var isSelected: Swift.Bool {
    @objc get
    @objc set
  }
  @objc deinit
}
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency open class DKAssetGroupGridLayout : UIKit.UICollectionViewFlowLayout {
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func prepare()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init()
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
  @objc deinit
}
@objc public protocol DKAssetGroupCellType {
  @objc static var preferredHeight: CoreFoundation.CGFloat { get }
  @objc func configure(with assetGroup: DKImagePickerController.DKAssetGroup, tag: Swift.Int, dataManager: DKImagePickerController.DKImageGroupDataManager, imageRequestOptions: Photos.PHImageRequestOptions)
}
@_hasMissingDesignatedInitializers public class DKImageAssetDiskPurger {
  @objc deinit
  public func add(directory: Foundation.URL)
  public func clear()
}
@objc public enum DKImageAssetExporterError : Swift.Int {
  case cancelled, exportFailed
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum DKImageExportPresent : Swift.Int {
  case compatible, current
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
public typealias DKImageAssetExportRequestID = Swift.Int32
public let DKImageAssetExportInvalidRequestID: DKImagePickerController.DKImageAssetExportRequestID
public let DKImageAssetExporterDomain: Swift.String
public let DKImageAssetExportResultRequestIDKey: Swift.String
public let DKImageAssetExportResultCancelledKey: Swift.String
@objc public protocol DKImageAssetExporterObserver {
  @objc optional func exporterWillBeginExporting(exporter: DKImagePickerController.DKImageAssetExporter, asset: DKImagePickerController.DKAsset)
  @objc optional func exporterDidUpdateProgress(exporter: DKImagePickerController.DKImageAssetExporter, asset: DKImagePickerController.DKAsset)
  @objc optional func exporterDidEndExporting(exporter: DKImagePickerController.DKImageAssetExporter, asset: DKImagePickerController.DKAsset)
}
@_inheritsConvenienceInitializers @objc public class DKImageAssetExporterConfiguration : ObjectiveC.NSObject, Foundation.NSCopying {
  @objc public var imageExportPreset: DKImagePickerController.DKImageExportPresent
  @objc public var videoExportPreset: Swift.String
  @objc public var avOutputFileType: AVFoundation.AVFileType
  @objc public var exportDirectory: Foundation.URL
  @objc public var compressionQuality: CoreFoundation.CGFloat
  @objc required override dynamic public init()
  @objc public func copy(with zone: ObjectiveC.NSZone? = nil) -> Any
  @objc deinit
}
@objc open class DKImageAssetExporter : DKImagePickerController.DKImageBaseManager {
  @objc public static let sharedInstance: DKImagePickerController.DKImageAssetExporter
  @objc public init(configuration: DKImagePickerController.DKImageAssetExporterConfiguration)
  @discardableResult
  @objc public func exportAssetsAsynchronously(assets: [DKImagePickerController.DKAsset], completion: ((_ info: [Swift.AnyHashable : Any]) -> Swift.Void)?) -> DKImagePickerController.DKImageAssetExportRequestID
  @objc public func cancel(requestID: DKImagePickerController.DKImageAssetExportRequestID)
  @objc public func cancelAll()
  @objc deinit
}
@objc @_inheritsConvenienceInitializers open class DKImageBaseManager : ObjectiveC.NSObject {
  @objc open func add(observer object: Swift.AnyObject)
  @objc open func remove(observer object: Swift.AnyObject)
  open func notify(with selector: ObjectiveC.Selector, object: Swift.AnyObject?)
  open func notify(with selector: ObjectiveC.Selector, object: Swift.AnyObject?, objectTwo: Swift.AnyObject?)
  @objc override dynamic public init()
  @objc deinit
}
public typealias DKImageRequestID = Swift.Int32
public let DKImageInvalidRequestID: DKImagePickerController.DKImageRequestID
public func getImageDataManager() -> DKImagePickerController.DKImageDataManager
@_hasMissingDesignatedInitializers public class DKImageDataManager {
  public class func checkPhotoPermission(_ handler: @escaping (_ granted: Swift.Bool) -> Swift.Void)
  @discardableResult
  public func fetchImage(for asset: DKImagePickerController.DKAsset, size: CoreFoundation.CGSize, options: Photos.PHImageRequestOptions? = nil, contentMode: Photos.PHImageContentMode = .aspectFill, completeBlock: @escaping (_ image: UIKit.UIImage?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void) -> DKImagePickerController.DKImageRequestID
  @discardableResult
  public func fetchImageData(for asset: DKImagePickerController.DKAsset, options: Photos.PHImageRequestOptions? = nil, completeBlock: @escaping (_ data: Foundation.Data?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void) -> DKImagePickerController.DKImageRequestID
  @discardableResult
  public func fetchAVAsset(for asset: DKImagePickerController.DKAsset, options: Photos.PHVideoRequestOptions? = nil, completeBlock: @escaping (_ avAsset: AVFoundation.AVAsset?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void) -> DKImagePickerController.DKImageRequestID
  public func cancelRequest(requestID: DKImagePickerController.DKImageRequestID)
  public func cancelRequests(requestIDs: [DKImagePickerController.DKImageRequestID])
  public func startCachingAssets(for assets: [Photos.PHAsset], targetSize: CoreFoundation.CGSize, contentMode: Photos.PHImageContentMode, options: Photos.PHImageRequestOptions?)
  public func stopCachingAssets(for assets: [Photos.PHAsset], targetSize: CoreFoundation.CGSize, contentMode: Photos.PHImageContentMode, options: Photos.PHImageRequestOptions?)
  public func stopCachingForAllAssets()
  @objc deinit
}
@_hasMissingDesignatedInitializers public class DKImageExtensionContext {
  weak public var imagePickerController: DKImagePickerController.DKImagePickerController! {
    get
  }
  public var groupDetailVC: DKImagePickerController.DKAssetGroupDetailVC? {
    get
  }
  @objc deinit
}
@objc public enum DKImageExtensionType : Swift.Int {
  case gallery, camera, inlineCamera, photoEditor
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
public protocol DKImageExtensionProtocol {
  func perform(with extraInfo: [Swift.AnyHashable : Any])
  func finish()
}
@objc open class DKImageBaseExtension : ObjectiveC.NSObject, DKImagePickerController.DKImageExtensionProtocol {
  final public let context: DKImagePickerController.DKImageExtensionContext
  required public init(context: DKImagePickerController.DKImageExtensionContext)
  open func perform(with extraInfo: [Swift.AnyHashable : Any])
  open func finish()
  @objc deinit
}
@_inheritsConvenienceInitializers @objc open class DKImageExtensionNone : DKImagePickerController.DKImageBaseExtension {
  required public init(context: DKImagePickerController.DKImageExtensionContext)
  @objc deinit
}
@objc @_hasMissingDesignatedInitializers @objcMembers open class DKImageExtensionController : ObjectiveC.NSObject {
  @objc public func perform(extensionType: DKImagePickerController.DKImageExtensionType, with extraInfo: [Swift.AnyHashable : Any])
  @objc public func finish(extensionType: DKImagePickerController.DKImageExtensionType)
  @objc public func enable(extensionType: DKImagePickerController.DKImageExtensionType)
  @objc public func disable(extensionType: DKImagePickerController.DKImageExtensionType)
  @objc public func isExtensionTypeAvailable(_ extensionType: DKImagePickerController.DKImageExtensionType) -> Swift.Bool
  @objc public class func registerExtension(extensionClass: DKImagePickerController.DKImageBaseExtension.Type, for type: DKImagePickerController.DKImageExtensionType)
  @objc public class func unregisterExtension(for type: DKImagePickerController.DKImageExtensionType)
  @objc deinit
}
@objc @_inheritsConvenienceInitializers open class DKImageExtensionGallery : DKImagePickerController.DKImageBaseExtension, DKPhotoGallery.DKPhotoGalleryDelegate {
  weak open var gallery: DKPhotoGallery.DKPhotoGallery?
  open var group: DKImagePickerController.DKAssetGroup!
  override open func perform(with extraInfo: [Swift.AnyHashable : Any])
  open func createGallery(with extraInfo: [Swift.AnyHashable : Any], group: DKImagePickerController.DKAssetGroup) -> DKPhotoGallery.DKPhotoGallery?
  open var backItem: UIKit.UIBarButtonItem {
    get
    set
  }
  @objc open func photoGallery(_ gallery: DKPhotoGallery.DKPhotoGallery, didShow index: Swift.Int)
  @objc open func selectAssetFromGallery(button: UIKit.UIButton)
  open func updateGalleryAssetSelection()
  @objc open func dismissGallery()
  required public init(context: DKImagePickerController.DKImageExtensionContext)
  @objc deinit
}
@_inheritsConvenienceInitializers @objc public class DKImageGroupDataManagerConfiguration : ObjectiveC.NSObject, Foundation.NSCopying {
  public var assetGroupTypes: [Photos.PHAssetCollectionSubtype]
  public var groupFetchPredicate: Foundation.NSPredicate?
  @objc public var assetFetchOptions: Photos.PHFetchOptions?
  @objc public var fetchLimit: Swift.Int
  @objc required override dynamic public init()
  @objc public func copy(with zone: ObjectiveC.NSZone? = nil) -> Any
  @objc deinit
}
@objc open class DKImageGroupDataManager : DKImagePickerController.DKImageBaseManager, Photos.PHPhotoLibraryChangeObserver {
  public var groupIds: [Swift.String]?
  public init(configuration: DKImagePickerController.DKImageGroupDataManagerConfiguration)
  @objc deinit
  open func invalidate()
  open func fetchGroups(_ completeBlock: @escaping (_ groups: [Swift.String]?, _ error: Foundation.NSError?) -> Swift.Void)
  open func fetchGroup(with groupId: Swift.String) -> DKImagePickerController.DKAssetGroup?
  open func fetchGroupThumbnail(with groupId: Swift.String, size: CoreFoundation.CGSize, options: Photos.PHImageRequestOptions, completeBlock: @escaping (_ image: UIKit.UIImage?, _ info: [Swift.AnyHashable : Any]?) -> Swift.Void)
  open func fetchAsset(_ group: DKImagePickerController.DKAssetGroup, index: Swift.Int) -> DKImagePickerController.DKAsset?
  open func fetchPHAsset(_ group: DKImagePickerController.DKAssetGroup, index: Swift.Int) -> Photos.PHAsset?
  open func makeDKAssetGroup(with collection: Photos.PHAssetCollection) -> DKImagePickerController.DKAssetGroup
  open func collectionType(for subtype: Photos.PHAssetCollectionSubtype) -> Photos.PHAssetCollectionType
  open func fetchGroups(assetGroupTypes: [Photos.PHAssetCollectionSubtype], groupFetchPredicate: Foundation.NSPredicate? = nil, block: @escaping (Photos.PHAssetCollection) -> Swift.Void)
  open func updatePartial(groups: [Swift.String : DKImagePickerController.DKAssetGroup], groupIds: [Swift.String], completeBlock: @escaping (_ groups: [Swift.String]?, _ error: Foundation.NSError?) -> Swift.Void)
  open func updateGroup(_ group: DKImagePickerController.DKAssetGroup, collection: Photos.PHAssetCollection)
  open func updateGroup(_ group: DKImagePickerController.DKAssetGroup, fetchResult: Photos.PHFetchResult<Photos.PHAsset>)
  @objc open func photoLibraryDidChange(_ changeInstance: Photos.PHChange)
}
@objc public enum DKImagePickerControllerAssetType : Swift.Int {
  case allPhotos, allVideos, allAssets
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum DKImagePickerControllerSourceType : Swift.Int {
  case camera, photo, both
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public enum DKImagePickerControllerExportStatus : Swift.Int {
  case none, exporting
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public protocol DKImagePickerControllerAware {
  @objc weak var imagePickerController: DKImagePickerController.DKImagePickerController! { get set }
  @objc func reload()
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor @preconcurrency open class DKUINavigationController : UIKit.UINavigationController {
  @available(iOS 5.0, *)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(navigationBarClass: Swift.AnyClass?, toolbarClass: Swift.AnyClass?)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(rootViewController: UIKit.UIViewController)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder)
  @objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor @preconcurrency open class DKImagePickerController : DKImagePickerController.DKUINavigationController, UIKit.UIAdaptivePresentationControllerDelegate {
  @objc @_Concurrency.MainActor @preconcurrency public var UIDelegate: DKImagePickerController.DKImagePickerControllerBaseUIDelegate! {
    @objc get
    @objc set
  }
  @available(iOS 13.0, *)
  @objc @_Concurrency.MainActor @preconcurrency public var shouldDismissViaUserAction: Swift.Bool {
    @objc get
  }
  @objc @_Concurrency.MainActor @preconcurrency public var singleSelect: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var autoCloseOnSingleSelect: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var maxSelectableCount: Swift.Int
  @_Concurrency.MainActor @preconcurrency open var containsGPSInMetadata: Swift.Bool
  @_Concurrency.MainActor @preconcurrency public var defaultAssetGroup: Photos.PHAssetCollectionSubtype?
  @objc @_Concurrency.MainActor @preconcurrency public var allowSwipeToSelect: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var allowSelectAll: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var inline: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var assetType: DKImagePickerController.DKImagePickerControllerAssetType
  @objc @_Concurrency.MainActor @preconcurrency public var sourceType: DKImagePickerController.DKImagePickerControllerSourceType
  @objc @_Concurrency.MainActor @preconcurrency public var allowMultipleTypes: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var allowsLandscape: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var showsEmptyAlbums: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var showsCancelButton: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var fetchLimit: Swift.Int
  @objc @_Concurrency.MainActor @preconcurrency public var didCancel: (() -> Swift.Void)?
  @objc @_Concurrency.MainActor @preconcurrency public var didSelectAssets: ((_ assets: [DKImagePickerController.DKAsset]) -> Swift.Void)?
  @objc @_Concurrency.MainActor @preconcurrency public var selectedChanged: (() -> Swift.Void)?
  @objc @_Concurrency.MainActor @preconcurrency public var permissionViewColors: DKImagePickerController.DKPermissionViewColors
  @objc @_Concurrency.MainActor @preconcurrency public var exportsWhenCompleted: Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency public var exporter: DKImagePickerController.DKImageAssetExporter?
  @objc @_Concurrency.MainActor @preconcurrency public var thumbnailSize: CoreFoundation.CGSize
  @objc @_Concurrency.MainActor @preconcurrency public var exportStatus: DKImagePickerController.DKImagePickerControllerExportStatus {
    @objc get
  }
  @objc @_Concurrency.MainActor @preconcurrency public var exportStatusChanged: ((DKImagePickerController.DKImagePickerControllerExportStatus) -> Swift.Void)?
  @objc @_Concurrency.MainActor @preconcurrency public var groupDataManager: DKImagePickerController.DKImageGroupDataManager {
    @objc get
  }
  @_Concurrency.MainActor @preconcurrency public var selectedAssetIdentifiers: [Swift.String] {
    get
  }
  @_Concurrency.MainActor @preconcurrency public var extensionController: DKImagePickerController.DKImageExtensionController! {
    get
    set
  }
  @_Concurrency.MainActor @preconcurrency convenience public init(groupDataManager: DKImagePickerController.DKImageGroupDataManager? = nil)
  @objc deinit
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewWillAppear(_ animated: Swift.Bool)
  @objc @_Concurrency.MainActor @preconcurrency open func makeRootVC() -> any UIKit.UIViewController & DKImagePickerController.DKImagePickerControllerAware
  @objc @_Concurrency.MainActor @preconcurrency open func presentCamera()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func present(_ viewControllerToPresent: UIKit.UIViewController, animated flag: Swift.Bool = true, completion: (() -> Swift.Void)? = nil)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func dismiss(animated flag: Swift.Bool, completion: (() -> Swift.Void)? = nil)
  @objc @_Concurrency.MainActor @preconcurrency open func dismissCamera()
  @objc @_Concurrency.MainActor @preconcurrency open func dismiss()
  @objc @_Concurrency.MainActor @preconcurrency open func done()
  @objc @_Concurrency.MainActor @preconcurrency open func reload(with dataManager: DKImagePickerController.DKImageGroupDataManager)
  @objc @_Concurrency.MainActor @preconcurrency open func saveImage(_ image: UIKit.UIImage, _ metadata: [Swift.AnyHashable : Any]?, _ completeBlock: @escaping (_ asset: DKImagePickerController.DKAsset) -> Swift.Void)
  @objc @_Concurrency.MainActor @preconcurrency open func saveImageToAlbum(_ image: UIKit.UIImage, _ completeBlock: @escaping (_ asset: DKImagePickerController.DKAsset) -> Swift.Void)
  @objc @_Concurrency.MainActor @preconcurrency open func saveImageDataToAlbumForiOS9(_ imageDataWithMetadata: Foundation.Data, _ completeBlock: @escaping (_ asset: DKImagePickerController.DKAsset) -> Swift.Void)
  @objc @_Concurrency.MainActor @preconcurrency open func writeMetadata(_ metadata: Swift.Dictionary<Swift.AnyHashable, Any>, into imageData: Foundation.Data) -> Foundation.Data?
  @objc @_Concurrency.MainActor @preconcurrency open func select(asset: DKImagePickerController.DKAsset)
  @objc @_Concurrency.MainActor @preconcurrency open func select(assets: [DKImagePickerController.DKAsset])
  @objc @_Concurrency.MainActor @preconcurrency open func handleSelectAll()
  @objc @_Concurrency.MainActor @preconcurrency open func deselect(asset: DKImagePickerController.DKAsset)
  @objc @_Concurrency.MainActor @preconcurrency open func removeSelection(asset: DKImagePickerController.DKAsset)
  @objc @_Concurrency.MainActor @preconcurrency open func deselectAll()
  @objc @_Concurrency.MainActor @preconcurrency open func setSelectedAssets(assets: [DKImagePickerController.DKAsset])
  @_Concurrency.MainActor @preconcurrency open func index(of asset: DKImagePickerController.DKAsset) -> Swift.Int?
  @objc @_Concurrency.MainActor @preconcurrency open func contains(asset: DKImagePickerController.DKAsset) -> Swift.Bool
  @objc @_Concurrency.MainActor @preconcurrency open func scroll(to indexPath: Foundation.IndexPath, animated: Swift.Bool = false)
  @objc @_Concurrency.MainActor @preconcurrency open func scrollToLastTappedIndexPath(animated: Swift.Bool = false)
  @objc @_Concurrency.MainActor @preconcurrency public var selectedAssets: [DKImagePickerController.DKAsset] {
    @objc get
  }
  @objc @_Concurrency.MainActor @preconcurrency open func canSelect(asset: DKImagePickerController.DKAsset, showAlert: Swift.Bool = true) -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open var shouldAutorotate: Swift.Bool {
    @objc get
  }
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open var supportedInterfaceOrientations: UIKit.UIInterfaceOrientationMask {
    @objc get
  }
  @available(iOS 13.0, *)
  @_Concurrency.MainActor @preconcurrency @objc public func presentationControllerShouldDismiss(_ presentationController: UIKit.UIPresentationController) -> Swift.Bool
  @_Concurrency.MainActor @preconcurrency @objc public func presentationControllerDidDismiss(_ presentationController: UIKit.UIPresentationController)
  @_Concurrency.MainActor @preconcurrency open func showGallery(with presentationIndex: Swift.Int?, presentingFromImageView: UIKit.UIImageView?, groupId: Swift.String)
  @available(iOS 5.0, *)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(navigationBarClass: Swift.AnyClass?, toolbarClass: Swift.AnyClass?)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(rootViewController: UIKit.UIViewController)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder aDecoder: Foundation.NSCoder)
}
@objc public enum DKImagePickerGroupListPresentationStyle : Swift.Int {
  case popover
  case presented
  public init?(rawValue: Swift.Int)
  public typealias RawValue = Swift.Int
  public var rawValue: Swift.Int {
    get
  }
}
@objc public protocol DKImagePickerControllerUIDelegate {
  @objc func prepareLayout(_ imagePickerController: DKImagePickerController.DKImagePickerController, vc: UIKit.UIViewController)
  @objc func layoutForImagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UICollectionViewLayout.Type
  @objc func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, showsCancelButtonForVC vc: UIKit.UIViewController)
  @objc func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, hidesCancelButtonForVC vc: UIKit.UIViewController)
  @objc func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, didSelectAssets: [DKImagePickerController.DKAsset])
  @objc func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, didDeselectAssets: [DKImagePickerController.DKAsset])
  @objc func imagePickerControllerDidReachMaxLimit(_ imagePickerController: DKImagePickerController.DKImagePickerController)
  @objc func imagePickerControllerFooterView(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UIView?
  @objc func imagePickerControllerHeaderView(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UIView?
  @objc func imagePickerControllerCollectionViewBackgroundColor() -> UIKit.UIColor
  @objc func imagePickerControllerCollectionImageCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc func imagePickerControllerCollectionCameraCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc func imagePickerControllerCollectionVideoCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc func imagePickerControllerGroupCell() -> any DKImagePickerController.DKAssetGroupCellType.Type
  @objc func imagePickerControllerSelectGroupButton(_ imagePickerController: DKImagePickerController.DKImagePickerController, selectedGroup: DKImagePickerController.DKAssetGroup) -> UIKit.UIButton
  @objc func imagePickerControllerGroupListPresentationStyle() -> DKImagePickerController.DKImagePickerGroupListPresentationStyle
  @objc func imagePickerControllerPrepareGroupListViewController(_ listViewController: UIKit.UITableViewController)
}
@_inheritsConvenienceInitializers @objc open class DKImagePickerControllerBaseUIDelegate : ObjectiveC.NSObject, DKImagePickerController.DKImagePickerControllerUIDelegate {
  weak open var imagePickerController: DKImagePickerController.DKImagePickerController!
  open var doneButton: UIKit.UIButton?
  open var selectGroupButton: UIKit.UIButton?
  open func createDoneButtonIfNeeded() -> UIKit.UIButton
  open func createSelectGroupButtonIfNeeded() -> UIKit.UIButton
  open func updateDoneButtonTitle(_ button: UIKit.UIButton)
  @objc open func prepareLayout(_ imagePickerController: DKImagePickerController.DKImagePickerController, vc: UIKit.UIViewController)
  @objc open func layoutForImagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UICollectionViewLayout.Type
  @objc open func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, showsCancelButtonForVC vc: UIKit.UIViewController)
  @objc open func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, hidesCancelButtonForVC vc: UIKit.UIViewController)
  @objc open func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, didSelectAssets: [DKImagePickerController.DKAsset])
  @objc open func imagePickerController(_ imagePickerController: DKImagePickerController.DKImagePickerController, didDeselectAssets: [DKImagePickerController.DKAsset])
  open var isMaxLimitAlertDisplayed: Swift.Bool {
    get
  }
  @objc open func imagePickerControllerDidReachMaxLimit(_ imagePickerController: DKImagePickerController.DKImagePickerController)
  @objc open func imagePickerControllerFooterView(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UIView?
  @objc open func imagePickerControllerHeaderView(_ imagePickerController: DKImagePickerController.DKImagePickerController) -> UIKit.UIView?
  @objc open func imagePickerControllerCollectionViewBackgroundColor() -> UIKit.UIColor
  @objc open func imagePickerControllerCollectionImageCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc open func imagePickerControllerCollectionCameraCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc open func imagePickerControllerCollectionVideoCell() -> DKImagePickerController.DKAssetGroupDetailBaseCell.Type
  @objc open func imagePickerControllerGroupCell() -> any DKImagePickerController.DKAssetGroupCellType.Type
  open func needsToShowPreviewOnLongPress() -> Swift.Bool
  @objc open func imagePickerControllerSelectGroupButton(_ imagePickerController: DKImagePickerController.DKImagePickerController, selectedGroup: DKImagePickerController.DKAssetGroup) -> UIKit.UIButton
  @objc open func imagePickerControllerGroupListPresentationStyle() -> DKImagePickerController.DKImagePickerGroupListPresentationStyle
  @objc open func imagePickerControllerPrepareGroupListViewController(_ listViewController: UIKit.UITableViewController)
  @objc override dynamic public init()
  @objc deinit
}
@objc @_inheritsConvenienceInitializers public class DKImagePickerControllerResource : ObjectiveC.NSObject {
  @objc public static var customLocalizationBlock: ((_ title: Swift.String) -> Swift.String?)?
  public class func localizedStringWithKey(_ key: Swift.String, value: Swift.String? = nil) -> Swift.String
  @objc public static var customImageBlock: ((_ imageName: Swift.String) -> UIKit.UIImage?)?
  public class func checkedImage() -> UIKit.UIImage
  public class func blueTickImage() -> UIKit.UIImage
  public class func cameraImage() -> UIKit.UIImage
  public class func videoCameraIcon() -> UIKit.UIImage
  public class func emptyAlbumIcon() -> UIKit.UIImage
  public class func photoGalleryCheckedImage() -> UIKit.UIImage
  public class func photoGalleryUncheckedImage() -> UIKit.UIImage
  public class func photoGalleryBackArrowImage() -> UIKit.UIImage
  public class func imageForResource(_ name: Swift.String, stretchable: Swift.Bool = false, cacheable: Swift.Bool = false) -> UIKit.UIImage
  public class func stretchImgFromMiddle(_ image: UIKit.UIImage) -> UIKit.UIImage
  @objc override dynamic public init()
  @objc deinit
}
@_inheritsConvenienceInitializers @objc @_Concurrency.MainActor @preconcurrency open class DKPermissionView : UIKit.UIView {
  @_Concurrency.MainActor @preconcurrency open class func permissionView(_ style: DKImagePickerController.DKImagePickerControllerSourceType, withColors colors: DKImagePickerController.DKPermissionViewColors = DKPermissionViewColors()) -> DKImagePickerController.DKPermissionView
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func didMoveToWindow()
  @objc @_Concurrency.MainActor @preconcurrency open func gotoSettings()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(frame: CoreFoundation.CGRect)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
  @objc deinit
}
@objc public class DKPermissionViewColors : ObjectiveC.NSObject {
  public init(forBackground background: UIKit.UIColor = UIColor.black, forPhotoTitle photoTitle: UIKit.UIColor = UIColor.gray, forCameraTitle cameraTitle: UIKit.UIColor = UIColor.white, forButton button: UIKit.UIColor = UIColor(red: 0, green: 122.0 / 255, blue: 1, alpha: 1))
  @objc deinit
}
public func ArrowDefaultColor() -> UIKit.UIColor
@objc @_inheritsConvenienceInitializers @_Concurrency.MainActor @preconcurrency open class DKPopoverViewController : UIKit.UIViewController {
  @objc @_Concurrency.MainActor @preconcurrency open class func popoverViewController(_ viewController: UIKit.UIViewController, fromView: UIKit.UIView, arrowColor: UIKit.UIColor = ArrowDefaultColor())
  @objc @_Concurrency.MainActor @preconcurrency open class func dismissPopoverViewController()
  @objc @_Concurrency.MainActor @preconcurrency public var arrowColor: UIKit.UIColor
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func loadView()
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func viewDidLoad()
  @available(iOS, deprecated: 8.0)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic open func didRotate(from fromInterfaceOrientation: UIKit.UIInterfaceOrientation)
  @_Concurrency.MainActor @preconcurrency @objc override dynamic public init(nibName nibNameOrNil: Swift.String?, bundle nibBundleOrNil: Foundation.Bundle?)
  @_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
  @objc deinit
}
extension DKImagePickerController.DKAssetType : Swift.Equatable {}
extension DKImagePickerController.DKAssetType : Swift.Hashable {}
extension DKImagePickerController.DKAssetType : Swift.RawRepresentable {}
extension DKImagePickerController.DKImageAssetExporterError : Swift.Equatable {}
extension DKImagePickerController.DKImageAssetExporterError : Swift.Hashable {}
extension DKImagePickerController.DKImageAssetExporterError : Swift.RawRepresentable {}
extension DKImagePickerController.DKImageExportPresent : Swift.Equatable {}
extension DKImagePickerController.DKImageExportPresent : Swift.Hashable {}
extension DKImagePickerController.DKImageExportPresent : Swift.RawRepresentable {}
extension DKImagePickerController.DKImageExtensionType : Swift.Equatable {}
extension DKImagePickerController.DKImageExtensionType : Swift.Hashable {}
extension DKImagePickerController.DKImageExtensionType : Swift.RawRepresentable {}
extension DKImagePickerController.DKImagePickerControllerAssetType : Swift.Equatable {}
extension DKImagePickerController.DKImagePickerControllerAssetType : Swift.Hashable {}
extension DKImagePickerController.DKImagePickerControllerAssetType : Swift.RawRepresentable {}
extension DKImagePickerController.DKImagePickerControllerSourceType : Swift.Equatable {}
extension DKImagePickerController.DKImagePickerControllerSourceType : Swift.Hashable {}
extension DKImagePickerController.DKImagePickerControllerSourceType : Swift.RawRepresentable {}
extension DKImagePickerController.DKImagePickerControllerExportStatus : Swift.Equatable {}
extension DKImagePickerController.DKImagePickerControllerExportStatus : Swift.Hashable {}
extension DKImagePickerController.DKImagePickerControllerExportStatus : Swift.RawRepresentable {}
extension DKImagePickerController.DKImagePickerGroupListPresentationStyle : Swift.Equatable {}
extension DKImagePickerController.DKImagePickerGroupListPresentationStyle : Swift.Hashable {}
extension DKImagePickerController.DKImagePickerGroupListPresentationStyle : Swift.RawRepresentable {}
