// 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 swiftCoreML -swift-version 5 -enforce-exclusivity=checked -O -library-level api -enable-experimental-concurrency -module-name CoreML
// swift-module-flags-ignorable: -enable-bare-slash-regex -user-module-version 1436.60.2
@_exported import CoreML
import Swift
import _Concurrency
import _StringProcessing
@available(macOS 11.0, iOS 14.0, watchOS 7.0, tvOS 14.0, *)
extension CoreML.MLModel {
  public class func load(contentsOf url: Foundation.URL, configuration: CoreML.MLModelConfiguration = MLModelConfiguration(), completionHandler handler: @escaping (Swift.Result<CoreML.MLModel, Swift.Error>) -> Swift.Void)
  #if compiler(>=5.3) && $AsyncAwait
  @available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
  public class func load(contentsOf url: Foundation.URL, configuration: CoreML.MLModelConfiguration = MLModelConfiguration()) async throws -> CoreML.MLModel
  #endif
  @available(macOS 13.0, iOS 16.0, tvOS 16.0, *)
  @available(watchOS, unavailable)
  public class func compileModel(at url: Foundation.URL, completionHandler handler: @escaping (Swift.Result<Foundation.URL, Swift.Error>) -> Swift.Void)
  #if compiler(>=5.3) && $AsyncAwait
  @available(macOS 13.0, iOS 16.0, tvOS 16.0, *)
  @available(watchOS, unavailable)
  public class func compileModel(at url: Foundation.URL) async throws -> Foundation.URL
  #endif
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLFeatureValue {
  convenience public init<Scalar>(shapedArray: CoreML.MLShapedArray<Scalar>) where Scalar : CoreML.MLShapedArrayScalar
  public func shapedArrayValue<Scalar>(of type: Scalar.Type) -> CoreML.MLShapedArray<Scalar>? where Scalar : CoreML.MLShapedArrayScalar
}
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
extension CoreML.MLMultiArray {
  @inlinable convenience public init<C>(_ data: C) throws where C : Swift.Collection, C.Element : Swift.FixedWidthInteger {
        let count = data.count
        try self.init(shape: [NSNumber(value: count)], dataType: .int32)
        let buffer = self.dataPointer
        let stride = MemoryLayout<Int32>.stride
        var index = 0
        for elt in data {
            buffer.storeBytes(
              of: Int32(elt), toByteOffset: index &* stride, as: Int32.self
            )
            index += 1
        }
    }
  @inlinable convenience public init<C>(_ data: C) throws where C : Swift.Collection, C.Element == Swift.Float {
        let count = data.count
        try self.init(shape: [NSNumber(value: count)], dataType: .float32)
        let buffer = self.dataPointer
        let stride = MemoryLayout<Float>.stride
        var index = 0
        for elt in data {
            buffer.storeBytes(
              of: elt, toByteOffset: index &* stride, as: Float.self
            )
            index += 1
        }
    }
  @inlinable convenience public init<C>(_ data: C) throws where C : Swift.Collection, C.Element == Swift.Double {
        let count = data.count
        try self.init(shape: [NSNumber(value: count)], dataType: .double)
        let buffer = self.dataPointer
        let stride = MemoryLayout<Double>.stride
        var index = 0
        for elt in data {
            buffer.storeBytes(
              of: elt, toByteOffset: index &* stride, as: Double.self
            )
            index += 1
        }
    }
  @available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
  convenience public init<ShapedArray>(_ shapedArray: ShapedArray) where ShapedArray : CoreML.MLShapedArrayProtocol
  @available(macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4, *)
  public func withUnsafeBytes<R>(_ body: (_ ptr: Swift.UnsafeRawBufferPointer) throws -> R) rethrows -> R
  @available(macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4, *)
  public func withUnsafeMutableBytes<R>(_ body: (_ ptr: Swift.UnsafeMutableRawBufferPointer, _ strides: [Swift.Int]) throws -> R) rethrows -> R
  @available(macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4, *)
  public func withUnsafeBufferPointer<S, R>(ofType type: S.Type, _ body: (_ ptr: Swift.UnsafeBufferPointer<S>) throws -> R) rethrows -> R where S : CoreML.MLShapedArrayScalar
  @available(macOS 12.3, iOS 15.4, watchOS 8.5, tvOS 15.4, *)
  public func withUnsafeMutableBufferPointer<S, R>(ofType type: S.Type, _ body: (_ ptr: Swift.UnsafeMutableBufferPointer<S>, _ strides: [Swift.Int]) throws -> R) rethrows -> R where S : CoreML.MLShapedArrayScalar
}
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
@available(macOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(iOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(watchOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(tvOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
extension Swift.UnsafeBufferPointer {
  public init(_ multiArray: CoreML.MLMultiArray) throws
}
@available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
@available(macOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(iOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(watchOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
@available(tvOS, deprecated: 100000.0, message: "Use .dataPointer and withExtendedLifetime instead")
extension Swift.UnsafeMutableBufferPointer {
  public init(_ multiArray: CoreML.MLMultiArray) throws
}
@available(macOS 11.0, iOS 14.0, *)
@available(watchOS, unavailable)
@available(tvOS, unavailable)
extension CoreML.MLModelCollection {
  public class func beginAccessing(identifier: Swift.String, completionHandler handler: @escaping (Swift.Result<CoreML.MLModelCollection, Swift.Error>) -> Swift.Void) -> Foundation.Progress
  public class func endAccessing(identifier: Swift.String, completionHandler handler: @escaping (Swift.Result<Swift.Void, Swift.Error>) -> Swift.Void)
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
public protocol MLShapedArrayProtocol : Swift.ExpressibleByArrayLiteral, Swift.MutableCollection, Swift.RandomAccessCollection where Self.Index == Swift.Int {
  associatedtype Scalar : CoreML.MLShapedArrayScalar
  init(bytesNoCopy bytes: Swift.UnsafeRawPointer, shape: [Swift.Int], strides: [Swift.Int], deallocator: Foundation.Data.Deallocator)
  init(unsafeUninitializedShape shape: [Swift.Int], initializingWith initializer: (_ ptr: inout Swift.UnsafeMutableBufferPointer<Self.Scalar>, _ strides: [Swift.Int]) throws -> Swift.Void) rethrows
  var shape: [Swift.Int] { get }
  var strides: [Swift.Int] { get }
  subscript<C>(sliceRanges: C) -> CoreML.MLShapedArraySlice<Self.Scalar> where C : Swift.Collection, C.Element == Swift.Range<Swift.Int> { get set }
  subscript<C>(indices: C) -> CoreML.MLShapedArraySlice<Self.Scalar> where C : Swift.Collection, C.Element == Swift.Int { get set }
  subscript<C>(scalarAt indices: C) -> Self.Scalar where C : Swift.Collection, C.Element == Swift.Int { get set }
  func withUnsafeShapedBufferPointer<R>(_ body: (_ ptr: Swift.UnsafeBufferPointer<Self.Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
  mutating func withUnsafeMutableShapedBufferPointer<R>(_ body: (_ ptr: inout Swift.UnsafeMutableBufferPointer<Self.Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public subscript<C>(partialSliceRanges: C) -> CoreML.MLShapedArraySlice<Self.Scalar> where C : Swift.Collection, C.Element == CoreML.MLShapedArrayRangeExpression {
    get
    set
  }
  public subscript(sliceRange: Swift.Range<Swift.Int>) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
  public subscript(sliceRanges: CoreML.MLShapedArrayRangeExpression...) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
  public subscript(sliceRange: CoreML.MLShapedArrayRangeExpression) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public subscript(indices: Swift.Int...) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
  public subscript(scalarAt indices: Swift.Int...) -> Self.Scalar {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public subscript(_: (Swift.UnboundedRange_) -> Swift.Void) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public var isScalar: Swift.Bool {
    get
  }
  public var count: Swift.Int {
    get
  }
  public var scalarCount: Swift.Int {
    get
  }
  public var scalars: [Self.Scalar] {
    get
    set
  }
  public var scalar: Self.Scalar? {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public mutating func fill(with value: Self.Scalar)
  public mutating func fill<C>(with collection: C) where C : Swift.Collection, Self.Scalar == C.Element
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public func index(after: Self.Index) -> Self.Index
  public func index(_ index: Self.Index, offsetBy distance: Swift.Int) -> Self.Index
  public subscript(index: Swift.Int) -> CoreML.MLShapedArraySlice<Self.Scalar> {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol where Self.Scalar : Swift.BinaryFloatingPoint, Self.Scalar.RawSignificand : Swift.FixedWidthInteger {
  public init(identityMatrixOfSize size: Swift.Int)
  public init(randomScalarsIn range: Swift.Range<Self.Scalar>, shape: [Swift.Int])
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol where Self.Scalar : Swift.FixedWidthInteger {
  public init(identityMatrixOfSize size: Swift.Int)
  public init(randomScalarsIn range: Swift.Range<Self.Scalar>, shape: [Swift.Int])
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public init(arrayLiteral elements: Self.Scalar...)
  public init(repeating value: Self.Scalar, shape: [Swift.Int])
  public init<S>(scalars: S, shape: [Swift.Int]) where S : Swift.Sequence, Self.Scalar == S.Element
  public init(bytesNoCopy bytes: Swift.UnsafeRawPointer, shape: [Swift.Int], deallocator: Foundation.Data.Deallocator)
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArrayProtocol {
  public init<T>(converting source: T) where T : CoreML.MLShapedArrayProtocol
  public init(_ multiArray: CoreML.MLMultiArray)
  public init(converting multiArray: CoreML.MLMultiArray)
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
public struct MLShapedArray<Scalar> : CoreML.MLShapedArrayProtocol where Scalar : CoreML.MLShapedArrayScalar {
  public typealias ArrayLiteralElement = Scalar
  public typealias SubSequence = CoreML.MLShapedArraySlice<Scalar>
  public init(bytesNoCopy bytes: Swift.UnsafeRawPointer, shape: [Swift.Int], strides: [Swift.Int], deallocator: Foundation.Data.Deallocator)
  public init(data: Foundation.Data, shape: [Swift.Int], strides: [Swift.Int])
  public init(unsafeUninitializedShape shape: [Swift.Int], initializingWith initializer: (_ ptr: inout Swift.UnsafeMutableBufferPointer<Scalar>, _ strides: [Swift.Int]) throws -> Swift.Void) rethrows
  public init(scalar: Scalar)
  public init<S>(concatenating shapedArrays: S, alongAxis: Swift.Int) where Scalar == S.Element.Scalar, S : Swift.Sequence, S.Element : CoreML.MLShapedArrayProtocol
  public var shape: [Swift.Int] {
    get
  }
  public var strides: [Swift.Int] {
    get
  }
  public func withUnsafeShapedBufferPointer<R>(_ body: (_ ptr: Swift.UnsafeBufferPointer<Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
  public mutating func withUnsafeMutableShapedBufferPointer<R>(_ body: (inout Swift.UnsafeMutableBufferPointer<Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
  public typealias Element = CoreML.MLShapedArraySlice<Scalar>
  public typealias Index = Swift.Int
  public typealias Indices = Swift.Range<Swift.Int>
  public typealias Iterator = Swift.IndexingIterator<CoreML.MLShapedArray<Scalar>>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArray : Swift.CustomStringConvertible {
  public var description: Swift.String {
    get
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArray {
  public var indices: Swift.Range<Swift.Int> {
    get
  }
  public var startIndex: Swift.Int {
    get
  }
  public var endIndex: Swift.Int {
    get
  }
  public subscript(index: Swift.Int) -> CoreML.MLShapedArraySlice<Scalar> {
    get
    set
  }
  public subscript<C>(indices: C) -> CoreML.MLShapedArraySlice<Scalar> where C : Swift.Collection, C.Element == Swift.Int {
    get
    set
  }
  public subscript<C>(scalarAt indices: C) -> Scalar where C : Swift.Collection, C.Element == Swift.Int {
    get
    set
  }
  public subscript<C>(sliceRanges: C) -> CoreML.MLShapedArraySlice<Scalar> where C : Swift.Collection, C.Element == Swift.Range<Swift.Int> {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArray {
  public init(data: Foundation.Data, shape: [Swift.Int])
}
@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
extension CoreML.MLShapedArray : Swift.Encodable where Scalar : Swift.Encodable {
  public func encode(to encoder: Swift.Encoder) throws
}
@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
extension CoreML.MLShapedArray : Swift.Decodable where Scalar : Swift.Decodable {
  public init(from decoder: Swift.Decoder) throws
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
public struct MLShapedArraySlice<Scalar> : CoreML.MLShapedArrayProtocol where Scalar : CoreML.MLShapedArrayScalar {
  public typealias ArrayLiteralElement = Scalar
  public typealias SubSequence = CoreML.MLShapedArraySlice<Scalar>
  public let shape: [Swift.Int]
  public init(bytesNoCopy bytes: Swift.UnsafeRawPointer, shape: [Swift.Int], strides: [Swift.Int], deallocator: Foundation.Data.Deallocator)
  public init(unsafeUninitializedShape shape: [Swift.Int], initializingWith initializer: (_ ptr: inout Swift.UnsafeMutableBufferPointer<Scalar>, _ strides: [Swift.Int]) throws -> Swift.Void) rethrows
  public init(scalar: Scalar)
  public init(data: Foundation.Data, shape: [Swift.Int], strides: [Swift.Int])
  public init<S>(concatenating shapedArrays: S, alongAxis: Swift.Int) where Scalar == S.Element.Scalar, S : Swift.Sequence, S.Element : CoreML.MLShapedArrayProtocol
  public var strides: [Swift.Int] {
    get
  }
  public subscript<C>(sliceRanges: C) -> CoreML.MLShapedArraySlice<Scalar> where C : Swift.Collection, C.Element == Swift.Range<Swift.Int> {
    get
    set
  }
  public func withUnsafeShapedBufferPointer<R>(_ body: (_ ptr: Swift.UnsafeBufferPointer<Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
  public mutating func withUnsafeMutableShapedBufferPointer<R>(_ body: (_ ptr: inout Swift.UnsafeMutableBufferPointer<Scalar>, _ shape: [Swift.Int], _ strides: [Swift.Int]) throws -> R) rethrows -> R
  public typealias Index = Swift.Int
  public typealias Indices = Swift.Range<Swift.Int>
  public typealias Iterator = Swift.IndexingIterator<CoreML.MLShapedArraySlice<Scalar>>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArraySlice {
  public typealias Element = CoreML.MLShapedArraySlice<Scalar>
  public var startIndex: Swift.Int {
    get
  }
  public var endIndex: Swift.Int {
    get
  }
  public subscript<C>(indices: C) -> CoreML.MLShapedArraySlice<Scalar> where C : Swift.Collection, C.Element == Swift.Int {
    get
    set
  }
  public subscript<C>(scalarAt indices: C) -> Scalar where C : Swift.Collection, C.Element == Swift.Int {
    get
    set
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension CoreML.MLShapedArraySlice {
  public init(data: Foundation.Data, shape: [Swift.Int])
}
@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
extension CoreML.MLShapedArraySlice : Swift.Encodable where Scalar : Swift.Encodable {
  public func encode(to encoder: Swift.Encoder) throws
}
@available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
extension CoreML.MLShapedArraySlice : Swift.Decodable where Scalar : Swift.Decodable {
  public init(from decoder: Swift.Decoder) throws
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
public protocol MLShapedArrayScalar {
  static var multiArrayDataType: CoreML.MLMultiArrayDataType { get }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.Int32 : CoreML.MLShapedArrayScalar {
  public static var multiArrayDataType: CoreML.MLMultiArrayDataType {
    get
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.Double : CoreML.MLShapedArrayScalar {
  public static var multiArrayDataType: CoreML.MLMultiArrayDataType {
    get
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.Float : CoreML.MLShapedArrayScalar {
  public static var multiArrayDataType: CoreML.MLMultiArrayDataType {
    get
  }
}
@available(iOS 16.0, watchOS 9.0, tvOS 16.0, *)
@available(macOS, unavailable)
@available(macCatalyst, unavailable)
extension Swift.Float16 : CoreML.MLShapedArrayScalar {
  public static var multiArrayDataType: CoreML.MLMultiArrayDataType {
    get
  }
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
public protocol MLShapedArrayRangeExpression {
  func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.Range : CoreML.MLShapedArrayRangeExpression where Bound == Swift.Int {
  public func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.PartialRangeFrom : CoreML.MLShapedArrayRangeExpression where Bound == Swift.Int {
  public func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.PartialRangeUpTo : CoreML.MLShapedArrayRangeExpression where Bound == Swift.Int {
  public func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.ClosedRange : CoreML.MLShapedArrayRangeExpression where Bound == Swift.Int {
  public func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
@available(macOS 12.0, iOS 15.0, watchOS 8.0, tvOS 15.0, *)
extension Swift.PartialRangeThrough : CoreML.MLShapedArrayRangeExpression where Bound == Swift.Int {
  public func relative(toShapedArrayAxis range: Swift.Range<Swift.Int>) -> Swift.Range<Swift.Int>
}
