 import Foundation
-
 import UIKit
-
 import CoreLocation
-
 import AVFoundation
-
 import Photos
-
 import AddressBookUI
-
 import EventKit
 
 public typealias AuthClosure = (_ authorized: Bool) -> Void

        return captureAuthorizationStatus(for: type) == .authorized
    }
    
    open class func capture(_ type: AVMediaType = .video, closure: @escaping AuthStatusClosure<AVAuthorizationStatus>) {
        onMain {
            hasCaptureClosures[type, default: []].append(closure)
            guard !isHasingCapture[type, default: false] else { return }

        return UIApplication.shared.isRegisteredForRemoteNotifications
    }
    
    open class func push(types: UIUserNotificationType = [.alert, .badge, .sound], closure: @escaping AuthClosure) {
        onMain {
            hasPushClosures.append(closure)
            guard !isHasingPush else { return }
