// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.7.1 (swiftlang-5.7.1.134.4 clang-1400.0.29.51)
// swift-module-flags: -target arm64e-apple-ios16.2-macabi -enable-objc-interop -autolink-force-load -enable-library-evolution -module-link-name swiftPencilKit -swift-version 5 -enforce-exclusivity=checked -O -library-level api -module-name PencilKit
// swift-module-flags-ignorable: -enable-bare-slash-regex -user-module-version 7
@_exported import PencilKit
import Swift
import _Concurrency
import _StringProcessing
@available(iOS 13.0, *)
extension PencilKit.PKCanvasView {
  @_Concurrency.MainActor(unsafe) public var tool: PencilKit.PKTool {
    get
    set
  }
}
@available(iOS 14.0, macOS 11.0, *)
public struct PKStrokePath : Swift.RandomAccessCollection {
  public init()
  public init<T>(controlPoints: T, creationDate: Foundation.Date) where T : Swift.Sequence, T.Element == PencilKit.PKStrokePoint
  public var creationDate: Foundation.Date {
    get
  }
  public func interpolatedLocation(at parametricValue: CoreFoundation.CGFloat) -> CoreFoundation.CGPoint
  public func interpolatedPoint(at parametricValue: CoreFoundation.CGFloat) -> PencilKit.PKStrokePoint
  public func interpolatedPoints(in range: Swift.ClosedRange<CoreFoundation.CGFloat>? = nil, by stride: PencilKit.PKStrokePath.InterpolatedSlice.Stride) -> PencilKit.PKStrokePath.InterpolatedSlice
  public func parametricValue(_ parametricValue: CoreFoundation.CGFloat, offsetBy step: PencilKit.PKStrokePath.InterpolatedSlice.Stride) -> CoreFoundation.CGFloat
  public struct InterpolatedSlice {
    public enum Stride {
      case distance(CoreFoundation.CGFloat)
      case time(Foundation.TimeInterval)
      case parametricStep(CoreFoundation.CGFloat)
    }
  }
  public typealias Element = PencilKit.PKStrokePoint
  public typealias Index = Swift.Int
  public var startIndex: Swift.Int {
    get
  }
  public var endIndex: Swift.Int {
    get
  }
  public subscript(index: PencilKit.PKStrokePath.Index) -> PencilKit.PKStrokePoint {
    get
  }
  public typealias Indices = Swift.Range<PencilKit.PKStrokePath.Index>
  public typealias Iterator = Swift.IndexingIterator<PencilKit.PKStrokePath>
  public typealias SubSequence = Swift.Slice<PencilKit.PKStrokePath>
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKStrokePath : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKStrokePathReference
  public func _bridgeToObjectiveC() -> PencilKit.PKStrokePath._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKStrokePath._ObjectiveCType, result: inout PencilKit.PKStrokePath?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStrokePath._ObjectiveCType, result: inout PencilKit.PKStrokePath?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStrokePath._ObjectiveCType?) -> PencilKit.PKStrokePath
}
@available(iOS 13.0, macOS 11.0, *)
public struct PKEraserTool : PencilKit.PKTool, Swift.Equatable {
  public init(_ eraserType: PencilKit.PKEraserTool.EraserType)
  public enum EraserType {
    case vector
    case bitmap
    public static func == (a: PencilKit.PKEraserTool.EraserType, b: PencilKit.PKEraserTool.EraserType) -> Swift.Bool
    public func hash(into hasher: inout Swift.Hasher)
    public var hashValue: Swift.Int {
      get
    }
  }
  public var eraserType: PencilKit.PKEraserTool.EraserType {
    get
    set
  }
  public static func == (a: PencilKit.PKEraserTool, b: PencilKit.PKEraserTool) -> Swift.Bool
}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKEraserTool : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKEraserToolReference
  public func _bridgeToObjectiveC() -> PencilKit.PKEraserTool._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKEraserTool._ObjectiveCType, result: inout PencilKit.PKEraserTool?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKEraserTool._ObjectiveCType, result: inout PencilKit.PKEraserTool?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKEraserTool._ObjectiveCType?) -> PencilKit.PKEraserTool
}
@available(iOS 14.0, macOS 11.0, *)
public struct PKStroke {
  public init(ink: PencilKit.PKInk, path: PencilKit.PKStrokePath, transform: CoreFoundation.CGAffineTransform = .identity, mask: UIKit.UIBezierPath? = nil)
  public var ink: PencilKit.PKInk {
    get
    set
  }
  public var transform: CoreFoundation.CGAffineTransform {
    get
    set
  }
  public var path: PencilKit.PKStrokePath {
    get
    set
  }
  public var mask: UIKit.UIBezierPath? {
    get
    set
  }
  public var renderBounds: CoreFoundation.CGRect {
    get
  }
  public var maskedPathRanges: [Swift.ClosedRange<CoreFoundation.CGFloat>] {
    get
  }
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKStroke : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKStrokeReference
  public func _bridgeToObjectiveC() -> PencilKit.PKStroke._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKStroke._ObjectiveCType, result: inout PencilKit.PKStroke?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStroke._ObjectiveCType, result: inout PencilKit.PKStroke?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStroke._ObjectiveCType?) -> PencilKit.PKStroke
}
@available(iOS 13.0, macOS 11.0, *)
public protocol PKTool {
}
@available(iOS 14.0, macOS 11.0, *)
public struct PKStrokePoint {
  public init(location: CoreFoundation.CGPoint, timeOffset: Foundation.TimeInterval, size: CoreFoundation.CGSize, opacity: CoreFoundation.CGFloat, force: CoreFoundation.CGFloat, azimuth: CoreFoundation.CGFloat, altitude: CoreFoundation.CGFloat)
  public var location: CoreFoundation.CGPoint {
    get
  }
  public var timeOffset: Foundation.TimeInterval {
    get
  }
  public var size: CoreFoundation.CGSize {
    get
  }
  public var opacity: CoreFoundation.CGFloat {
    get
  }
  public var azimuth: CoreFoundation.CGFloat {
    get
  }
  public var force: CoreFoundation.CGFloat {
    get
  }
  public var altitude: CoreFoundation.CGFloat {
    get
  }
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKStrokePoint : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKStrokePointReference
  public func _bridgeToObjectiveC() -> PencilKit.PKStrokePoint._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKStrokePoint._ObjectiveCType, result: inout PencilKit.PKStrokePoint?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStrokePoint._ObjectiveCType, result: inout PencilKit.PKStrokePoint?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKStrokePoint._ObjectiveCType?) -> PencilKit.PKStrokePoint
}
@available(iOS 13.0, macOS 11.0, *)
public struct PKInkingTool : PencilKit.PKTool, Swift.Equatable {
  public init(_ inkType: PencilKit.PKInkingTool.InkType, color: UIKit.UIColor = UIColor.black, width: CoreFoundation.CGFloat? = nil)
  public enum InkType : Swift.String {
    case pen
    case pencil
    case marker
    public var defaultWidth: CoreFoundation.CGFloat {
      get
    }
    public var validWidthRange: Swift.ClosedRange<CoreFoundation.CGFloat> {
      get
    }
    public init?(rawValue: Swift.String)
    public typealias RawValue = Swift.String
    public var rawValue: Swift.String {
      get
    }
  }
  public var color: UIKit.UIColor {
    get
    set
  }
  public static func convertColor(_ color: UIKit.UIColor, from: UIKit.UIUserInterfaceStyle, to: UIKit.UIUserInterfaceStyle) -> UIKit.UIColor
  public var width: CoreFoundation.CGFloat {
    get
    set
  }
  public var inkType: PencilKit.PKInkingTool.InkType {
    get
    set
  }
  public static func == (a: PencilKit.PKInkingTool, b: PencilKit.PKInkingTool) -> Swift.Bool
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKInkingTool {
  public init(ink: PencilKit.PKInk, width: CoreFoundation.CGFloat)
  public var ink: PencilKit.PKInk {
    get
  }
}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKInkingTool : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKInkingToolReference
  public func _bridgeToObjectiveC() -> PencilKit.PKInkingTool._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKInkingTool._ObjectiveCType, result: inout PencilKit.PKInkingTool?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKInkingTool._ObjectiveCType, result: inout PencilKit.PKInkingTool?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKInkingTool._ObjectiveCType?) -> PencilKit.PKInkingTool
}
@available(iOS 13.0, macOS 10.15, *)
public struct PKDrawing {
  public init()
  public init(data: Foundation.Data) throws
  public func dataRepresentation() -> Foundation.Data
  public var bounds: CoreFoundation.CGRect {
    get
  }
  public func image(from rect: CoreFoundation.CGRect, scale: CoreFoundation.CGFloat) -> UIKit.UIImage
  public mutating func transform(using transform: CoreFoundation.CGAffineTransform)
  public func transformed(using transform: CoreFoundation.CGAffineTransform) -> PencilKit.PKDrawing
  public mutating func append(_ toAppend: PencilKit.PKDrawing)
  public func appending(_ toAppend: PencilKit.PKDrawing) -> PencilKit.PKDrawing
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKDrawing {
  public init<S>(strokes: S) where S : Swift.Sequence, S.Element == PencilKit.PKStroke
  public var strokes: [PencilKit.PKStroke] {
    get
    set
  }
}
@available(iOS 13.0, macOS 10.15, *)
extension PencilKit.PKDrawing : Swift.Equatable {
  public static func == (a: PencilKit.PKDrawing, b: PencilKit.PKDrawing) -> Swift.Bool
}
@available(iOS 13.0, macOS 10.15, *)
extension PencilKit.PKDrawing : Swift.Codable {
  public init(from decoder: Swift.Decoder) throws
  public func encode(to encoder: Swift.Encoder) throws
}
@available(iOS 13.0, macOS 10.15, *)
extension PencilKit.PKDrawing : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKDrawingReference
  public func _bridgeToObjectiveC() -> PencilKit.PKDrawing._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKDrawing._ObjectiveCType, result: inout PencilKit.PKDrawing?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKDrawing._ObjectiveCType, result: inout PencilKit.PKDrawing?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKDrawing._ObjectiveCType?) -> PencilKit.PKDrawing
}
@available(iOS 13.0, macOS 11.0, *)
public struct PKLassoTool : PencilKit.PKTool, Swift.Equatable {
  public init()
  public static func == (a: PencilKit.PKLassoTool, b: PencilKit.PKLassoTool) -> Swift.Bool
}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKLassoTool : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKLassoToolReference
  public func _bridgeToObjectiveC() -> PencilKit.PKLassoTool._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKLassoTool._ObjectiveCType, result: inout PencilKit.PKLassoTool?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKLassoTool._ObjectiveCType, result: inout PencilKit.PKLassoTool?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKLassoTool._ObjectiveCType?) -> PencilKit.PKLassoTool
}
@available(iOS 13.0, *)
extension PencilKit.PKToolPicker {
  public var selectedTool: PencilKit.PKTool {
    get
    set
  }
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKStrokePath.InterpolatedSlice : Swift.Sequence, Swift.IteratorProtocol {
  public mutating func next() -> PencilKit.PKStrokePoint?
  public typealias Element = PencilKit.PKStrokePoint
  public typealias Iterator = PencilKit.PKStrokePath.InterpolatedSlice
}
@available(iOS 14.0, macOS 11.0, *)
public struct PKInk {
  public typealias InkType = PencilKit.PKInkingTool.InkType
  public init(_ inkType: PencilKit.PKInk.InkType, color: UIKit.UIColor = UIColor.black)
  public var inkType: PencilKit.PKInk.InkType {
    get
    set
  }
  public var color: UIKit.UIColor {
    get
    set
  }
}
@available(iOS 14.0, macOS 11.0, *)
extension PencilKit.PKInk : Swift._ObjectiveCBridgeable {
  public typealias _ObjectiveCType = PencilKit.PKInkReference
  public func _bridgeToObjectiveC() -> PencilKit.PKInk._ObjectiveCType
  public static func _forceBridgeFromObjectiveC(_ source: PencilKit.PKInk._ObjectiveCType, result: inout PencilKit.PKInk?)
  public static func _conditionallyBridgeFromObjectiveC(_ source: PencilKit.PKInk._ObjectiveCType, result: inout PencilKit.PKInk?) -> Swift.Bool
  public static func _unconditionallyBridgeFromObjectiveC(_ source: PencilKit.PKInk._ObjectiveCType?) -> PencilKit.PKInk
}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKEraserTool.EraserType : Swift.Equatable {}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKEraserTool.EraserType : Swift.Hashable {}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKInkingTool.InkType : Swift.Equatable {}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKInkingTool.InkType : Swift.Hashable {}
@available(iOS 13.0, macOS 11.0, *)
extension PencilKit.PKInkingTool.InkType : Swift.RawRepresentable {}
