// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
// swift-module-flags: -target arm64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-bare-slash-regex -module-name PenguinINRenderer
import CoreLocation
import DeveloperToolsSupport
import Foundation
@_spi(Experimental) import MapboxMaps
@_exported import PenguinINRenderer
import Swift
import SwiftUI
import UIKit
import _Concurrency
import _StringProcessing
import _SwiftConcurrencyShims
public enum LayerType : Swift.String, Swift.CaseIterable {
  case overlay
  case campusPolygon
  case venuePolygon
  case floor
  case poiPolygon
  case model
  case line
  case walkedPath
  case topWalkedPath
  case arrow
  case node
  case poi
  case highPriorityPlace
  case landmark
  case venue
  case campus
  case pathNode
  case higherPriorityPlace
  case locationIndicator
  public init?(rawValue: Swift.String)
  public typealias AllCases = [PenguinINRenderer.LayerType]
  public typealias RawValue = Swift.String
  public static var allCases: [PenguinINRenderer.LayerType] {
    get
  }
  public var rawValue: Swift.String {
    get
  }
}
public struct POIRenderingData {
  public var location: CoreLocation.CLLocationCoordinate2D?
  public var identifier: Swift.String
  public var title: Swift.String
  public var image: Swift.String?
  public var framelessIcon: Swift.String?
  public var textColor: Swift.String
  public var fillColor: Swift.String
  public var textSize: Swift.Double
  public var textFont: [Swift.String]?
  public var textWidth: Swift.Double
  public var allowOverlap: Swift.Bool
  public var layerType: PenguinINRenderer.LayerType
  public var defaultIconImage: UIKit.UIImage?
  public var defaultColor: Swift.String
  public var isLandmark: Swift.Bool
  public var isVenue: Swift.Bool
  public var poiFloor: Swift.Int?
  public var venueId: Swift.Int?
  public var poiId: Swift.Int?
  public var iconOffset: [Swift.Double]?
  public var textOffset: [Swift.Double]
  public var badge: Swift.Int?
  public var badgeBackgroundColor: Swift.String?
  public var poiIdentifier: Swift.String {
    get
  }
  public init(location: CoreLocation.CLLocationCoordinate2D?, identifier: Swift.String, title: Swift.String, image: Swift.String? = nil, framelessIcon: Swift.String? = nil, textColor: Swift.String = "#000000", fillColor: Swift.String = "#000000", textSize: Swift.Double = 0.0, textFont: [Swift.String]? = nil, textWidth: Swift.Double = 3, allowOverlap: Swift.Bool, layerType: PenguinINRenderer.LayerType, defaultIconImage: UIKit.UIImage? = nil, defaultColor: Swift.String = "#FF453A", isLandmark: Swift.Bool, isVenue: Swift.Bool = false, poiFloor: Swift.Int? = nil, venueId: Swift.Int? = nil, poiId: Swift.Int? = nil, iconOffset: [Swift.Double]? = nil, textOffset: [Swift.Double] = [0,0.2], badge: Swift.Int? = nil, badgeBackgroundColor: Swift.String? = nil)
}
public struct CircleRenderingData {
  public var coordinates: CoreLocation.CLLocationCoordinate2D
  public var identifier: Swift.String
  public var fillColor: UIKit.UIColor
  public var strokeColor: UIKit.UIColor
  public var radius: Swift.Double
  public var layerType: Swift.String
  public var strokeWidth: Swift.Double
  public init(coordinates: CoreLocation.CLLocationCoordinate2D, identifier: Swift.String, fillColor: UIKit.UIColor, strokeColor: UIKit.UIColor, radius: Swift.Double, layerType: Swift.String, strokeWidth: Swift.Double = 1.0)
}
public struct MapElement {
  public var centerCoordinate: CoreLocation.CLLocationCoordinate2D?
  public var polygonCoordinates: [CoreLocation.CLLocationCoordinate2D]?
  public var identifier: Swift.String
  public var text: Swift.String
  public var icon: UIKit.UIImage?
  public var modelUri: Swift.String?
  public var textColor: Swift.String
  public var fillColor: Swift.String?
  public var fillOpacity: Swift.Double
  public var lineColor: Swift.String?
  public var lineOpacity: Swift.Double
  public var lineWidth: Swift.Double
  public var extrusionHeight: Swift.Int
  public var visible: Swift.Bool
  public var type: PenguinINRenderer.LayerType?
  public init(centerCoordinate: CoreLocation.CLLocationCoordinate2D? = nil, polygonCoordinates: [CoreLocation.CLLocationCoordinate2D]? = nil, identifier: Swift.String, text: Swift.String = "", icon: UIKit.UIImage? = nil, modelUri: Swift.String? = nil, textColor: Swift.String = "#000000", fillColor: Swift.String? = nil, fillOpacity: Swift.Double = 1, lineColor: Swift.String? = nil, lineOpacity: Swift.Double = 1, lineWidth: Swift.Double = 1, extrusionHeight: Swift.Int = 0, visible: Swift.Bool = true, type: PenguinINRenderer.LayerType? = nil)
}
public struct UserLocationRenderingData {
  public var coordinate: CoreLocation.CLLocationCoordinate2D
  public var identifier: Swift.String
  public var dotColor: UIKit.UIColor
  public var headingColor: UIKit.UIColor
  public var isGPS: Swift.Bool
  public init(coordinate: CoreLocation.CLLocationCoordinate2D, identifier: Swift.String, dotColor: UIKit.UIColor, headingColor: UIKit.UIColor, isGPS: Swift.Bool = false)
}
public struct UserRenderingData {
  public var defaultImage: UIKit.UIImage?
  public var defaultColor: Swift.String?
  public init(defaultImage: UIKit.UIImage, defaultColor: Swift.String?)
}
public protocol PIRendererDelegate : AnyObject {
  func onMapReady()
  func mapViewDidFailLoadingMap(withError error: any Swift.Error)
}
public protocol PIMapViewEventDelegate : AnyObject {
  func mapDidTap()
  func mapDidPan()
  func mapDidRotate()
  func mapDidPinch()
  func mapDidDoubleTapped()
  func onSelectPOI(identifier: Swift.String)
  func onSelectSymbol(identifier: Swift.String)
  func onSelectCampus(identifier: Swift.String)
  func onSelectUserLocation()
  func cameraDidChange()
}
@objc @_inheritsConvenienceInitializers final public class PIRendererMap : ObjectiveC.NSObject, PenguinINRenderer.PIMapViewEventDelegate, PenguinINRenderer.PIRendererDelegate {
  final public func onMapReady()
  final public func mapViewDidFailLoadingMap(withError error: any Swift.Error)
  final public func mapDidTap()
  final public func mapDidDoubleTapped()
  final public func mapDidRotate()
  final public func mapDidPan()
  final public func mapDidPinch()
  final public func cameraDidChange()
  final public func onSelectPOI(identifier: Swift.String)
  final public func onSelectSymbol(identifier: Swift.String)
  final public func onSelectCampus(identifier: Swift.String)
  final public func onSelectUserLocation()
  weak final public var delegate: (any PenguinINRenderer.PIRendererDelegate)?
  weak final public var eventDelegate: (any PenguinINRenderer.PIMapViewEventDelegate)?
  final public func setMapContainerView(_ containerView: UIKit.UIView, centerCoordinate: CoreLocation.CLLocationCoordinate2D?)
  final public func setCompassViewPosition(margins: CoreFoundation.CGPoint)
  final public func setScaleBarVisibility(visible: Swift.Bool)
  final public func setCompassImage(image: UIKit.UIImage)
  final public func setMapConfiguration(configuration: PenguinINRenderer.MapConfiguration)
  final public func setMapPadding(inset: UIKit.UIEdgeInsets, animated: Swift.Bool, duration: Swift.Double = 0.25)
  final public func setMaxZoom(value: Swift.Double)
  final public func setMaxPitch(_ pitch: Swift.Double)
  final public func setMapBounds(coordinates: [CoreLocation.CLLocationCoordinate2D], expansionDistance: Swift.Double)
  final public func removeMapBounds()
  final public func setMapPitch(_ pitch: Swift.Double, duration: Swift.Double = 0.3)
  final public func getZoomLevel() -> Swift.Double
  final public func setBearing(angle: Swift.Double, duration: Swift.Double, completion: @escaping () -> Swift.Void)
  final public func getBearing() -> Swift.Double
  final public func getMapPitch() -> Swift.Double
  final public func setCamera(to coordinates: [CoreLocation.CLLocationCoordinate2D]?, padding: UIKit.UIEdgeInsets = .zero, bearing: Swift.Double? = nil, zoomLevel: Swift.Double? = nil, pitch: Swift.Double? = nil, animated: Swift.Bool, duration: Swift.Double = 0.25, completion: (() -> Swift.Void)? = nil)
  final public func setCamera(to coordinate: CoreLocation.CLLocationCoordinate2D? = nil, padding: UIKit.UIEdgeInsets? = nil, zoom: CoreFoundation.CGFloat? = nil, bearing: Swift.Double? = nil, pitch: Swift.Double? = nil, animated: Swift.Bool = true, duration: Swift.Double = 0.25, completion: (() -> Swift.Void)? = nil)
  final public func setLocationIndicatorCoordinate(_ coordinate: CoreLocation.CLLocationCoordinate2D?)
  final public func hideLocationIndicator()
  final public func showLocationIndicator()
  final public func selectLocationIndicator(data: PenguinINRenderer.UserRenderingData)
  final public func deselectLocationIndicator()
  final public func setLocationIndicatorBearing(_ angle: Swift.Double, unreliable: Swift.Bool)
  final public func setLocationIndicatorAccuracyRadius(_ value: Swift.Double)
  final public func setLocationIndicatorColor(indicatorColor: UIKit.UIColor, strokeColor: UIKit.UIColor, accuracyCircleColor: UIKit.UIColor)
  final public func setLocationIndicatorOpacity(_ opacity: Swift.Double)
  final public func updateMapLevel(isUnderground: Swift.Bool, completion: (() -> Swift.Void)? = nil)
  final public func updateMapOverlayOpacity(_ opacity: Swift.Double)
  final public func drawMap(id: Swift.String, mapUri: Swift.String?, showOverlay: Swift.Bool? = nil, layerConfiguration: PenguinINRenderer.LayerConfiguration, completion: ((Swift.Bool) -> Swift.Void)? = nil)
  final public func removeMap(mapId: Swift.String?)
  final public func removeAllMaps(except mapIds: [Swift.Int]? = nil)
  final public func drawLines(identifier: Swift.String, coordinates: [CoreLocation.CLLocationCoordinate2D], guidelineCoordinates: [CoreLocation.CLLocationCoordinate2D]? = nil, lineColor: UIKit.UIColor = .blue, lineWidth: Swift.Double = 5, layerType: PenguinINRenderer.LayerType)
  final public func addManeuverArrow(at coordinates: [CoreLocation.CLLocationCoordinate2D], guidelineCoordinates: [CoreLocation.CLLocationCoordinate2D]?, id: Swift.String, color: UIKit.UIColor, width: Swift.Double)
  final public func removeManeuverArrow(id: Swift.String)
  final public func addSymbols(_ symbols: [PenguinINRenderer.MapElement], layerConfiguration: PenguinINRenderer.LayerConfiguration, animatesSymbols: Swift.Bool = false)
  final public func removeFeatures(featureIds: [Swift.String], sourceId: Swift.String)
  final public func addPolygons(polygons: [PenguinINRenderer.MapElement], layerConfiguration: PenguinINRenderer.LayerConfiguration, bordersLayerConfiguration: PenguinINRenderer.LayerConfiguration)
  final public func addPolygonBorders(polygons: [PenguinINRenderer.MapElement], layerConfiguration: PenguinINRenderer.LayerConfiguration)
  final public func remove(layerId: Swift.String? = nil, sourceId: Swift.String? = nil)
  final public func remove(layerIdsContains layerIds: Swift.String? = nil, sourceIdsContains sourceIds: Swift.String? = nil)
  final public func removeAllFeatures(sourceIds: [Swift.String], updatesSource: Swift.Bool = true)
  final public func drawCirclePoint(data: PenguinINRenderer.CircleRenderingData)
  final public func addModels(_ models: [PenguinINRenderer.MapElement], sourceId: Swift.String, layerId: Swift.String)
  final public func addExtrudedPolygons(_ extrudedPolygons: [PenguinINRenderer.MapElement], sourceId: Swift.String, layerId: Swift.String, opacity: Swift.Double, hidden: Swift.Bool = false)
  final public func showModels(layerId: Swift.String)
  final public func showExtrudedPolygons(layerId: Swift.String, opacity: Swift.Double)
  final public func hideModels(layerId: Swift.String)
  final public func hideExtrudedPolygons(layerId: Swift.String)
  final public func showPolygons(layerId: Swift.String, bordersLayerId: Swift.String)
  final public func hidePolygons(layerId: Swift.String, bordersLayerId: Swift.String)
  final public func filterFeatures(layerId: Swift.String, filteredIds: [Swift.String])
  final public func clearFilter(layerId: Swift.String)
  final public func updateFeature(featureId: Swift.String, sourceId: Swift.String, propertyKey: Swift.String, propertyValue: Swift.String)
  final public func hideLayer(layerId: Swift.String)
  final public func showLayer(layerId: Swift.String)
  final public func moveFeature(featureId: Swift.String, originSourceId: Swift.String, destinationSourceId: Swift.String)
  final public func addModel(modelId: Swift.String, modelUri: Swift.String)
  final public func addImage(_ image: UIKit.UIImage?, id: Swift.String)
  final public func setScaleBarTopMargin(_ topMargin: Swift.Double)
  @objc override dynamic public init()
  @objc deinit
}
public struct MapConfiguration {
  public init(enableGestures: Swift.Bool, showCompass: Swift.Bool)
}
extension PenguinINRenderer.MapConfiguration : Swift.Equatable {
  public static func == (lhs: PenguinINRenderer.MapConfiguration, rhs: PenguinINRenderer.MapConfiguration) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class DownloadHelper {
  public class func fileExist(url: Foundation.URL) -> Swift.Bool
  @objc deinit
}
public struct TextRenderingData {
  public var coordinates: CoreLocation.CLLocationCoordinate2D
  public var identifier: Swift.String
  public var text: Swift.String
  public var layerType: Swift.String
  public var textColor: UIKit.UIColor
  public var textFont: UIKit.UIFont
  public var circle: PenguinINRenderer.CircleRenderingData?
  public init(coordinates: CoreLocation.CLLocationCoordinate2D, identifier: Swift.String, text: Swift.String, layerType: Swift.String, textColor: UIKit.UIColor, textFont: UIKit.UIFont = .systemFont(ofSize: 12.0), circle: PenguinINRenderer.CircleRenderingData? = nil)
}
extension UIKit.UIView {
  @_Concurrency.MainActor(unsafe) public func convertToImage(padding: Swift.Double = 0) -> UIKit.UIImage?
}
public enum TextAnchor {
  case center, top, bottom, left, right, topLeft, topRight, bottomLeft, bottomRight
  public static func == (a: PenguinINRenderer.TextAnchor, b: PenguinINRenderer.TextAnchor) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
public class POISourceData {
  public var identifier: Swift.String
  public var text: Swift.String
  public var isLandmark: Swift.Bool
  public init(identifier: Swift.String, text: Swift.String, isLandmark: Swift.Bool)
  @objc deinit
}
extension Swift.String {
  public func encodeUrl() -> Swift.String?
  public var fileURL: Foundation.URL {
    get
  }
  public var lastPathComponent: Swift.String {
    get
  }
  public func containsIgnoringCase(find: Swift.String) -> Swift.Bool
}
extension QuartzCore.CALayer {
  public func addShadow(color: UIKit.UIColor = UIColor.black, opacity: Swift.Float = 0.5, offSet: CoreFoundation.CGSize = CGSize.zero, radius: CoreFoundation.CGFloat = 1)
}
extension UIKit.UIColor {
  convenience public init(hexString: Swift.String?)
}
extension Foundation.FileManager {
  public static func getDocumentsDirectory() -> Foundation.URL
}
extension Foundation.URL {
  public func checkFileExist() -> Swift.Bool
}
public struct SymbolInfo {
  public init(coordinate: CoreLocation.CLLocationCoordinate2D?, identifier: Swift.String, text: Swift.String, image: UIKit.UIImage?, textColor: UIKit.UIColor, textSize: Swift.Double, textFont: [Swift.String]? = nil, textHaloColor: UIKit.UIColor = .white, textHaloWidth: Swift.Double = 0.5, iconAnchor: PenguinINRenderer.IconAnchor = .bottom, textAnchor: PenguinINRenderer.TextAnchor = .top, iconOffset: [Swift.Double]? = nil, textOffset: [Swift.Double] = [0,0.2], allowsOverlap: Swift.Bool = false, layerType: PenguinINRenderer.LayerType)
}
public struct LayerConfiguration {
  public let layerId: Swift.String
  public let sourceId: Swift.String
  public var minZoom: Swift.Double?
  public var maxZoom: Swift.Double?
  public var symbolZElevate: MapboxMaps.Value<Swift.Bool>?
  public var textFont: MapboxMaps.Value<[Swift.String]>?
  public var textSize: MapboxMaps.Value<Swift.Double>?
  public var textOffset: MapboxMaps.Value<[Swift.Double]>?
  public var textAllowOverlap: MapboxMaps.Value<Swift.Bool>?
  public var iconAllowOverlap: MapboxMaps.Value<Swift.Bool>?
  public var iconAnchor: MapboxMaps.Value<MapboxMaps.IconAnchor>?
  public var textAnchor: MapboxMaps.Value<MapboxMaps.TextAnchor>?
  public var textHaloColor: MapboxMaps.Value<MapboxMaps.StyleColor>?
  public var textHaloWidth: MapboxMaps.Value<Swift.Double>?
  public var lineDasharray: MapboxMaps.Value<[Swift.Double]>?
  public let type: PenguinINRenderer.LayerType
  public init(layerId: Swift.String, sourceId: Swift.String, minZoom: Swift.Double? = nil, maxZoom: Swift.Double? = nil, symbolZElevate: Swift.Bool? = nil, textFont: [Swift.String]? = nil, textSize: Swift.Double? = nil, textOffset: [Swift.Double]? = nil, textAnchor: PenguinINRenderer.TextAnchor? = nil, iconAnchor: PenguinINRenderer.IconAnchor? = nil, textAllowOverlap: Swift.Bool? = nil, iconAllowOverlap: Swift.Bool? = nil, textHaloColor: UIKit.UIColor? = nil, textHaloWidth: Swift.Double? = nil, lineDasharray: [Swift.Double]? = nil, type: PenguinINRenderer.LayerType)
}
public enum IconAnchor {
  case center, top, bottom, left, right, topLeft, topRight, bottomLeft, bottomRight
  public static func == (a: PenguinINRenderer.IconAnchor, b: PenguinINRenderer.IconAnchor) -> Swift.Bool
  public func hash(into hasher: inout Swift.Hasher)
  public var hashValue: Swift.Int {
    get
  }
}
extension PenguinINRenderer.LayerType : Swift.Equatable {}
extension PenguinINRenderer.LayerType : Swift.Hashable {}
extension PenguinINRenderer.LayerType : Swift.RawRepresentable {}
extension PenguinINRenderer.TextAnchor : Swift.Equatable {}
extension PenguinINRenderer.TextAnchor : Swift.Hashable {}
extension PenguinINRenderer.IconAnchor : Swift.Equatable {}
extension PenguinINRenderer.IconAnchor : Swift.Hashable {}
