# Other Type Definitions

The following type definitions are available globally.

- `MGLLoggingBlockHandler`

  A block to be called once `loggingLevel` is set to a higher value than `MGLLoggingLevelNone`.

  #### Declaration

  Objective-C

      typedef void (^MGLLoggingBlockHandler)(MGLLoggingLevel, NSString *_Nonnull,
                                             NSUInteger, NSString *_Nonnull)

  Swift

      typealias MGLLoggingBlockHandler = (MGLLoggingLevel, String, UInt, String) -> Void

  #### Parameters

  `loggingLevel` | The message logging level.
  `filePath` | The description of the file and method for the calling message.
  `line` | The line where the message is logged.
  `message` | The logging message.

  View Source on GitHub

- `MGLMapSnapshotCompletionHandler`

  A block to processes the result or error of a snapshot request.

  #### Declaration

  Objective-C

      typedef void (^MGLMapSnapshotCompletionHandler)(MGLMapSnapshot *_Nullable,
                                                      NSError *_Nullable)

  Swift

      typealias MGLMapSnapshotCompletionHandler = (MGLMapSnapshot?, Error?) -> Void

  #### Parameters

  `snapshot` | The `MGLMapSnapshot` that was generated or `nil` if an error occurred.
  `error` | The error that occured or `nil` when successful.

  View Source on GitHub

- `MGLOfflinePackUserInfoKey`

  A key in the `userInfo` property of a notification posted by `MGLOfflinePack`.

  #### Declaration

  Objective-C

      typedef NSString *MGLOfflinePackUserInfoKey

  Swift

      struct MGLOfflinePackUserInfoKey : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable

  View Source on GitHub
- `MGLOfflinePackAdditionCompletionHandler`

  A block to be called once an offline pack has been completely created and added.

  An application typically calls the `-resume` method on the pack inside this completion handler to begin the download.

  #### Declaration

  Objective-C

      typedef void (^MGLOfflinePackAdditionCompletionHandler)(
          MGLOfflinePack *_Nullable, NSError *_Nullable)

  Swift

      typealias MGLOfflinePackAdditionCompletionHandler = (MGLOfflinePack?, Error?) -> Void

  #### Parameters

  `pack` | Contains a pointer to the newly added pack, or `nil` if there was an error creating or adding the pack.
  `error` | Contains a pointer to an error object (if any) indicating why the pack could not be created or added.

  View Source on GitHub
- `MGLOfflinePackRemovalCompletionHandler`

  A block to be called once an offline pack has been completely invalidated and removed.

  Avoid any references to the pack inside this completion handler: by the time this completion handler is executed, the pack has become invalid, and any messages passed to it will raise an exception.

  #### Declaration

  Objective-C

      typedef void (^MGLOfflinePackRemovalCompletionHandler)(NSError *_Nullable)

  Swift

      typealias MGLOfflinePackRemovalCompletionHandler = (Error?) -> Void

  #### Parameters

  `error` | Contains a pointer to an error object (if any) indicating why the pack could not be invalidated or removed.

  View Source on GitHub
- `MGLBatchedOfflinePackAdditionCompletionHandler`

  A block to be called once the contents of a file are copied into the current packs.

  #### Declaration

  Objective-C

      typedef void (^MGLBatchedOfflinePackAdditionCompletionHandler)(
          NSURL *_Nonnull, NSArray<MGLOfflinePack *> *_Nullable, NSError *_Nullable)

  Swift

      typealias MGLBatchedOfflinePackAdditionCompletionHandler = (URL, [MGLOfflinePack]?, Error?) -> Void

  #### Parameters

  `fileURL` | The file URL of the offline database containing the offline packs that were copied.
  `packs` | An array of all known offline packs, or `nil` if there was an error creating or adding the pack.
  `error` | A pointer to an error object (if any) indicating why the pack could not be created or added.

  View Source on GitHub

- `MGLShapeSourceOption`

  Options for `MGLShapeSource` objects.

  #### Declaration

  Objective-C

      typedef NSString *MGLShapeSourceOption

  Swift

      struct MGLShapeSourceOption : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable

  View Source on GitHub

- `MGLTileSourceOption`

  Options for `MGLTileSource` objects.

  #### Declaration

  Objective-C

      typedef NSString *MGLTileSourceOption

  Swift

      struct MGLTileSourceOption : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable

  View Source on GitHub

- `MGLMapViewDecelerationRate`

  Options for `MGLMapView.decelerationRate`.

  #### Declaration

  Objective-C

      typedef CGFloat MGLMapViewDecelerationRate

  Swift

      struct MGLMapViewDecelerationRate : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable

  View Source on GitHub
- `MGLMapViewPreferredFramesPerSecond`

  Options for `MGLMapView.preferredFramesPerSecond`.

  #### Declaration

  Objective-C

      typedef NSInteger MGLMapViewPreferredFramesPerSecond

  Swift

      struct MGLMapViewPreferredFramesPerSecond : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable

  View Source on GitHub