Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vs-mobiletools-engineering-service2/4eaaaf2c29e8a2b7930ff4683586f376 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/4eaaaf2c29e8a2b7930ff4683586f376 to your computer and use it in GitHub Desktop.
macCat API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.MacCatalyst SDK API diff: 14.16.0 vs 14.99.0
List of API changes between Xamarin.MacCatalyst versions 14.16.0 and 14.99.0.
spouliot
sepoulio
7/19/2021
article
107cb84a-29e9-694a-6caa-6f7975524a73
xamarin

Xamarin.MacCatalyst SDK API diff: 14.16.0 vs 14.99.0

New Namespace ARKit

New Type: ARKit.ARAltitudeSource

[Serializable]
public enum ARAltitudeSource {
	Coarse = 1,
	Precise = 2,
	Unknown = 0,
	UserDefined = 3,
}

New Type: ARKit.ARAnchor

public class ARAnchor : Foundation.NSObject, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARAnchor (ARAnchor anchor);
	public ARAnchor (Foundation.NSCoder coder);
	protected ARAnchor (Foundation.NSObjectFlag t);
	public ARAnchor (OpenTK.NMatrix4 transform);
	protected ARAnchor (IntPtr handle);
	public ARAnchor (string name, OpenTK.NMatrix4 transform);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUuid Identifier { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSUuid SessionIdentifier { get; }
	public virtual OpenTK.NMatrix4 Transform { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARAppClipCodeAnchor

public class ARAppClipCodeAnchor : ARKit.ARAnchor, IARAnchorCopying, IARTrackable, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARAppClipCodeAnchor (ARAnchor anchor);
	public ARAppClipCodeAnchor (Foundation.NSCoder coder);
	protected ARAppClipCodeAnchor (Foundation.NSObjectFlag t);
	protected ARAppClipCodeAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsTracked { get; }
	public virtual float Radius { get; }
	public virtual Foundation.NSUrl Url { get; }
	public virtual ARAppClipCodeUrlDecodingState UrlDecodingState { get; }
}

New Type: ARKit.ARAppClipCodeUrlDecodingState

[Serializable]
public enum ARAppClipCodeUrlDecodingState {
	Decoded = 2,
	Decoding = 0,
	Failed = 1,
}

New Type: ARKit.ARBlendShapeLocationOptions

public class ARBlendShapeLocationOptions : Foundation.DictionaryContainer {
	// constructors
	public ARBlendShapeLocationOptions ();
	public ARBlendShapeLocationOptions (Foundation.NSDictionary dictionary);
	// properties
	public float? BrowDownLeft { get; set; }
	public float? BrowDownRight { get; set; }
	public float? BrowInnerUp { get; set; }
	public float? BrowOuterUpLeft { get; set; }
	public float? BrowOuterUpRight { get; set; }
	public float? CheekPuff { get; set; }
	public float? CheekSquintLeft { get; set; }
	public float? CheekSquintRight { get; set; }
	public float? EyeBlinkLeft { get; set; }
	public float? EyeBlinkRight { get; set; }
	public float? EyeLookDownLeft { get; set; }
	public float? EyeLookDownRight { get; set; }
	public float? EyeLookInLeft { get; set; }
	public float? EyeLookInRight { get; set; }
	public float? EyeLookOutLeft { get; set; }
	public float? EyeLookOutRight { get; set; }
	public float? EyeLookUpLeft { get; set; }
	public float? EyeLookUpRight { get; set; }
	public float? EyeSquintLeft { get; set; }
	public float? EyeSquintRight { get; set; }
	public float? EyeWideLeft { get; set; }
	public float? EyeWideRight { get; set; }
	public float? JawForward { get; set; }
	public float? JawLeft { get; set; }
	public float? JawOpen { get; set; }
	public float? JawRight { get; set; }
	public float? MouthClose { get; set; }
	public float? MouthDimpleLeft { get; set; }
	public float? MouthDimpleRight { get; set; }
	public float? MouthFrownLeft { get; set; }
	public float? MouthFrownRight { get; set; }
	public float? MouthFunnel { get; set; }
	public float? MouthLeft { get; set; }
	public float? MouthLowerDownLeft { get; set; }
	public float? MouthLowerDownRight { get; set; }
	public float? MouthPressLeft { get; set; }
	public float? MouthPressRight { get; set; }
	public float? MouthPucker { get; set; }
	public float? MouthRight { get; set; }
	public float? MouthRollLower { get; set; }
	public float? MouthRollUpper { get; set; }
	public float? MouthShrugLower { get; set; }
	public float? MouthShrugUpper { get; set; }
	public float? MouthSmileLeft { get; set; }
	public float? MouthSmileRight { get; set; }
	public float? MouthStretchLeft { get; set; }
	public float? MouthStretchRight { get; set; }
	public float? MouthUpperUpLeft { get; set; }
	public float? MouthUpperUpRight { get; set; }
	public float? NoseSneerLeft { get; set; }
	public float? NoseSneerRight { get; set; }
	public float? TongueOut { get; set; }
}

New Type: ARKit.ARBody2D

public class ARBody2D : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARBody2D (Foundation.NSObjectFlag t);
	protected ARBody2D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARSkeleton2D Skeleton { get; }
}

New Type: ARKit.ARBodyAnchor

public class ARBodyAnchor : ARKit.ARAnchor, IARAnchorCopying, IARTrackable, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARBodyAnchor (ARAnchor anchor);
	public ARBodyAnchor (Foundation.NSCoder coder);
	protected ARBodyAnchor (Foundation.NSObjectFlag t);
	protected ARBodyAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nfloat EstimatedScaleFactor { get; }
	public virtual bool IsTracked { get; }
	public virtual ARSkeleton3D Skeleton { get; }
}

New Type: ARKit.ARBodyTrackingConfiguration

public class ARBodyTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARBodyTrackingConfiguration ();
	protected ARBodyTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARBodyTrackingConfiguration (IntPtr handle);
	// properties
	public virtual bool AppClipCodeTrackingEnabled { get; set; }
	public virtual bool AutoFocusEnabled { get; set; }
	public virtual bool AutomaticImageScaleEstimationEnabled { get; set; }
	public virtual bool AutomaticSkeletonScaleEstimationEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<ARReferenceImage> DetectionImages { get; set; }
	public virtual AREnvironmentTexturing EnvironmentTexturing { get; set; }
	public virtual ARWorldMap InitialWorldMap { get; set; }
	public virtual nint MaximumNumberOfTrackedImages { get; set; }
	public virtual ARPlaneDetection PlaneDetection { get; set; }
	public static bool SupportsAppClipCodeTracking { get; }
	public virtual bool WantsHdrEnvironmentTextures { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARCamera

public class ARCamera : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARCamera (Foundation.NSObjectFlag t);
	protected ARCamera (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NVector3 EulerAngles { get; }
	public virtual double ExposureDuration { get; }
	public virtual float ExposureOffset { get; }
	public virtual CoreGraphics.CGSize ImageResolution { get; }
	public virtual OpenTK.NMatrix3 Intrinsics { get; }
	public virtual OpenTK.NMatrix4 ProjectionMatrix { get; }
	public virtual ARTrackingState TrackingState { get; }
	public virtual ARTrackingStateReason TrackingStateReason { get; }
	public virtual OpenTK.NMatrix4 Transform { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CoreGraphics.CGPoint GetProjectPoint (OpenTK.NVector3 point, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);
	public virtual OpenTK.NMatrix4 GetProjectionMatrix (UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize, nfloat zNear, nfloat zFar);
	public virtual OpenTK.NMatrix4 GetViewMatrix (UIKit.UIInterfaceOrientation orientation);
	public virtual CoreGraphics.CGPoint Project (OpenTK.NVector3 point, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);
	public virtual OpenTK.NVector3 Unproject (CoreGraphics.CGPoint point, OpenTK.NMatrix4 planeTransform, UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);
}

New Type: ARKit.ARCoachingGoal

[Serializable]
public enum ARCoachingGoal {
	AnyPlane = 3,
	GeoTracking = 4,
	HorizontalPlane = 1,
	Tracking = 0,
	VerticalPlane = 2,
}

New Type: ARKit.ARCoachingOverlayView

public class ARCoachingOverlayView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ARCoachingOverlayView ();
	public ARCoachingOverlayView (CoreGraphics.CGRect frame);
	public ARCoachingOverlayView (Foundation.NSCoder coder);
	protected ARCoachingOverlayView (Foundation.NSObjectFlag t);
	protected ARCoachingOverlayView (IntPtr handle);
	// properties
	public virtual bool ActivatesAutomatically { get; set; }
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public IARCoachingOverlayViewDelegate Delegate { get; set; }
	public virtual ARCoachingGoal Goal { get; set; }
	public virtual bool IsActive { get; }
	public virtual ARSession Session { get; set; }
	public virtual IARSessionProviding SessionProvider { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance GetAppearance<T> ();
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static ARCoachingOverlayView.ARCoachingOverlayViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetActive (bool active, bool animated);

	// inner types
	public class ARCoachingOverlayViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected ARCoachingOverlayView.ARCoachingOverlayViewAppearance (IntPtr handle);
	}
}

New Type: ARKit.ARCoachingOverlayViewDelegate

public class ARCoachingOverlayViewDelegate : Foundation.NSObject, IARCoachingOverlayViewDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARCoachingOverlayViewDelegate ();
	protected ARCoachingOverlayViewDelegate (Foundation.NSObjectFlag t);
	protected ARCoachingOverlayViewDelegate (IntPtr handle);
	// methods
	public virtual void DidDeactivate (ARCoachingOverlayView coachingOverlayView);
	public virtual void DidRequestSessionReset (ARCoachingOverlayView coachingOverlayView);
	public virtual void WillActivate (ARCoachingOverlayView coachingOverlayView);
}

New Type: ARKit.ARCoachingOverlayViewDelegate_Extensions

public static class ARCoachingOverlayViewDelegate_Extensions {
	// methods
	public static void DidDeactivate (this IARCoachingOverlayViewDelegate This, ARCoachingOverlayView coachingOverlayView);
	public static void DidRequestSessionReset (this IARCoachingOverlayViewDelegate This, ARCoachingOverlayView coachingOverlayView);
	public static void WillActivate (this IARCoachingOverlayViewDelegate This, ARCoachingOverlayView coachingOverlayView);
}

New Type: ARKit.ARCollaborationData

public class ARCollaborationData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARCollaborationData (Foundation.NSCoder coder);
	protected ARCollaborationData (Foundation.NSObjectFlag t);
	protected ARCollaborationData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARCollaborationDataPriority Priority { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARCollaborationDataPriority

[Serializable]
public enum ARCollaborationDataPriority {
	Critical = 0,
	Optional = 1,
}

New Type: ARKit.ARConfidenceLevel

[Serializable]
public enum ARConfidenceLevel {
	High = 2,
	Low = 0,
	Medium = 1,
}

New Type: ARKit.ARConfiguration

public abstract class ARConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARConfiguration (Foundation.NSObjectFlag t);
	protected ARConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARFrameSemantics FrameSemantics { get; set; }
	public static bool IsSupported { get; }
	public virtual bool LightEstimationEnabled { get; set; }
	public virtual bool ProvidesAudioData { get; set; }
	public static ARVideoFormat[] SupportedVideoFormats { get; }
	public virtual ARVideoFormat VideoFormat { get; set; }
	public virtual ARWorldAlignment WorldAlignment { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARDepthData

public class ARDepthData : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARDepthData (Foundation.NSObjectFlag t);
	protected ARDepthData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreVideo.CVPixelBuffer ConfidenceMap { get; }
	public virtual CoreVideo.CVPixelBuffer DepthMap { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: ARKit.ARDirectionalLightEstimate

public class ARDirectionalLightEstimate : ARKit.ARLightEstimate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARDirectionalLightEstimate (Foundation.NSObjectFlag t);
	protected ARDirectionalLightEstimate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NVector3 PrimaryLightDirection { get; }
	public virtual nfloat PrimaryLightIntensity { get; }
	public virtual Foundation.NSData SphericalHarmonicsCoefficients { get; }
}

New Type: ARKit.AREnvironmentProbeAnchor

public class AREnvironmentProbeAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AREnvironmentProbeAnchor (ARAnchor anchor);
	public AREnvironmentProbeAnchor (Foundation.NSCoder coder);
	protected AREnvironmentProbeAnchor (Foundation.NSObjectFlag t);
	protected AREnvironmentProbeAnchor (IntPtr handle);
	public AREnvironmentProbeAnchor (OpenTK.NMatrix4 transform, OpenTK.NVector3 extent);
	public AREnvironmentProbeAnchor (string name, OpenTK.NMatrix4 transform, OpenTK.NVector3 extent);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Metal.IMTLTexture EnvironmentTexture { get; }
	public virtual OpenTK.NVector3 Extent { get; }
}

New Type: ARKit.AREnvironmentTexturing

[Serializable]
public enum AREnvironmentTexturing {
	Automatic = 2,
	Manual = 1,
	None = 0,
}

New Type: ARKit.ARErrorCode

[Serializable]
public enum ARErrorCode {
	CameraUnauthorized = 103,
	CollaborationDataUnavailable = 304,
	FileIOFailed = 500,
	GeoTrackingFailed = 202,
	GeoTrackingNotAvailableAtLocation = 201,
	InsufficientFeatures = 400,
	InvalidCollaborationData = 304,
	InvalidConfiguration = 303,
	InvalidReferenceImage = 300,
	InvalidReferenceObject = 301,
	InvalidWorldMap = 302,
	LocationUnauthorized = 105,
	MicrophoneUnauthorized = 104,
	ObjectMergeFailed = 401,
	RequestFailed = 501,
	SensorFailed = 102,
	SensorUnavailable = 101,
	UnsupportedConfiguration = 100,
	WorldTrackingFailed = 200,
}

New Type: ARKit.ARErrorCodeExtensions

public static class ARErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this ARErrorCode self);
}

New Type: ARKit.ARFaceAnchor

public class ARFaceAnchor : ARKit.ARAnchor, IARAnchorCopying, IARTrackable, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARFaceAnchor ();
	public ARFaceAnchor (ARAnchor anchor);
	public ARFaceAnchor (Foundation.NSCoder coder);
	protected ARFaceAnchor (Foundation.NSObjectFlag t);
	protected ARFaceAnchor (IntPtr handle);
	// properties
	public ARBlendShapeLocationOptions BlendShapes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual ARFaceGeometry Geometry { get; }
	public virtual bool IsTracked { get; }
	public virtual OpenTK.NMatrix4 LeftEyeTransform { get; }
	public virtual OpenTK.NVector3 LookAtPoint { get; }
	public virtual OpenTK.NMatrix4 RightEyeTransform { get; }
	public virtual Foundation.NSDictionary WeakBlendShapes { get; }
}

New Type: ARKit.ARFaceGeometry

public class ARFaceGeometry : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARFaceGeometry (ARBlendShapeLocationOptions blendShapes);
	public ARFaceGeometry (Foundation.NSCoder coder);
	public ARFaceGeometry (Foundation.NSDictionary blendShapes);
	protected ARFaceGeometry (Foundation.NSObjectFlag t);
	protected ARFaceGeometry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint TextureCoordinateCount { get; }
	public virtual OpenTK.Vector2 TextureCoordinates { get; }
	public virtual nuint TriangleCount { get; }
	public virtual short TriangleIndices { get; }
	public virtual nuint VertexCount { get; }
	public virtual OpenTK.NVector3 Vertices { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual IntPtr GetRawTextureCoordinates ();
	public virtual IntPtr GetRawTriangleIndices ();
	public virtual IntPtr GetRawVertices ();
	public OpenTK.Vector2[] GetTextureCoordinates ();
	public short[] GetTriangleIndices ();
	public OpenTK.NVector3[] GetVertices ();
}

New Type: ARKit.ARFaceTrackingConfiguration

public class ARFaceTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARFaceTrackingConfiguration ();
	protected ARFaceTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARFaceTrackingConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint MaximumNumberOfTrackedFaces { get; set; }
	public static nint SupportedNumberOfTrackedFaces { get; }
	public static bool SupportsWorldTracking { get; }
	public virtual bool WorldTrackingEnabled { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARFrame

public class ARFrame : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARFrame (Foundation.NSObjectFlag t);
	protected ARFrame (IntPtr handle);
	// properties
	public virtual ARAnchor[] Anchors { get; }
	public virtual ARCamera Camera { get; }
	public virtual float CameraGrainIntensity { get; }
	public virtual Metal.IMTLTexture CameraGrainTexture { get; }
	public virtual AVFoundation.AVDepthData CapturedDepthData { get; }
	public virtual double CapturedDepthDataTimestamp { get; }
	public virtual CoreVideo.CVPixelBuffer CapturedImage { get; }
	public override IntPtr ClassHandle { get; }
	public virtual ARBody2D DetectedBody { get; }
	public virtual CoreVideo.CVPixelBuffer EstimatedDepthData { get; }
	public virtual ARGeoTrackingStatus GeoTrackingStatus { get; }
	public virtual ARLightEstimate LightEstimate { get; }
	public virtual ARPointCloud RawFeaturePoints { get; }
	public virtual ARDepthData SceneDepth { get; }
	public virtual CoreVideo.CVPixelBuffer SegmentationBuffer { get; }
	public virtual ARDepthData SmoothedSceneDepth { get; }
	public virtual double Timestamp { get; }
	public virtual ARWorldMappingStatus WorldMappingStatus { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual ARRaycastQuery CreateRaycastQuery (CoreGraphics.CGPoint point, ARRaycastTarget target, ARRaycastTargetAlignment alignment);
	public virtual CoreGraphics.CGAffineTransform GetDisplayTransform (UIKit.UIInterfaceOrientation orientation, CoreGraphics.CGSize viewportSize);
	public virtual ARHitTestResult[] HitTest (CoreGraphics.CGPoint point, ARHitTestResultType types);
}

New Type: ARKit.ARFrameSemantics

[Serializable]
public enum ARFrameSemantics {
	BodyDetection = 4,
	None = 0,
	PersonSegmentation = 1,
	PersonSegmentationWithDepth = 3,
	SceneDepth = 8,
	SmoothedSceneDepth = 16,
}

New Type: ARKit.ARGeoAnchor

public class ARGeoAnchor : ARKit.ARAnchor, IARAnchorCopying, IARTrackable, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARGeoAnchor ();
	public ARGeoAnchor (ARAnchor anchor);
	public ARGeoAnchor (CoreLocation.CLLocationCoordinate2D coordinate);
	public ARGeoAnchor (Foundation.NSCoder coder);
	protected ARGeoAnchor (Foundation.NSObjectFlag t);
	protected ARGeoAnchor (IntPtr handle);
	public ARGeoAnchor (CoreLocation.CLLocationCoordinate2D coordinate, double altitude);
	public ARGeoAnchor (string name, CoreLocation.CLLocationCoordinate2D coordinate);
	public ARGeoAnchor (string name, CoreLocation.CLLocationCoordinate2D coordinate, double altitude);
	// properties
	public virtual double Altitude { get; }
	public virtual ARAltitudeSource AltitudeSource { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreLocation.CLLocationCoordinate2D Coordinate { get; }
	public virtual bool IsTracked { get; }
}

New Type: ARKit.ARGeoTrackingAccuracy

[Serializable]
public enum ARGeoTrackingAccuracy {
	High = 3,
	Low = 1,
	Medium = 2,
	Undetermined = 0,
}

New Type: ARKit.ARGeoTrackingConfiguration

public class ARGeoTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARGeoTrackingConfiguration ();
	protected ARGeoTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARGeoTrackingConfiguration (IntPtr handle);
	// properties
	public virtual bool AppClipCodeTrackingEnabled { get; set; }
	public virtual bool AutomaticImageScaleEstimationEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<ARReferenceImage> DetectionImages { get; set; }
	public virtual Foundation.NSSet<ARReferenceObject> DetectionObjects { get; set; }
	public virtual AREnvironmentTexturing EnvironmentTexturing { get; set; }
	public virtual nint MaximumNumberOfTrackedImages { get; set; }
	public virtual ARPlaneDetection PlaneDetection { get; set; }
	public static bool SupportsAppClipCodeTracking { get; }
	public virtual bool WantsHdrEnvironmentTextures { get; set; }
	// methods
	public static void CheckAvailability (System.Action<System.Boolean,Foundation.NSError> completionHandler);
	public static void CheckAvailability (CoreLocation.CLLocationCoordinate2D coordinate, System.Action<System.Boolean,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> CheckAvailabilityAsync ();
	public static System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> CheckAvailabilityAsync (CoreLocation.CLLocationCoordinate2D coordinate);
	public static ARGeoTrackingConfiguration Create ();
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARGeoTrackingState

[Serializable]
public enum ARGeoTrackingState {
	Initializing = 1,
	Localized = 3,
	Localizing = 2,
	NotAvailable = 0,
}

New Type: ARKit.ARGeoTrackingStateReason

[Serializable]
public enum ARGeoTrackingStateReason {
	DevicePointedTooLow = 7,
	GeoDataNotLoaded = 6,
	NeedLocationPermissions = 2,
	None = 0,
	NotAvailableAtLocation = 1,
	VisualLocalizationFailed = 8,
	WaitingForAvailabilityCheck = 5,
	WaitingForLocation = 4,
	WorldTrackingUnstable = 3,
}

New Type: ARKit.ARGeoTrackingStatus

public class ARGeoTrackingStatus : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARGeoTrackingStatus (Foundation.NSCoder coder);
	protected ARGeoTrackingStatus (Foundation.NSObjectFlag t);
	protected ARGeoTrackingStatus (IntPtr handle);
	// properties
	public virtual ARGeoTrackingAccuracy Accuracy { get; }
	public override IntPtr ClassHandle { get; }
	public virtual ARGeoTrackingState State { get; }
	public virtual ARGeoTrackingStateReason StateReason { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARGeometryElement

public class ARGeometryElement : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARGeometryElement (Foundation.NSCoder coder);
	protected ARGeometryElement (Foundation.NSObjectFlag t);
	protected ARGeometryElement (IntPtr handle);
	// properties
	public virtual Metal.IMTLBuffer Buffer { get; }
	public virtual nint BytesPerIndex { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint Count { get; }
	public virtual nint IndexCountPerPrimitive { get; }
	public virtual ARGeometryPrimitiveType PrimitiveType { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARGeometryPrimitiveType

[Serializable]
public enum ARGeometryPrimitiveType {
	Line = 0,
	Triangle = 1,
}

New Type: ARKit.ARGeometrySource

public class ARGeometrySource : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARGeometrySource (Foundation.NSCoder coder);
	protected ARGeometrySource (Foundation.NSObjectFlag t);
	protected ARGeometrySource (IntPtr handle);
	// properties
	public virtual Metal.IMTLBuffer Buffer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint ComponentsPerVector { get; }
	public virtual nint Count { get; }
	public virtual Metal.MTLVertexFormat Format { get; }
	public virtual nint Offset { get; }
	public virtual nint Stride { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARHitTestResult

public class ARHitTestResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARHitTestResult (Foundation.NSObjectFlag t);
	protected ARHitTestResult (IntPtr handle);
	// properties
	public virtual ARAnchor Anchor { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat Distance { get; }
	public virtual OpenTK.NMatrix4 LocalTransform { get; }
	public virtual ARHitTestResultType Type { get; }
	public virtual OpenTK.NMatrix4 WorldTransform { get; }
}

New Type: ARKit.ARHitTestResultType

[Serializable]
public enum ARHitTestResultType {
	EstimatedHorizontalPlane = 2,
	EstimatedVerticalPlane = 4,
	ExistingPlane = 8,
	ExistingPlaneUsingExtent = 16,
	ExistingPlaneUsingGeometry = 32,
	FeaturePoint = 1,
}

New Type: ARKit.ARImageAnchor

public class ARImageAnchor : ARKit.ARAnchor, IARAnchorCopying, IARTrackable, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARImageAnchor (ARAnchor anchor);
	public ARImageAnchor (Foundation.NSCoder coder);
	protected ARImageAnchor (Foundation.NSObjectFlag t);
	protected ARImageAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nfloat EstimatedScaleFactor { get; }
	public virtual bool IsTracked { get; }
	public virtual ARReferenceImage ReferenceImage { get; }
}

New Type: ARKit.ARImageTrackingConfiguration

public class ARImageTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARImageTrackingConfiguration ();
	protected ARImageTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARImageTrackingConfiguration (IntPtr handle);
	// properties
	public virtual bool AutoFocusEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual nint MaximumNumberOfTrackedImages { get; set; }
	public virtual Foundation.NSSet<ARReferenceImage> TrackingImages { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARLightEstimate

public class ARLightEstimate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARLightEstimate (Foundation.NSObjectFlag t);
	protected ARLightEstimate (IntPtr handle);
	// properties
	public virtual nfloat AmbientColorTemperature { get; }
	public virtual nfloat AmbientIntensity { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: ARKit.ARMatteGenerator

public class ARMatteGenerator : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARMatteGenerator (Foundation.NSObjectFlag t);
	protected ARMatteGenerator (IntPtr handle);
	public ARMatteGenerator (Metal.IMTLDevice device, ARMatteResolution matteResolution);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Metal.IMTLTexture GenerateDilatedDepth (ARFrame frame, Metal.IMTLCommandBuffer commandBuffer);
	public virtual Metal.IMTLTexture GenerateMatte (ARFrame frame, Metal.IMTLCommandBuffer commandBuffer);
}

New Type: ARKit.ARMatteResolution

[Serializable]
public enum ARMatteResolution {
	Full = 0,
	Half = 1,
}

New Type: ARKit.ARMeshAnchor

public class ARMeshAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARMeshAnchor (ARAnchor anchor);
	public ARMeshAnchor (Foundation.NSCoder coder);
	protected ARMeshAnchor (Foundation.NSObjectFlag t);
	protected ARMeshAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARMeshGeometry Geometry { get; }
}

New Type: ARKit.ARMeshClassification

[Serializable]
public enum ARMeshClassification {
	Ceiling = 3,
	Door = 7,
	Floor = 2,
	None = 0,
	Seat = 5,
	Table = 4,
	Wall = 1,
	Window = 6,
}

New Type: ARKit.ARMeshGeometry

public class ARMeshGeometry : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARMeshGeometry (Foundation.NSCoder coder);
	protected ARMeshGeometry (Foundation.NSObjectFlag t);
	protected ARMeshGeometry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARGeometrySource Classification { get; }
	public virtual ARGeometryElement Faces { get; }
	public virtual ARGeometrySource Normals { get; }
	public virtual ARGeometrySource Vertices { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARObjectAnchor

public class ARObjectAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARObjectAnchor (ARAnchor anchor);
	public ARObjectAnchor (Foundation.NSCoder coder);
	protected ARObjectAnchor (Foundation.NSObjectFlag t);
	protected ARObjectAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARReferenceObject ReferenceObject { get; }
}

New Type: ARKit.ARObjectScanningConfiguration

public class ARObjectScanningConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARObjectScanningConfiguration ();
	protected ARObjectScanningConfiguration (Foundation.NSObjectFlag t);
	protected ARObjectScanningConfiguration (IntPtr handle);
	// properties
	public virtual bool AutoFocusEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual ARPlaneDetection PlaneDetection { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.AROrientationTrackingConfiguration

public class AROrientationTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AROrientationTrackingConfiguration ();
	protected AROrientationTrackingConfiguration (Foundation.NSObjectFlag t);
	protected AROrientationTrackingConfiguration (IntPtr handle);
	// properties
	public virtual bool AutoFocusEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARParticipantAnchor

public class ARParticipantAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARParticipantAnchor (ARAnchor anchor);
	public ARParticipantAnchor (Foundation.NSCoder coder);
	protected ARParticipantAnchor (Foundation.NSObjectFlag t);
	protected ARParticipantAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: ARKit.ARPlaneAnchor

public class ARPlaneAnchor : ARKit.ARAnchor, IARAnchorCopying, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARPlaneAnchor (ARAnchor anchor);
	public ARPlaneAnchor (Foundation.NSCoder coder);
	protected ARPlaneAnchor (Foundation.NSObjectFlag t);
	protected ARPlaneAnchor (IntPtr handle);
	// properties
	public virtual ARPlaneAnchorAlignment Alignment { get; }
	public virtual OpenTK.NVector3 Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual ARPlaneClassification Classification { get; }
	public virtual ARPlaneClassificationStatus ClassificationStatus { get; }
	public static bool ClassificationSupported { get; }
	public virtual OpenTK.NVector3 Extent { get; }
	public virtual ARPlaneGeometry Geometry { get; }
}

New Type: ARKit.ARPlaneAnchorAlignment

[Serializable]
public enum ARPlaneAnchorAlignment {
	Horizontal = 0,
	Vertical = 1,
}

New Type: ARKit.ARPlaneClassification

[Serializable]
public enum ARPlaneClassification {
	Ceiling = 3,
	Door = 7,
	Floor = 2,
	None = 0,
	Seat = 5,
	Table = 4,
	Wall = 1,
	Window = 6,
}

New Type: ARKit.ARPlaneClassificationStatus

[Serializable]
public enum ARPlaneClassificationStatus {
	Known = 3,
	NotAvailable = 0,
	Undetermined = 1,
	Unknown = 2,
}

New Type: ARKit.ARPlaneDetection

[Serializable]
public enum ARPlaneDetection {
	Horizontal = 1,
	None = 0,
	Vertical = 2,
}

New Type: ARKit.ARPlaneGeometry

public class ARPlaneGeometry : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARPlaneGeometry (Foundation.NSCoder coder);
	protected ARPlaneGeometry (Foundation.NSObjectFlag t);
	protected ARPlaneGeometry (IntPtr handle);
	// properties
	public virtual nuint BoundaryVertexCount { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nuint TextureCoordinateCount { get; }
	public virtual nuint TriangleCount { get; }
	public virtual nuint VertexCount { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public OpenTK.NVector3[] GetBoundaryVertices ();
	public virtual IntPtr GetRawBoundaryVertices ();
	public virtual IntPtr GetRawTextureCoordinates ();
	public virtual IntPtr GetRawTriangleIndices ();
	public virtual IntPtr GetRawVertices ();
	public OpenTK.Vector2[] GetTextureCoordinates ();
	public short[] GetTriangleIndices ();
	public OpenTK.NVector3[] GetVertices ();
}

New Type: ARKit.ARPointCloud

public class ARPointCloud : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARPointCloud (Foundation.NSCoder coder);
	protected ARPointCloud (Foundation.NSObjectFlag t);
	protected ARPointCloud (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Count { get; }
	public ulong[] Identifiers { get; }
	public OpenTK.NVector3[] Points { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	protected virtual IntPtr GetRawIdentifiers ();
	protected virtual IntPtr GetRawPoints ();
}

New Type: ARKit.ARPositionalTrackingConfiguration

public class ARPositionalTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARPositionalTrackingConfiguration ();
	protected ARPositionalTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARPositionalTrackingConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARWorldMap InitialWorldMap { get; set; }
	public virtual ARPlaneDetection PlaneDetection { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
}

New Type: ARKit.ARQuickLookPreviewItem

public class ARQuickLookPreviewItem : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, QuickLook.IQLPreviewItem, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARQuickLookPreviewItem (Foundation.NSObjectFlag t);
	public ARQuickLookPreviewItem (Foundation.NSUrl url);
	protected ARQuickLookPreviewItem (IntPtr handle);
	// properties
	public virtual bool AllowsContentScaling { get; set; }
	public virtual Foundation.NSUrl CanonicalWebPageUrl { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string ItemTitle { get; }
	public virtual Foundation.NSUrl ItemUrl { get; }
}

New Type: ARKit.ARRaycastQuery

public class ARRaycastQuery : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARRaycastQuery (Foundation.NSObjectFlag t);
	protected ARRaycastQuery (IntPtr handle);
	public ARRaycastQuery (OpenTK.NVector3 origin, OpenTK.NVector3 direction, ARRaycastTarget target, ARRaycastTargetAlignment alignment);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NVector3 Direction { get; }
	public virtual OpenTK.NVector3 Origin { get; }
	public virtual ARRaycastTarget Target { get; }
	public virtual ARRaycastTargetAlignment TargetAlignment { get; }
}

New Type: ARKit.ARRaycastResult

public class ARRaycastResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARRaycastResult (Foundation.NSObjectFlag t);
	protected ARRaycastResult (IntPtr handle);
	// properties
	public virtual ARAnchor Anchor { get; }
	public override IntPtr ClassHandle { get; }
	public virtual ARRaycastTarget Target { get; }
	public virtual ARRaycastTargetAlignment TargetAlignment { get; }
	public virtual OpenTK.NMatrix4 WorldTransform { get; }
}

New Type: ARKit.ARRaycastTarget

[Serializable]
public enum ARRaycastTarget {
	EstimatedPlane = 2,
	ExistingPlaneGeometry = 0,
	ExistingPlaneInfinite = 1,
}

New Type: ARKit.ARRaycastTargetAlignment

[Serializable]
public enum ARRaycastTargetAlignment {
	Any = 2,
	Horizontal = 0,
	Vertical = 1,
}

New Type: ARKit.ARReferenceImage

public class ARReferenceImage : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARReferenceImage (Foundation.NSObjectFlag t);
	protected ARReferenceImage (IntPtr handle);
	public ARReferenceImage (CoreGraphics.CGImage image, ImageIO.CGImagePropertyOrientation orientation, nfloat physicalWidth);
	public ARReferenceImage (CoreVideo.CVPixelBuffer pixelBuffer, ImageIO.CGImagePropertyOrientation orientation, nfloat physicalWidth);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; set; }
	public virtual CoreGraphics.CGSize PhysicalSize { get; }
	public virtual string ResourceGroupName { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static Foundation.NSSet<ARReferenceImage> GetReferenceImagesInGroup (string name, Foundation.NSBundle bundle);
	public virtual void Validate (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task ValidateAsync ();
}

New Type: ARKit.ARReferenceObject

public class ARReferenceObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARReferenceObject (Foundation.NSCoder coder);
	protected ARReferenceObject (Foundation.NSObjectFlag t);
	protected ARReferenceObject (IntPtr handle);
	public ARReferenceObject (Foundation.NSUrl archiveUrl, out Foundation.NSError error);
	// properties
	public static Foundation.NSString ArchiveExtension { get; }
	public virtual OpenTK.NVector3 Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NVector3 Extent { get; }
	public virtual string Name { get; set; }
	public virtual ARPointCloud RawFeaturePoints { get; }
	public virtual string ResourceGroupName { get; }
	public virtual OpenTK.NVector3 Scale { get; }
	// methods
	public virtual ARReferenceObject ApplyTransform (OpenTK.NMatrix4 transform);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual bool Export (Foundation.NSUrl url, UIKit.UIImage previewImage, out Foundation.NSError error);
	public static Foundation.NSSet<ARReferenceObject> GetReferenceObjects (string resourceGroupName, Foundation.NSBundle bundle);
	public virtual ARReferenceObject Merge (ARReferenceObject object, out Foundation.NSError error);
}

New Type: ARKit.ARSCNDebugOptions

public static class ARSCNDebugOptions {
	// properties
	public static SceneKit.SCNDebugOptions ShowFeaturePoints { get; }
	public static SceneKit.SCNDebugOptions ShowWorldOrigin { get; }
}

New Type: ARKit.ARSCNFaceGeometry

public class ARSCNFaceGeometry : SceneKit.SCNGeometry, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, SceneKit.ISCNAnimatable, SceneKit.ISCNBoundingVolume, SceneKit.ISCNShadable, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSCNFaceGeometry (Foundation.NSCoder coder);
	protected ARSCNFaceGeometry (Foundation.NSObjectFlag t);
	protected ARSCNFaceGeometry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static ARSCNFaceGeometry Create (Metal.IMTLDevice device);
	public static ARSCNFaceGeometry Create (Metal.IMTLDevice device, bool fillMesh);
	public static ARSCNFaceGeometry CreateFaceGeometry (Metal.IMTLDevice device);
	public static ARSCNFaceGeometry CreateFaceGeometry (Metal.IMTLDevice device, bool fillMesh);
	public virtual void Update (ARFaceGeometry faceGeometry);
}

New Type: ARKit.ARSCNPlaneGeometry

public class ARSCNPlaneGeometry : SceneKit.SCNGeometry, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, SceneKit.ISCNAnimatable, SceneKit.ISCNBoundingVolume, SceneKit.ISCNShadable, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSCNPlaneGeometry (Foundation.NSCoder coder);
	protected ARSCNPlaneGeometry (Foundation.NSObjectFlag t);
	protected ARSCNPlaneGeometry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static ARSCNPlaneGeometry Create (Metal.IMTLDevice device);
	public virtual void Update (ARPlaneGeometry planeGeometry);
}

New Type: ARKit.ARSCNView

public class ARSCNView : SceneKit.SCNView, IARSessionProviding, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, SceneKit.ISCNSceneRenderer, SceneKit.ISCNTechniqueSupport, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ARSCNView ();
	public ARSCNView (Foundation.NSCoder coder);
	protected ARSCNView (Foundation.NSObjectFlag t);
	protected ARSCNView (IntPtr handle);
	// properties
	public static ARSCNView.ARSCNViewAppearance Appearance { get; }
	public virtual bool AutomaticallyUpdatesLighting { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual IARSCNViewDelegate Delegate { get; set; }
	public virtual bool RendersCameraGrain { get; set; }
	public virtual bool RendersMotionBlur { get; set; }
	public virtual SceneKit.SCNScene Scene { get; set; }
	public virtual ARSession Session { get; set; }
	// methods
	public static ARSCNView.ARSCNViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual ARRaycastQuery CreateRaycastQuery (CoreGraphics.CGPoint point, ARRaycastTarget target, ARRaycastTargetAlignment alignment);
	protected override void Dispose (bool disposing);
	public virtual ARAnchor GetAnchor (SceneKit.SCNNode node);
	public static ARSCNView.ARSCNViewAppearance GetAppearance<T> ();
	public static ARSCNView.ARSCNViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static ARSCNView.ARSCNViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static ARSCNView.ARSCNViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static ARSCNView.ARSCNViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual SceneKit.SCNNode GetNode (ARAnchor anchor);
	public virtual ARHitTestResult[] HitTest (CoreGraphics.CGPoint point, ARHitTestResultType types);
	public virtual OpenTK.NVector3 Unproject (CoreGraphics.CGPoint point, OpenTK.NMatrix4 planeTransform);

	// inner types
	public class ARSCNViewAppearance : SceneKit.SCNView+SCNViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected ARSCNView.ARSCNViewAppearance (IntPtr handle);
	}
}

New Type: ARKit.ARSCNViewDelegate

public class ARSCNViewDelegate : Foundation.NSObject, IARSCNViewDelegate, IARSessionObserver, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, SceneKit.ISCNSceneRendererDelegate, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSCNViewDelegate ();
	protected ARSCNViewDelegate (Foundation.NSObjectFlag t);
	protected ARSCNViewDelegate (IntPtr handle);
	// methods
	public virtual void CameraDidChangeTrackingState (ARSession session, ARCamera camera);
	public virtual void DidAddNode (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public virtual void DidApplyAnimations (SceneKit.ISCNSceneRenderer renderer, double timeInSeconds);
	public virtual void DidApplyConstraints (SceneKit.ISCNSceneRenderer renderer, double atTime);
	public virtual void DidChangeGeoTrackingStatus (ARSession session, ARGeoTrackingStatus geoTrackingStatus);
	public virtual void DidFail (ARSession session, Foundation.NSError error);
	public virtual void DidOutputAudioSampleBuffer (ARSession session, CoreMedia.CMSampleBuffer audioSampleBuffer);
	public virtual void DidOutputCollaborationData (ARSession session, ARCollaborationData data);
	public virtual void DidRemoveNode (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public virtual void DidRenderScene (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNScene scene, double timeInSeconds);
	public virtual void DidSimulatePhysics (SceneKit.ISCNSceneRenderer renderer, double timeInSeconds);
	public virtual void DidUpdateNode (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public virtual SceneKit.SCNNode GetNode (SceneKit.ISCNSceneRenderer renderer, ARAnchor anchor);
	public virtual void InterruptionEnded (ARSession session);
	public virtual bool ShouldAttemptRelocalization (ARSession session);
	public virtual void Update (SceneKit.ISCNSceneRenderer renderer, double timeInSeconds);
	public virtual void WasInterrupted (ARSession session);
	public virtual void WillRenderScene (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNScene scene, double timeInSeconds);
	public virtual void WillUpdateNode (SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
}

New Type: ARKit.ARSCNViewDelegate_Extensions

public static class ARSCNViewDelegate_Extensions {
	// methods
	public static void DidAddNode (this IARSCNViewDelegate This, SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public static void DidRemoveNode (this IARSCNViewDelegate This, SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public static void DidUpdateNode (this IARSCNViewDelegate This, SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
	public static SceneKit.SCNNode GetNode (this IARSCNViewDelegate This, SceneKit.ISCNSceneRenderer renderer, ARAnchor anchor);
	public static void WillUpdateNode (this IARSCNViewDelegate This, SceneKit.ISCNSceneRenderer renderer, SceneKit.SCNNode node, ARAnchor anchor);
}

New Type: ARKit.ARSKView

public class ARSKView : SpriteKit.SKView, IARSessionProviding, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ARSKView ();
	public ARSKView (Foundation.NSCoder coder);
	protected ARSKView (Foundation.NSObjectFlag t);
	protected ARSKView (IntPtr handle);
	// properties
	public static ARSKView.ARSKViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IARSKViewDelegate Delegate { get; set; }
	public virtual ARSession Session { get; set; }
	// methods
	public static ARSKView.ARSKViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public virtual ARAnchor GetAnchor (SpriteKit.SKNode node);
	public static ARSKView.ARSKViewAppearance GetAppearance<T> ();
	public static ARSKView.ARSKViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static ARSKView.ARSKViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static ARSKView.ARSKViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static ARSKView.ARSKViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual SpriteKit.SKNode GetNode (ARAnchor anchor);
	public virtual ARHitTestResult[] HitTest (CoreGraphics.CGPoint point, ARHitTestResultType types);

	// inner types
	public class ARSKViewAppearance : SpriteKit.SKView+SKViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected ARSKView.ARSKViewAppearance (IntPtr handle);
	}
}

New Type: ARKit.ARSKViewDelegate

public class ARSKViewDelegate : Foundation.NSObject, IARSKViewDelegate, IARSessionObserver, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, SpriteKit.ISKViewDelegate, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSKViewDelegate ();
	protected ARSKViewDelegate (Foundation.NSObjectFlag t);
	protected ARSKViewDelegate (IntPtr handle);
	// methods
	public virtual void CameraDidChangeTrackingState (ARSession session, ARCamera camera);
	public virtual void DidAddNode (ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public virtual void DidChangeGeoTrackingStatus (ARSession session, ARGeoTrackingStatus geoTrackingStatus);
	public virtual void DidFail (ARSession session, Foundation.NSError error);
	public virtual void DidOutputAudioSampleBuffer (ARSession session, CoreMedia.CMSampleBuffer audioSampleBuffer);
	public virtual void DidOutputCollaborationData (ARSession session, ARCollaborationData data);
	public virtual void DidRemoveNode (ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public virtual void DidUpdateNode (ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public virtual SpriteKit.SKNode GetNode (ARSKView view, ARAnchor anchor);
	public virtual void InterruptionEnded (ARSession session);
	public virtual bool ShouldAttemptRelocalization (ARSession session);
	public virtual bool ShouldRender (SpriteKit.SKView view, double time);
	public virtual void WasInterrupted (ARSession session);
	public virtual void WillUpdateNode (ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
}

New Type: ARKit.ARSKViewDelegate_Extensions

public static class ARSKViewDelegate_Extensions {
	// methods
	public static void DidAddNode (this IARSKViewDelegate This, ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public static void DidRemoveNode (this IARSKViewDelegate This, ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public static void DidUpdateNode (this IARSKViewDelegate This, ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
	public static SpriteKit.SKNode GetNode (this IARSKViewDelegate This, ARSKView view, ARAnchor anchor);
	public static void WillUpdateNode (this IARSKViewDelegate This, ARSKView view, SpriteKit.SKNode node, ARAnchor anchor);
}

New Type: ARKit.ARSceneReconstruction

[Serializable]
public enum ARSceneReconstruction {
	Mesh = 1,
	MeshWithClassification = 3,
	None = 0,
}

New Type: ARKit.ARSegmentationClass

[Serializable]
public enum ARSegmentationClass {
	None = 0,
	Person = 255,
}

New Type: ARKit.ARSession

public class ARSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSession ();
	protected ARSession (Foundation.NSObjectFlag t);
	protected ARSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARConfiguration Configuration { get; }
	public virtual ARFrame CurrentFrame { get; }
	public virtual IARSessionDelegate Delegate { get; set; }
	public virtual CoreFoundation.DispatchQueue DelegateQueue { get; set; }
	public virtual Foundation.NSUuid Identifier { get; }
	// methods
	public virtual void AddAnchor (ARAnchor anchor);
	public virtual void CreateReferenceObject (OpenTK.NMatrix4 transform, OpenTK.NVector3 center, OpenTK.NVector3 extent, System.Action<ARReferenceObject,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<ARReferenceObject> CreateReferenceObjectAsync (OpenTK.NMatrix4 transform, OpenTK.NVector3 center, OpenTK.NVector3 extent);
	protected override void Dispose (bool disposing);
	public virtual void GetCurrentWorldMap (System.Action<ARWorldMap,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<ARWorldMap> GetCurrentWorldMapAsync ();
	public virtual void GetGeoLocation (OpenTK.NVector3 position, GetGeolocationCallback completionHandler);
	public virtual System.Threading.Tasks.Task<GeoLocationForPoint> GetGeoLocationAsync (OpenTK.NVector3 position);
	public virtual void Pause ();
	public virtual ARRaycastResult[] Raycast (ARRaycastQuery query);
	public virtual void RemoveAnchor (ARAnchor anchor);
	public virtual void Run (ARConfiguration configuration);
	public virtual void Run (ARConfiguration configuration, ARSessionRunOptions options);
	public virtual void SetWorldOrigin (OpenTK.NMatrix4 relativeTransform);
	public virtual ARTrackedRaycast TrackedRaycast (ARRaycastQuery query, System.Action<ARRaycastResult[]> updateHandler);
	public virtual System.Threading.Tasks.Task<ARRaycastResult[]> TrackedRaycastAsync (ARRaycastQuery query);
	public virtual System.Threading.Tasks.Task<ARRaycastResult[]> TrackedRaycastAsync (ARRaycastQuery query, out ARTrackedRaycast result);
	public virtual void Update (ARCollaborationData collaborationData);
}

New Type: ARKit.ARSessionDelegate

public class ARSessionDelegate : Foundation.NSObject, IARSessionDelegate, IARSessionObserver, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARSessionDelegate ();
	protected ARSessionDelegate (Foundation.NSObjectFlag t);
	protected ARSessionDelegate (IntPtr handle);
	// methods
	public virtual void CameraDidChangeTrackingState (ARSession session, ARCamera camera);
	public virtual void DidAddAnchors (ARSession session, ARAnchor[] anchors);
	public virtual void DidChangeGeoTrackingStatus (ARSession session, ARGeoTrackingStatus geoTrackingStatus);
	public virtual void DidFail (ARSession session, Foundation.NSError error);
	public virtual void DidOutputAudioSampleBuffer (ARSession session, CoreMedia.CMSampleBuffer audioSampleBuffer);
	public virtual void DidOutputCollaborationData (ARSession session, ARCollaborationData data);
	public virtual void DidRemoveAnchors (ARSession session, ARAnchor[] anchors);
	public virtual void DidUpdateAnchors (ARSession session, ARAnchor[] anchors);
	public virtual void DidUpdateFrame (ARSession session, ARFrame frame);
	public virtual void InterruptionEnded (ARSession session);
	public virtual bool ShouldAttemptRelocalization (ARSession session);
	public virtual void WasInterrupted (ARSession session);
}

New Type: ARKit.ARSessionDelegate_Extensions

public static class ARSessionDelegate_Extensions {
	// methods
	public static void DidAddAnchors (this IARSessionDelegate This, ARSession session, ARAnchor[] anchors);
	public static void DidRemoveAnchors (this IARSessionDelegate This, ARSession session, ARAnchor[] anchors);
	public static void DidUpdateAnchors (this IARSessionDelegate This, ARSession session, ARAnchor[] anchors);
	public static void DidUpdateFrame (this IARSessionDelegate This, ARSession session, ARFrame frame);
}

New Type: ARKit.ARSessionObserver_Extensions

public static class ARSessionObserver_Extensions {
	// methods
	public static void CameraDidChangeTrackingState (this IARSessionObserver This, ARSession session, ARCamera camera);
	public static void DidChangeGeoTrackingStatus (this IARSessionObserver This, ARSession session, ARGeoTrackingStatus geoTrackingStatus);
	public static void DidFail (this IARSessionObserver This, ARSession session, Foundation.NSError error);
	public static void DidOutputAudioSampleBuffer (this IARSessionObserver This, ARSession session, CoreMedia.CMSampleBuffer audioSampleBuffer);
	public static void DidOutputCollaborationData (this IARSessionObserver This, ARSession session, ARCollaborationData data);
	public static void InterruptionEnded (this IARSessionObserver This, ARSession session);
	public static bool ShouldAttemptRelocalization (this IARSessionObserver This, ARSession session);
	public static void WasInterrupted (this IARSessionObserver This, ARSession session);
}

New Type: ARKit.ARSessionRunOptions

[Serializable]
public enum ARSessionRunOptions {
	None = 0,
	RemoveExistingAnchors = 2,
	ResetSceneReconstruction = 8,
	ResetTracking = 1,
	StopTrackedRaycasts = 4,
}

New Type: ARKit.ARSkeleton

public class ARSkeleton : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARSkeleton (Foundation.NSObjectFlag t);
	protected ARSkeleton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ARSkeletonDefinition Definition { get; }
	public virtual nuint JointCount { get; }
	// methods
	public static Foundation.NSString CreateJointName (Foundation.NSString recognizedPointKey);
	public virtual bool IsJointTracked (nint jointIndex);
}

New Type: ARKit.ARSkeleton2D

public class ARSkeleton2D : ARKit.ARSkeleton, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARSkeleton2D (Foundation.NSObjectFlag t);
	protected ARSkeleton2D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public OpenTK.Vector2[] JointLandmarks { get; }
	protected virtual IntPtr RawJointLandmarks { get; }
	// methods
	public virtual OpenTK.Vector2 GetLandmarkPoint (ARSkeletonJointName jointName);
	public virtual OpenTK.Vector2 GetLandmarkPoint (Foundation.NSString jointName);
}

New Type: ARKit.ARSkeleton3D

public class ARSkeleton3D : ARKit.ARSkeleton, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARSkeleton3D (Foundation.NSObjectFlag t);
	protected ARSkeleton3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public OpenTK.NMatrix4[] JointLocalTransforms { get; }
	public OpenTK.NMatrix4[] JointModelTransforms { get; }
	protected virtual IntPtr RawJointLocalTransforms { get; }
	protected virtual IntPtr RawJointModelTransforms { get; }
	// methods
	public virtual OpenTK.NMatrix4 GetLocalTransform (ARSkeletonJointName jointName);
	public virtual OpenTK.NMatrix4 GetLocalTransform (Foundation.NSString jointName);
	public virtual OpenTK.NMatrix4 GetModelTransform (ARSkeletonJointName jointName);
	public virtual OpenTK.NMatrix4 GetModelTransform (Foundation.NSString jointName);
}

New Type: ARKit.ARSkeletonDefinition

public class ARSkeletonDefinition : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARSkeletonDefinition (Foundation.NSObjectFlag t);
	protected ARSkeletonDefinition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static ARSkeletonDefinition DefaultBody2DSkeletonDefinition { get; }
	public static ARSkeletonDefinition DefaultBody3DSkeletonDefinition { get; }
	public virtual nuint JointCount { get; }
	public virtual string[] JointNames { get; }
	public virtual ARSkeleton3D NeutralBodySkeleton3D { get; }
	public virtual Foundation.NSNumber[] ParentIndices { get; }
	// methods
	public nuint GetJointIndex (ARSkeletonJointName jointName);
	public virtual nuint GetJointIndex (Foundation.NSString jointName);
}

New Type: ARKit.ARSkeletonJointName

[Serializable]
public enum ARSkeletonJointName {
	Head = 1,
	LeftFoot = 4,
	LeftHand = 2,
	LeftShoulder = 6,
	RightFoot = 5,
	RightHand = 3,
	RightShoulder = 7,
	Root = 0,
}

New Type: ARKit.ARSkeletonJointNameExtensions

public static class ARSkeletonJointNameExtensions {
	// methods
	public static Foundation.NSString GetConstant (this ARSkeletonJointName self);
	public static ARSkeletonJointName GetValue (Foundation.NSString constant);
}

New Type: ARKit.ARTrackedRaycast

public class ARTrackedRaycast : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARTrackedRaycast (Foundation.NSObjectFlag t);
	protected ARTrackedRaycast (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void StopTracking ();
}

New Type: ARKit.ARTrackingState

[Serializable]
public enum ARTrackingState {
	Limited = 1,
	Normal = 2,
	NotAvailable = 0,
}

New Type: ARKit.ARTrackingStateReason

[Serializable]
public enum ARTrackingStateReason {
	ExcessiveMotion = 2,
	Initializing = 1,
	InsufficientFeatures = 3,
	None = 0,
	Relocalizing = 4,
}

New Type: ARKit.ARVideoFormat

public class ARVideoFormat : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ARVideoFormat (Foundation.NSObjectFlag t);
	protected ARVideoFormat (IntPtr handle);
	// properties
	public virtual AVFoundation.AVCaptureDevicePosition CaptureDevicePosition { get; }
	public virtual Foundation.NSString CaptureDeviceType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint FramesPerSecond { get; }
	public virtual CoreGraphics.CGSize ImageResolution { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: ARKit.ARWorldAlignment

[Serializable]
public enum ARWorldAlignment {
	Camera = 2,
	Gravity = 0,
	GravityAndHeading = 1,
}

New Type: ARKit.ARWorldMap

public class ARWorldMap : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARWorldMap (Foundation.NSCoder coder);
	protected ARWorldMap (Foundation.NSObjectFlag t);
	protected ARWorldMap (IntPtr handle);
	// properties
	public virtual ARAnchor[] Anchors { get; set; }
	public virtual OpenTK.NVector3 Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NVector3 Extent { get; }
	public virtual ARPointCloud RawFeaturePoints { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: ARKit.ARWorldMappingStatus

[Serializable]
public enum ARWorldMappingStatus {
	Extending = 2,
	Limited = 1,
	Mapped = 3,
	NotAvailable = 0,
}

New Type: ARKit.ARWorldTrackingConfiguration

public class ARWorldTrackingConfiguration : ARKit.ARConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ARWorldTrackingConfiguration ();
	protected ARWorldTrackingConfiguration (Foundation.NSObjectFlag t);
	protected ARWorldTrackingConfiguration (IntPtr handle);
	// properties
	public virtual bool AppClipCodeTrackingEnabled { get; set; }
	public virtual bool AutoFocusEnabled { get; set; }
	public virtual bool AutomaticImageScaleEstimationEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual bool CollaborationEnabled { get; set; }
	public virtual Foundation.NSSet<ARReferenceImage> DetectionImages { get; set; }
	public virtual Foundation.NSSet<ARReferenceObject> DetectionObjects { get; set; }
	public virtual AREnvironmentTexturing EnvironmentTexturing { get; set; }
	public virtual ARWorldMap InitialWorldMap { get; set; }
	public virtual nint MaximumNumberOfTrackedImages { get; set; }
	public virtual ARPlaneDetection PlaneDetection { get; set; }
	public virtual ARSceneReconstruction SceneReconstruction { get; set; }
	public static bool SupportsAppClipCodeTracking { get; }
	public static bool SupportsUserFaceTracking { get; }
	public virtual bool UserFaceTrackingEnabled { get; set; }
	public virtual bool WantsHdrEnvironmentTextures { get; set; }
	// methods
	public static ARVideoFormat[] GetSupportedVideoFormats ();
	public static bool SupportsFrameSemantics (ARFrameSemantics frameSemantics);
	public static bool SupportsSceneReconstruction (ARSceneReconstruction sceneReconstruction);
}

New Type: ARKit.GeoLocationForPoint

public class GeoLocationForPoint {
	// constructors
	public GeoLocationForPoint (CoreLocation.CLLocationCoordinate2D coordinate, double altitude);
	// properties
	public double Altitude { get; set; }
	public CoreLocation.CLLocationCoordinate2D Coordinate { get; set; }
}

New Type: ARKit.GetGeolocationCallback

public sealed delegate GetGeolocationCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public GetGeolocationCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CoreLocation.CLLocationCoordinate2D coordinate, double altitude, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CoreLocation.CLLocationCoordinate2D coordinate, double altitude, Foundation.NSError error);
}

New Type: ARKit.IARAnchorCopying

public interface IARAnchorCopying : Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: ARKit.IARCoachingOverlayViewDelegate

public interface IARCoachingOverlayViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: ARKit.IARSCNViewDelegate

public interface IARSCNViewDelegate : IARSessionObserver, ObjCRuntime.INativeObject, SceneKit.ISCNSceneRendererDelegate, System.IDisposable {
}

New Type: ARKit.IARSKViewDelegate

public interface IARSKViewDelegate : IARSessionObserver, ObjCRuntime.INativeObject, SpriteKit.ISKViewDelegate, System.IDisposable {
}

New Type: ARKit.IARSessionDelegate

public interface IARSessionDelegate : IARSessionObserver, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: ARKit.IARSessionObserver

public interface IARSessionObserver : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: ARKit.IARSessionProviding

public interface IARSessionProviding : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual ARSession Session { get; }
}

New Type: ARKit.IARTrackable

public interface IARTrackable : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool IsTracked { get; }
}

New Namespace AVFoundation

New Type: AVFoundation.AVCaptureDeviceTransportControlsPlaybackMode

[Serializable]
public enum AVCaptureDeviceTransportControlsPlaybackMode {
	NotPlaying = 0,
	Playing = 1,
}

New Type: AVFoundation.AVVideoFieldMode

[Serializable]
public enum AVVideoFieldMode {
	Both = 0,
	BottomOnly = 2,
	Deinterlace = 3,
	TopOnly = 1,
}

New Namespace AddressBookUI

New Type: AddressBookUI.ABAddressFormatting

public static class ABAddressFormatting {
	// methods
	public static string ToString (Foundation.NSDictionary address, bool addCountryName);
}

New Type: AddressBookUI.ABNewPersonCompleteEventArgs

public class ABNewPersonCompleteEventArgs : System.EventArgs {
	// constructors
	public ABNewPersonCompleteEventArgs (AddressBook.ABPerson person);
	// properties
	public bool Completed { get; }
	public AddressBook.ABPerson Person { get; }
}

New Type: AddressBookUI.ABNewPersonViewController

public class ABNewPersonViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ABNewPersonViewController ();
	public ABNewPersonViewController (Foundation.NSCoder coder);
	protected ABNewPersonViewController (Foundation.NSObjectFlag t);
	protected ABNewPersonViewController (IntPtr handle);
	public ABNewPersonViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public AddressBook.ABAddressBook AddressBook { get; set; }
	public override IntPtr ClassHandle { get; }
	public IABNewPersonViewControllerDelegate Delegate { get; set; }
	public AddressBook.ABPerson DisplayedPerson { get; set; }
	public AddressBook.ABGroup ParentGroup { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<ABNewPersonCompleteEventArgs> NewPersonComplete;
	// methods
	protected override void Dispose (bool disposing);
	protected virtual void OnNewPersonComplete (ABNewPersonCompleteEventArgs e);
}

New Type: AddressBookUI.ABNewPersonViewControllerDelegate

public abstract class ABNewPersonViewControllerDelegate : Foundation.NSObject, IABNewPersonViewControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ABNewPersonViewControllerDelegate ();
	protected ABNewPersonViewControllerDelegate (Foundation.NSObjectFlag t);
	protected ABNewPersonViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidCompleteWithNewPerson (ABNewPersonViewController controller, AddressBook.ABPerson person);
}

New Type: AddressBookUI.ABPeoplePickerNavigationController

public class ABPeoplePickerNavigationController : UIKit.UINavigationController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ABPeoplePickerNavigationController ();
	public ABPeoplePickerNavigationController (Foundation.NSCoder coder);
	protected ABPeoplePickerNavigationController (Foundation.NSObjectFlag t);
	protected ABPeoplePickerNavigationController (IntPtr handle);
	public ABPeoplePickerNavigationController (UIKit.UIViewController rootViewController);
	public ABPeoplePickerNavigationController (string nibName, Foundation.NSBundle bundle);
	// properties
	public AddressBook.ABAddressBook AddressBook { get; set; }
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public IABPeoplePickerNavigationControllerDelegate Delegate { get; set; }
	public DisplayedPropertiesCollection DisplayedProperties { get; }
	public virtual Foundation.NSPredicate PredicateForEnablingPerson { get; set; }
	public virtual Foundation.NSPredicate PredicateForSelectionOfPerson { get; set; }
	public virtual Foundation.NSPredicate PredicateForSelectionOfProperty { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler Cancelled;
	public event System.EventHandler<ABPeoplePickerPerformActionEventArgs> PerformAction;
	public event System.EventHandler<ABPeoplePickerPerformAction2EventArgs> PerformAction2;
	public event System.EventHandler<ABPeoplePickerSelectPersonEventArgs> SelectPerson;
	public event System.EventHandler<ABPeoplePickerSelectPerson2EventArgs> SelectPerson2;
	// methods
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance GetAppearance<T> ();
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	protected virtual void OnCancelled (System.EventArgs e);
	protected virtual void OnPerformAction (ABPeoplePickerPerformActionEventArgs e);
	protected virtual void OnPerformAction2 (ABPeoplePickerPerformAction2EventArgs e);
	protected virtual void OnSelectPerson (ABPeoplePickerSelectPersonEventArgs e);
	protected virtual void OnSelectPerson2 (ABPeoplePickerSelectPerson2EventArgs e);

	// inner types
	public class ABPeoplePickerNavigationControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected ABPeoplePickerNavigationController.ABPeoplePickerNavigationControllerAppearance (IntPtr handle);
	}
}

New Type: AddressBookUI.ABPeoplePickerNavigationControllerDelegate

public class ABPeoplePickerNavigationControllerDelegate : UIKit.UINavigationControllerDelegate, IABPeoplePickerNavigationControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUINavigationControllerDelegate {
	// constructors
	public ABPeoplePickerNavigationControllerDelegate ();
	protected ABPeoplePickerNavigationControllerDelegate (Foundation.NSObjectFlag t);
	protected ABPeoplePickerNavigationControllerDelegate (IntPtr handle);
	// methods
	public virtual void Cancelled (ABPeoplePickerNavigationController peoplePicker);
	public virtual void DidSelectPerson (ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson);
	public virtual void DidSelectPerson (ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson, int propertyId, int identifier);
	public virtual bool ShouldContinue (ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson);
	public virtual bool ShouldContinue (ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson, int propertyId, int identifier);
}

New Type: AddressBookUI.ABPeoplePickerNavigationControllerDelegate_Extensions

public static class ABPeoplePickerNavigationControllerDelegate_Extensions {
	// methods
	public static void Cancelled (this IABPeoplePickerNavigationControllerDelegate This, ABPeoplePickerNavigationController peoplePicker);
	public static void DidSelectPerson (this IABPeoplePickerNavigationControllerDelegate This, ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson);
	public static void DidSelectPerson (this IABPeoplePickerNavigationControllerDelegate This, ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson, int propertyId, int identifier);
	public static bool ShouldContinue (this IABPeoplePickerNavigationControllerDelegate This, ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson);
	public static bool ShouldContinue (this IABPeoplePickerNavigationControllerDelegate This, ABPeoplePickerNavigationController peoplePicker, AddressBook.ABPerson selectedPerson, int propertyId, int identifier);
}

New Type: AddressBookUI.ABPeoplePickerPerformAction2EventArgs

public class ABPeoplePickerPerformAction2EventArgs : AddressBookUI.ABPeoplePickerSelectPerson2EventArgs {
	// constructors
	public ABPeoplePickerPerformAction2EventArgs (AddressBook.ABPerson person, AddressBook.ABPersonProperty property, int? identifier);
	// properties
	public int? Identifier { get; }
	public AddressBook.ABPersonProperty Property { get; }
}

New Type: AddressBookUI.ABPeoplePickerPerformActionEventArgs

public class ABPeoplePickerPerformActionEventArgs : AddressBookUI.ABPeoplePickerSelectPersonEventArgs {
	// constructors
	public ABPeoplePickerPerformActionEventArgs (AddressBook.ABPerson person, AddressBook.ABPersonProperty property, int? identifier);
	// properties
	public int? Identifier { get; }
	public AddressBook.ABPersonProperty Property { get; }
}

New Type: AddressBookUI.ABPeoplePickerSelectPerson2EventArgs

public class ABPeoplePickerSelectPerson2EventArgs : System.EventArgs {
	// constructors
	public ABPeoplePickerSelectPerson2EventArgs (AddressBook.ABPerson person);
	// properties
	public AddressBook.ABPerson Person { get; }
}

New Type: AddressBookUI.ABPeoplePickerSelectPersonEventArgs

public class ABPeoplePickerSelectPersonEventArgs : System.EventArgs {
	// constructors
	public ABPeoplePickerSelectPersonEventArgs (AddressBook.ABPerson person);
	// properties
	public bool Continue { get; set; }
	public AddressBook.ABPerson Person { get; }
}

New Type: AddressBookUI.ABPersonPredicateKey

public static class ABPersonPredicateKey {
	// properties
	public static Foundation.NSString Birthday { get; }
	public static Foundation.NSString Dates { get; }
	public static Foundation.NSString DepartmentName { get; }
	public static Foundation.NSString EmailAddresses { get; }
	public static Foundation.NSString FamilyName { get; }
	public static Foundation.NSString GivenName { get; }
	public static Foundation.NSString InstantMessageAddresses { get; }
	public static Foundation.NSString JobTitle { get; }
	public static Foundation.NSString MiddleName { get; }
	public static Foundation.NSString NamePrefix { get; }
	public static Foundation.NSString NameSuffix { get; }
	public static Foundation.NSString Nickname { get; }
	public static Foundation.NSString Note { get; }
	public static Foundation.NSString OrganizationName { get; }
	public static Foundation.NSString PhoneNumbers { get; }
	public static Foundation.NSString PhoneticFamilyName { get; }
	public static Foundation.NSString PhoneticGivenName { get; }
	public static Foundation.NSString PhoneticMiddleName { get; }
	public static Foundation.NSString PostalAddresses { get; }
	public static Foundation.NSString PreviousFamilyName { get; }
	public static Foundation.NSString RelatedNames { get; }
	public static Foundation.NSString SocialProfiles { get; }
	public static Foundation.NSString UrlAddresses { get; }
}

New Type: AddressBookUI.ABPersonViewController

public class ABPersonViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring, UIKit.IUIViewControllerRestoration {
	// constructors
	public ABPersonViewController ();
	public ABPersonViewController (Foundation.NSCoder coder);
	protected ABPersonViewController (Foundation.NSObjectFlag t);
	protected ABPersonViewController (IntPtr handle);
	public ABPersonViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public AddressBook.ABAddressBook AddressBook { get; set; }
	public virtual bool AllowsActions { get; set; }
	public virtual bool AllowsEditing { get; set; }
	public override IntPtr ClassHandle { get; }
	public IABPersonViewControllerDelegate Delegate { get; set; }
	public AddressBook.ABPerson DisplayedPerson { get; set; }
	public DisplayedPropertiesCollection DisplayedProperties { get; }
	public virtual bool ShouldShowLinkedPeople { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<ABPersonViewPerformDefaultActionEventArgs> PerformDefaultAction;
	// methods
	protected override void Dispose (bool disposing);
	protected virtual void OnPerformDefaultAction (ABPersonViewPerformDefaultActionEventArgs e);
	public void SetHighlightedItemForProperty (AddressBook.ABPersonProperty property, int? identifier);
	public void SetHighlightedProperty (AddressBook.ABPersonProperty property);
}

New Type: AddressBookUI.ABPersonViewControllerDelegate

public abstract class ABPersonViewControllerDelegate : Foundation.NSObject, IABPersonViewControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ABPersonViewControllerDelegate ();
	protected ABPersonViewControllerDelegate (Foundation.NSObjectFlag t);
	protected ABPersonViewControllerDelegate (IntPtr handle);
	// methods
	public virtual bool ShouldPerformDefaultActionForPerson (ABPersonViewController personViewController, AddressBook.ABPerson person, int propertyId, int identifier);
}

New Type: AddressBookUI.ABPersonViewPerformDefaultActionEventArgs

public class ABPersonViewPerformDefaultActionEventArgs : System.EventArgs {
	// constructors
	public ABPersonViewPerformDefaultActionEventArgs (AddressBook.ABPerson person, AddressBook.ABPersonProperty property, int? identifier);
	// properties
	public int? Identifier { get; }
	public AddressBook.ABPerson Person { get; }
	public AddressBook.ABPersonProperty Property { get; }
	public bool ShouldPerformDefaultAction { get; set; }
}

New Type: AddressBookUI.ABUnknownPersonCreatedEventArgs

public class ABUnknownPersonCreatedEventArgs : System.EventArgs {
	// constructors
	public ABUnknownPersonCreatedEventArgs (AddressBook.ABPerson person);
	// properties
	public AddressBook.ABPerson Person { get; }
}

New Type: AddressBookUI.ABUnknownPersonViewController

public class ABUnknownPersonViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ABUnknownPersonViewController ();
	public ABUnknownPersonViewController (Foundation.NSCoder coder);
	protected ABUnknownPersonViewController (Foundation.NSObjectFlag t);
	protected ABUnknownPersonViewController (IntPtr handle);
	public ABUnknownPersonViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public AddressBook.ABAddressBook AddressBook { get; set; }
	public virtual bool AllowsActions { get; set; }
	public virtual bool AllowsAddingToAddressBook { get; set; }
	public virtual string AlternateName { get; set; }
	public override IntPtr ClassHandle { get; }
	public IABUnknownPersonViewControllerDelegate Delegate { get; set; }
	public AddressBook.ABPerson DisplayedPerson { get; set; }
	public virtual string Message { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<ABPersonViewPerformDefaultActionEventArgs> PerformDefaultAction;
	public event System.EventHandler<ABUnknownPersonCreatedEventArgs> PersonCreated;
	// methods
	protected override void Dispose (bool disposing);
	protected virtual void OnPerformDefaultAction (ABPersonViewPerformDefaultActionEventArgs e);
	protected virtual void OnPersonCreated (ABUnknownPersonCreatedEventArgs e);
}

New Type: AddressBookUI.ABUnknownPersonViewControllerDelegate

public abstract class ABUnknownPersonViewControllerDelegate : Foundation.NSObject, IABUnknownPersonViewControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ABUnknownPersonViewControllerDelegate ();
	protected ABUnknownPersonViewControllerDelegate (Foundation.NSObjectFlag t);
	protected ABUnknownPersonViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidResolveToPerson (ABUnknownPersonViewController unknownPersonView, AddressBook.ABPerson person);
	public virtual bool ShouldPerformDefaultActionForPerson (ABUnknownPersonViewController personViewController, AddressBook.ABPerson person, int propertyId, int identifier);
}

New Type: AddressBookUI.ABUnknownPersonViewControllerDelegate_Extensions

public static class ABUnknownPersonViewControllerDelegate_Extensions {
	// methods
	public static bool ShouldPerformDefaultActionForPerson (this IABUnknownPersonViewControllerDelegate This, ABUnknownPersonViewController personViewController, AddressBook.ABPerson person, int propertyId, int identifier);
}

New Type: AddressBookUI.DisplayedPropertiesCollection

public class DisplayedPropertiesCollection : System.Collections.Generic.ICollection<AddressBook.ABPersonProperty>, System.Collections.Generic.IEnumerable<AddressBook.ABPersonProperty>, System.Collections.IEnumerable {
	// properties
	public virtual int Count { get; }
	// methods
	public virtual void Add (AddressBook.ABPersonProperty item);
	public virtual void Clear ();
	public virtual bool Contains (AddressBook.ABPersonProperty item);
	public virtual void CopyTo (AddressBook.ABPersonProperty[] array, int arrayIndex);
	public virtual System.Collections.Generic.IEnumerator<AddressBook.ABPersonProperty> GetEnumerator ();
	public virtual bool Remove (AddressBook.ABPersonProperty item);
}

New Type: AddressBookUI.IABNewPersonViewControllerDelegate

public interface IABNewPersonViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidCompleteWithNewPerson (ABNewPersonViewController controller, AddressBook.ABPerson person);
}

New Type: AddressBookUI.IABPeoplePickerNavigationControllerDelegate

public interface IABPeoplePickerNavigationControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUINavigationControllerDelegate {
}

New Type: AddressBookUI.IABPersonViewControllerDelegate

public interface IABPersonViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual bool ShouldPerformDefaultActionForPerson (ABPersonViewController personViewController, AddressBook.ABPerson person, int propertyId, int identifier);
}

New Type: AddressBookUI.IABUnknownPersonViewControllerDelegate

public interface IABUnknownPersonViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidResolveToPerson (ABUnknownPersonViewController unknownPersonView, AddressBook.ABPerson person);
}

New Namespace AppClip

New Type: AppClip.APActivationPayload

public class APActivationPayload : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public APActivationPayload (Foundation.NSCoder coder);
	protected APActivationPayload (Foundation.NSObjectFlag t);
	protected APActivationPayload (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl Url { get; }
	// methods
	public virtual void ConfirmAcquired (CoreLocation.CLRegion region, System.Action<System.Boolean,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> ConfirmAcquiredAsync (CoreLocation.CLRegion region);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AppClip.APActivationPayloadErrorCode

[Serializable]
public enum APActivationPayloadErrorCode {
	Disallowed = 1,
	DoesNotMatch = 2,
}

New Type: AppClip.APActivationPayloadErrorCodeExtensions

public static class APActivationPayloadErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this APActivationPayloadErrorCode self);
}

New Namespace AssetsLibrary

New Type: AssetsLibrary.ALAsset

public class ALAsset : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ALAsset ();
	protected ALAsset (Foundation.NSObjectFlag t);
	protected ALAsset (IntPtr handle);
	// properties
	public ALAssetType AssetType { get; }
	public Foundation.NSUrl AssetUrl { get; }
	public override IntPtr ClassHandle { get; }
	public Foundation.NSDate Date { get; }
	public virtual ALAssetRepresentation DefaultRepresentation { get; }
	public double Duration { get; }
	public virtual bool Editable { get; }
	public CoreLocation.CLLocation Location { get; }
	public ALAssetOrientation Orientation { get; }
	public virtual ALAsset OriginalAsset { get; }
	public string[] Representations { get; }
	public virtual CoreGraphics.CGImage Thumbnail { get; }
	public Foundation.NSDictionary UtiToUrlDictionary { get; }
	// methods
	public virtual CoreGraphics.CGImage AspectRatioThumbnail ();
	public virtual ALAssetRepresentation RepresentationForUti (string uti);
	public virtual void SetImageData (Foundation.NSData imageData, Foundation.NSDictionary metadata, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> SetImageDataAsync (Foundation.NSData imageData, Foundation.NSDictionary metadata);
	public virtual void SetVideoAtPath (Foundation.NSUrl videoPathURL, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> SetVideoAtPathAsync (Foundation.NSUrl videoPathURL);
	public virtual Foundation.NSObject ValueForProperty (Foundation.NSString property);
	public virtual void WriteModifiedImageToSavedToPhotosAlbum (Foundation.NSData imageData, Foundation.NSDictionary metadata, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteModifiedImageToSavedToPhotosAlbumAsync (Foundation.NSData imageData, Foundation.NSDictionary metadata);
	public virtual void WriteModifiedVideoToSavedPhotosAlbum (Foundation.NSUrl videoPathURL, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteModifiedVideoToSavedPhotosAlbumAsync (Foundation.NSUrl videoPathURL);
}

New Type: AssetsLibrary.ALAssetLibraryChangedEventArgs

public class ALAssetLibraryChangedEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public ALAssetLibraryChangedEventArgs (Foundation.NSNotification notification);
	// properties
	public Foundation.NSSet DeletedAssetGroupsKey { get; }
	public Foundation.NSSet InsertedAssetGroups { get; }
	public Foundation.NSSet UpdatedAssetGroups { get; }
	public Foundation.NSSet UpdatedAssets { get; }
}

New Type: AssetsLibrary.ALAssetOrientation

[Serializable]
public enum ALAssetOrientation {
	Down = 1,
	DownMirrored = 5,
	Left = 2,
	LeftMirrored = 6,
	Right = 3,
	RightMirrored = 7,
	Up = 0,
	UpMirrored = 4,
}

New Type: AssetsLibrary.ALAssetRepresentation

public class ALAssetRepresentation : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ALAssetRepresentation ();
	protected ALAssetRepresentation (Foundation.NSObjectFlag t);
	protected ALAssetRepresentation (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGSize Dimensions { get; }
	public virtual string Filename { get; }
	public virtual Foundation.NSDictionary Metadata { get; }
	public virtual ALAssetOrientation Orientation { get; }
	public virtual float Scale { get; }
	public virtual long Size { get; }
	public virtual Foundation.NSUrl Url { get; }
	public virtual string Uti { get; }
	// methods
	public virtual nuint GetBytes (IntPtr buffer, long offset, nuint length, out Foundation.NSError error);
	public virtual CoreGraphics.CGImage GetFullScreenImage ();
	public virtual CoreGraphics.CGImage GetImage ();
	public virtual CoreGraphics.CGImage GetImage (Foundation.NSDictionary options);
}

New Type: AssetsLibrary.ALAssetType

[Serializable]
public enum ALAssetType {
	Photo = 1,
	Unknown = 2,
	Video = 0,
}

New Type: AssetsLibrary.ALAssetsEnumerator

public sealed delegate ALAssetsEnumerator : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ALAssetsEnumerator (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ALAsset result, nint index, ref bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (ref bool stop, System.IAsyncResult result);
	public virtual void Invoke (ALAsset result, nint index, ref bool stop);
}

New Type: AssetsLibrary.ALAssetsError

[Serializable]
public enum ALAssetsError {
	AccessGloballyDeniedError = -3312,
	AccessUserDeniedError = -3311,
	DataUnavailableError = -3310,
	UnknownError = -1,
	WriteBusyError = -3301,
	WriteDataEncodingError = -3304,
	WriteDiskSpaceError = -3305,
	WriteFailedError = -3300,
	WriteIncompatibleDataError = -3303,
	WriteInvalidDataError = -3302,
}

New Type: AssetsLibrary.ALAssetsErrorExtensions

public static class ALAssetsErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this ALAssetsError self);
}

New Type: AssetsLibrary.ALAssetsFilter

public class ALAssetsFilter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ALAssetsFilter ();
	protected ALAssetsFilter (Foundation.NSObjectFlag t);
	protected ALAssetsFilter (IntPtr handle);
	// properties
	public static ALAssetsFilter AllAssets { get; }
	public static ALAssetsFilter AllPhotos { get; }
	public static ALAssetsFilter AllVideos { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: AssetsLibrary.ALAssetsGroup

public class ALAssetsGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ALAssetsGroup ();
	protected ALAssetsGroup (Foundation.NSObjectFlag t);
	protected ALAssetsGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint Count { get; }
	public virtual bool Editable { get; }
	public Foundation.NSString Name { get; }
	public string PersistentID { get; }
	public virtual CoreGraphics.CGImage PosterImage { get; }
	public Foundation.NSUrl PropertyUrl { get; }
	public ALAssetsGroupType Type { get; }
	// methods
	public virtual bool AddAsset (ALAsset asset);
	public virtual void Enumerate (ALAssetsEnumerator result);
	public virtual void Enumerate (Foundation.NSEnumerationOptions options, ALAssetsEnumerator result);
	public virtual void Enumerate (Foundation.NSIndexSet indexSet, Foundation.NSEnumerationOptions options, ALAssetsEnumerator result);
	public virtual void SetAssetsFilter (ALAssetsFilter filter);
}

New Type: AssetsLibrary.ALAssetsGroupType

[Serializable]
public enum ALAssetsGroupType {
	Album = 2,
	All = 4294967295,
	Event = 4,
	Faces = 8,
	GroupPhotoStream = 32,
	Library = 1,
	SavedPhotos = 16,
}

New Type: AssetsLibrary.ALAssetsLibrary

public class ALAssetsLibrary : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ALAssetsLibrary ();
	protected ALAssetsLibrary (Foundation.NSObjectFlag t);
	protected ALAssetsLibrary (IntPtr handle);
	// properties
	public static ALAuthorizationStatus AuthorizationStatus { get; }
	public static Foundation.NSString ChangedNotification { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString DeletedAssetGroupsKey { get; }
	public static Foundation.NSString InsertedAssetGroupsKey { get; }
	public static Foundation.NSString UpdatedAssetGroupsKey { get; }
	public static Foundation.NSString UpdatedAssetsKey { get; }
	// methods
	public virtual void AddAssetsGroupAlbum (string name, System.Action<ALAssetsGroup> resultBlock, System.Action<Foundation.NSError> failureBlock);
	public virtual void AssetForUrl (Foundation.NSUrl assetURL, System.Action<ALAsset> resultBlock, System.Action<Foundation.NSError> failureBlock);
	public static void DisableSharedPhotoStreamsSupport ();
	public virtual void Enumerate (ALAssetsGroupType types, ALAssetsLibraryGroupsEnumerationResultsDelegate enumerationBlock, System.Action<Foundation.NSError> failureBlock);
	public virtual void GroupForUrl (Foundation.NSUrl groupURL, System.Action<ALAssetsGroup> resultBlock, System.Action<Foundation.NSError> failureBlock);
	public virtual bool VideoAtPathIsIsCompatibleWithSavedPhotosAlbum (Foundation.NSUrl videoPathURL);
	public virtual void WriteImageToSavedPhotosAlbum (CoreGraphics.CGImage imageData, ALAssetOrientation orientation, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual void WriteImageToSavedPhotosAlbum (CoreGraphics.CGImage imageData, Foundation.NSDictionary metadata, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual void WriteImageToSavedPhotosAlbum (Foundation.NSData imageData, Foundation.NSDictionary metadata, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteImageToSavedPhotosAlbumAsync (CoreGraphics.CGImage imageData, ALAssetOrientation orientation);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteImageToSavedPhotosAlbumAsync (CoreGraphics.CGImage imageData, Foundation.NSDictionary metadata);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteImageToSavedPhotosAlbumAsync (Foundation.NSData imageData, Foundation.NSDictionary metadata);
	public virtual void WriteVideoToSavedPhotosAlbum (Foundation.NSUrl videoPathURL, System.Action<Foundation.NSUrl,Foundation.NSError> completionBlock);
	public virtual System.Threading.Tasks.Task<Foundation.NSUrl> WriteVideoToSavedPhotosAlbumAsync (Foundation.NSUrl videoPathURL);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveChanged (System.EventHandler<ALAssetLibraryChangedEventArgs> handler);
		public static Foundation.NSObject ObserveChanged (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveChanged (Foundation.NSObject objectToObserve, System.EventHandler<ALAssetLibraryChangedEventArgs> handler);
		public static Foundation.NSObject ObserveChanged (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: AssetsLibrary.ALAssetsLibraryGroupsEnumerationResultsDelegate

public sealed delegate ALAssetsLibraryGroupsEnumerationResultsDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ALAssetsLibraryGroupsEnumerationResultsDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ALAssetsGroup group, ref bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (ref bool stop, System.IAsyncResult result);
	public virtual void Invoke (ALAssetsGroup group, ref bool stop);
}

New Type: AssetsLibrary.ALAuthorizationStatus

[Serializable]
public enum ALAuthorizationStatus {
	Authorized = 3,
	Denied = 2,
	NotDetermined = 0,
	Restricted = 1,
}

New Namespace CarPlay

New Type: CarPlay.CPActionSheetTemplate

public class CPActionSheetTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPActionSheetTemplate (Foundation.NSCoder coder);
	protected CPActionSheetTemplate (Foundation.NSObjectFlag t);
	protected CPActionSheetTemplate (IntPtr handle);
	public CPActionSheetTemplate (string title, string message, CPAlertAction[] actions);
	// properties
	public virtual CPAlertAction[] Actions { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Message { get; }
	public virtual string Title { get; }
}

New Type: CarPlay.CPAlertAction

public class CPAlertAction : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPAlertAction (Foundation.NSCoder coder);
	protected CPAlertAction (Foundation.NSObjectFlag t);
	protected CPAlertAction (IntPtr handle);
	public CPAlertAction (string title, CPAlertActionStyle style, System.Action<CPAlertAction> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual System.Action<CPAlertAction> Handler { get; }
	public virtual CPAlertActionStyle Style { get; }
	public virtual string Title { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPAlertActionStyle

[Serializable]
public enum CPAlertActionStyle {
	Cancel = 1,
	Default = 0,
	Destructive = 2,
}

New Type: CarPlay.CPAlertTemplate

public class CPAlertTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPAlertTemplate (Foundation.NSCoder coder);
	protected CPAlertTemplate (Foundation.NSObjectFlag t);
	protected CPAlertTemplate (IntPtr handle);
	public CPAlertTemplate (string[] titleVariants, CPAlertAction[] actions);
	// properties
	public virtual CPAlertAction[] Actions { get; }
	public override IntPtr ClassHandle { get; }
	public static nuint MaximumActionCount { get; }
	public virtual string[] TitleVariants { get; }
}

New Type: CarPlay.CPApplicationDelegate

public abstract class CPApplicationDelegate : Foundation.NSObject, ICPApplicationDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIApplicationDelegate {
	// constructors
	protected CPApplicationDelegate ();
	protected CPApplicationDelegate (Foundation.NSObjectFlag t);
	protected CPApplicationDelegate (IntPtr handle);
	// properties
	public virtual UIKit.UIWindow Window { get; set; }
	// methods
	public virtual bool AccessibilityPerformMagicTap ();
	public virtual void ApplicationSignificantTimeChange (UIKit.UIApplication application);
	public virtual void ChangedStatusBarFrame (UIKit.UIApplication application, CoreGraphics.CGRect oldStatusBarFrame);
	public virtual bool ContinueUserActivity (UIKit.UIApplication application, Foundation.NSUserActivity userActivity, UIKit.UIApplicationRestorationHandler completionHandler);
	public virtual void DidChangeStatusBarOrientation (UIKit.UIApplication application, UIKit.UIInterfaceOrientation oldStatusBarOrientation);
	public virtual void DidConnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
	public virtual void DidDecodeRestorableState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual void DidDiscardSceneSessions (UIKit.UIApplication application, Foundation.NSSet<UIKit.UISceneSession> sceneSessions);
	public virtual void DidDisconnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
	public virtual void DidEnterBackground (UIKit.UIApplication application);
	public virtual void DidFailToContinueUserActivitiy (UIKit.UIApplication application, string userActivityType, Foundation.NSError error);
	public virtual void DidReceiveRemoteNotification (UIKit.UIApplication application, Foundation.NSDictionary userInfo, System.Action<UIKit.UIBackgroundFetchResult> completionHandler);
	public virtual void DidRegisterUserNotificationSettings (UIKit.UIApplication application, UIKit.UIUserNotificationSettings notificationSettings);
	public virtual void DidSelectManeuver (UIKit.UIApplication application, CPManeuver maneuver);
	public virtual void DidSelectNavigationAlert (UIKit.UIApplication application, CPNavigationAlert navigationAlert);
	public virtual void FailedToRegisterForRemoteNotifications (UIKit.UIApplication application, Foundation.NSError error);
	public virtual void FinishedLaunching (UIKit.UIApplication application);
	public virtual bool FinishedLaunching (UIKit.UIApplication application, Foundation.NSDictionary launchOptions);
	public virtual UIKit.UISceneConfiguration GetConfiguration (UIKit.UIApplication application, UIKit.UISceneSession connectingSceneSession, UIKit.UISceneConnectionOptions options);
	public virtual Foundation.NSObject GetHandlerForIntent (UIKit.UIApplication application, Intents.INIntent intent);
	public virtual UIKit.UIInterfaceOrientationMask GetSupportedInterfaceOrientations (UIKit.UIApplication application, UIKit.UIWindow forWindow);
	public virtual UIKit.UIViewController GetViewController (UIKit.UIApplication application, string[] restorationIdentifierComponents, Foundation.NSCoder coder);
	public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, System.Action completionHandler);
	public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, UIKit.UILocalNotification localNotification, System.Action completionHandler);
	public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, Foundation.NSDictionary remoteNotificationInfo, Foundation.NSDictionary responseInfo, System.Action completionHandler);
	public virtual void HandleAction (UIKit.UIApplication application, string actionIdentifier, UIKit.UILocalNotification localNotification, Foundation.NSDictionary responseInfo, System.Action completionHandler);
	public virtual void HandleEventsForBackgroundUrl (UIKit.UIApplication application, string sessionIdentifier, System.Action completionHandler);
	public virtual void HandleIntent (UIKit.UIApplication application, Intents.INIntent intent, System.Action<Intents.INIntentResponse> completionHandler);
	public virtual bool HandleOpenURL (UIKit.UIApplication application, Foundation.NSUrl url);
	public virtual void HandleWatchKitExtensionRequest (UIKit.UIApplication application, Foundation.NSDictionary userInfo, System.Action<Foundation.NSDictionary> reply);
	public virtual void OnActivated (UIKit.UIApplication application);
	public virtual void OnResignActivation (UIKit.UIApplication application);
	public virtual bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, Foundation.NSDictionary options);
	public bool OpenUrl (UIKit.UIApplication app, Foundation.NSUrl url, UIKit.UIApplicationOpenUrlOptions options);
	public virtual bool OpenUrl (UIKit.UIApplication application, Foundation.NSUrl url, string sourceApplication, Foundation.NSObject annotation);
	public virtual void PerformActionForShortcutItem (UIKit.UIApplication application, UIKit.UIApplicationShortcutItem shortcutItem, UIKit.UIOperationHandler completionHandler);
	public virtual void PerformFetch (UIKit.UIApplication application, System.Action<UIKit.UIBackgroundFetchResult> completionHandler);
	public virtual void ProtectedDataDidBecomeAvailable (UIKit.UIApplication application);
	public virtual void ProtectedDataWillBecomeUnavailable (UIKit.UIApplication application);
	public virtual void ReceiveMemoryWarning (UIKit.UIApplication application);
	public virtual void ReceivedLocalNotification (UIKit.UIApplication application, UIKit.UILocalNotification notification);
	public virtual void ReceivedRemoteNotification (UIKit.UIApplication application, Foundation.NSDictionary userInfo);
	public virtual void RegisteredForRemoteNotifications (UIKit.UIApplication application, Foundation.NSData deviceToken);
	public virtual bool ShouldAllowExtensionPointIdentifier (UIKit.UIApplication application, Foundation.NSString extensionPointIdentifier);
	public virtual void ShouldRequestHealthAuthorization (UIKit.UIApplication application);
	public virtual bool ShouldRestoreApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual bool ShouldRestoreSecureApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual bool ShouldSaveApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual bool ShouldSaveSecureApplicationState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual void UserActivityUpdated (UIKit.UIApplication application, Foundation.NSUserActivity userActivity);
	public virtual void UserDidAcceptCloudKitShare (UIKit.UIApplication application, CloudKit.CKShareMetadata cloudKitShareMetadata);
	public virtual void WillChangeStatusBarFrame (UIKit.UIApplication application, CoreGraphics.CGRect newStatusBarFrame);
	public virtual void WillChangeStatusBarOrientation (UIKit.UIApplication application, UIKit.UIInterfaceOrientation newStatusBarOrientation, double duration);
	public virtual bool WillContinueUserActivity (UIKit.UIApplication application, string userActivityType);
	public virtual void WillEncodeRestorableState (UIKit.UIApplication application, Foundation.NSCoder coder);
	public virtual void WillEnterForeground (UIKit.UIApplication application);
	public virtual bool WillFinishLaunching (UIKit.UIApplication application, Foundation.NSDictionary launchOptions);
	public virtual void WillTerminate (UIKit.UIApplication application);
}

New Type: CarPlay.CPApplicationDelegate_Extensions

public static class CPApplicationDelegate_Extensions {
	// methods
	public static void DidSelectManeuver (this ICPApplicationDelegate This, UIKit.UIApplication application, CPManeuver maneuver);
	public static void DidSelectNavigationAlert (this ICPApplicationDelegate This, UIKit.UIApplication application, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPAssistantCellPosition

[Serializable]
public enum CPAssistantCellPosition {
	Bottom = 1,
	Top = 0,
}

New Type: CarPlay.CPAssistantCellVisibility

[Serializable]
public enum CPAssistantCellVisibility {
	Always = 2,
	Off = 0,
	WhileLimitedUIActive = 1,
}

New Type: CarPlay.CPBarButton

public class CPBarButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPBarButton (Foundation.NSCoder coder);
	protected CPBarButton (Foundation.NSObjectFlag t);
	protected CPBarButton (IntPtr handle);
	public CPBarButton (CPBarButtonType type, System.Action<CPBarButton> handler);
	public CPBarButton (string title, CPBarButtonHandler handler);
	public CPBarButton (UIKit.UIImage image, CPBarButtonHandler handler);
	// properties
	public virtual CPBarButtonStyle ButtonStyle { get; set; }
	public virtual CPBarButtonType ButtonType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIImage Image { get; set; }
	public virtual string Title { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPBarButtonHandler

public sealed delegate CPBarButtonHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CPBarButtonHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CPBarButton button, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CPBarButton button);
}

New Type: CarPlay.CPBarButtonProviding_Extensions

public static class CPBarButtonProviding_Extensions {
	// methods
	public static CPBarButton GetBackButton (this ICPBarButtonProviding This);
	public static void SetBackButton (this ICPBarButtonProviding This, CPBarButton value);
}

New Type: CarPlay.CPBarButtonStyle

[Serializable]
public enum CPBarButtonStyle {
	None = 0,
	Rounded = 1,
}

New Type: CarPlay.CPBarButtonType

[Serializable]
public enum CPBarButtonType {
	Image = 1,
	Text = 0,
}

New Type: CarPlay.CPButton

public class CPButton : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPButton (Foundation.NSObjectFlag t);
	protected CPButton (IntPtr handle);
	public CPButton (UIKit.UIImage image, System.Action<CPButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIImage Image { get; }
	public static CoreGraphics.CGSize MaximumImageSize { get; }
	public virtual string Title { get; set; }
}

New Type: CarPlay.CPContact

public class CPContact : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPContact ();
	public CPContact (Foundation.NSCoder coder);
	protected CPContact (Foundation.NSObjectFlag t);
	protected CPContact (IntPtr handle);
	public CPContact (string name, UIKit.UIImage image);
	// properties
	public virtual CPButton[] Actions { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; set; }
	public virtual string InformativeText { get; set; }
	public virtual string Name { get; set; }
	public virtual string Subtitle { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPContactCallButton

public class CPContactCallButton : CarPlay.CPButton, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPContactCallButton (Foundation.NSObjectFlag t);
	public CPContactCallButton (System.Action<CPButton> handler);
	protected CPContactCallButton (IntPtr handle);
	public CPContactCallButton (UIKit.UIImage image, System.Action<CPButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPContactDirectionsButton

public class CPContactDirectionsButton : CarPlay.CPButton, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPContactDirectionsButton (Foundation.NSObjectFlag t);
	public CPContactDirectionsButton (System.Action<CPButton> handler);
	protected CPContactDirectionsButton (IntPtr handle);
	public CPContactDirectionsButton (UIKit.UIImage image, System.Action<CPButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPContactMessageButton

public class CPContactMessageButton : CarPlay.CPButton, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPContactMessageButton (Foundation.NSObjectFlag t);
	protected CPContactMessageButton (IntPtr handle);
	public CPContactMessageButton (string phoneOrEmail);
	public CPContactMessageButton (UIKit.UIImage image, System.Action<CPButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string PhoneOrEmail { get; }
}

New Type: CarPlay.CPContactTemplate

public class CPContactTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPContactTemplate (CPContact contact);
	public CPContactTemplate (Foundation.NSCoder coder);
	protected CPContactTemplate (Foundation.NSObjectFlag t);
	protected CPContactTemplate (IntPtr handle);
	// properties
	public virtual CPBarButton BackButton { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CPContact Contact { get; set; }
	public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
	public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
}

New Type: CarPlay.CPContentStyle

[Serializable]
public enum CPContentStyle {
	Dark = 2,
	Light = 1,
}

New Type: CarPlay.CPDashboardButton

public class CPDashboardButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPDashboardButton (Foundation.NSCoder coder);
	protected CPDashboardButton (Foundation.NSObjectFlag t);
	protected CPDashboardButton (IntPtr handle);
	public CPDashboardButton (string[] titleVariants, string[] subtitleVariants, UIKit.UIImage image, System.Action<CPDashboardButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; }
	public virtual string[] SubtitleVariants { get; }
	public virtual string[] TitleVariants { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPDashboardController

public class CPDashboardController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPDashboardController (Foundation.NSObjectFlag t);
	protected CPDashboardController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CPDashboardButton[] ShortcutButtons { get; set; }
}

New Type: CarPlay.CPEntity

public class CPEntity : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPEntity ();
	public CPEntity (Foundation.NSCoder coder);
	protected CPEntity (Foundation.NSObjectFlag t);
	protected CPEntity (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPGridButton

public class CPGridButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPGridButton (Foundation.NSCoder coder);
	protected CPGridButton (Foundation.NSObjectFlag t);
	protected CPGridButton (IntPtr handle);
	public CPGridButton (string[] titleVariants, UIKit.UIImage image, System.Action<CPGridButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIImage Image { get; }
	public virtual string[] TitleVariants { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPGridTemplate

public class CPGridTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPGridTemplate (Foundation.NSCoder coder);
	protected CPGridTemplate (Foundation.NSObjectFlag t);
	protected CPGridTemplate (IntPtr handle);
	public CPGridTemplate (string title, CPGridButton[] gridButtons);
	// properties
	public virtual CPBarButton BackButton { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CPGridButton[] GridButtons { get; }
	public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
	public static nuint MaximumItems { get; }
	public virtual string Title { get; }
	public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
	// methods
	public virtual void UpdateGridButtons (CPGridButton[] gridButtons);
	public virtual void UpdateTitle (string title);
}

New Type: CarPlay.CPImageSet

public class CPImageSet : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPImageSet (Foundation.NSCoder coder);
	protected CPImageSet (Foundation.NSObjectFlag t);
	protected CPImageSet (IntPtr handle);
	public CPImageSet (UIKit.UIImage lightImage, UIKit.UIImage darkImage);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage DarkContentImage { get; }
	public virtual UIKit.UIImage LightContentImage { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPInformationItem

public class CPInformationItem : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPInformationItem (Foundation.NSCoder coder);
	protected CPInformationItem (Foundation.NSObjectFlag t);
	protected CPInformationItem (IntPtr handle);
	public CPInformationItem (string title, string detail);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Detail { get; }
	public virtual string Title { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPInformationRatingItem

public class CPInformationRatingItem : CarPlay.CPInformationItem, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPInformationRatingItem (Foundation.NSCoder coder);
	protected CPInformationRatingItem (Foundation.NSObjectFlag t);
	protected CPInformationRatingItem (IntPtr handle);
	public CPInformationRatingItem (Foundation.NSNumber rating, Foundation.NSNumber maximumRating, string title, string detail);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber MaximumRating { get; }
	public virtual Foundation.NSNumber Rating { get; }
}

New Type: CarPlay.CPInformationTemplate

public class CPInformationTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPInformationTemplate (Foundation.NSCoder coder);
	protected CPInformationTemplate (Foundation.NSObjectFlag t);
	protected CPInformationTemplate (IntPtr handle);
	public CPInformationTemplate (string title, CPInformationTemplateLayout layout, CPInformationItem[] items, CPTextButton[] actions);
	// properties
	public virtual CPTextButton[] Actions { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CPInformationItem[] Items { get; set; }
	public virtual CPInformationTemplateLayout Layout { get; }
	public virtual string Title { get; set; }
}

New Type: CarPlay.CPInformationTemplateLayout

[Serializable]
public enum CPInformationTemplateLayout {
	Leading = 0,
	TwoColumn = 1,
}

New Type: CarPlay.CPInterfaceController

public class CPInterfaceController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPInterfaceController (Foundation.NSObjectFlag t);
	protected CPInterfaceController (IntPtr handle);
	// properties
	public virtual UIKit.UITraitCollection CarTraitCollection { get; }
	public override IntPtr ClassHandle { get; }
	public ICPInterfaceControllerDelegate Delegate { get; set; }
	public virtual bool PrefersDarkUserInterfaceStyle { get; set; }
	public virtual CPTemplate PresentedTemplate { get; }
	public virtual CPTemplate RootTemplate { get; }
	public virtual CPTemplate[] Templates { get; }
	public virtual CPTemplate TopTemplate { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void DismissTemplate (bool animated);
	public virtual void DismissTemplate (bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DismissTemplateAsync (bool animated);
	protected override void Dispose (bool disposing);
	public virtual void PopTemplate (bool animated);
	public virtual void PopTemplate (bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PopTemplateAsync (bool animated);
	public virtual void PopToRootTemplate (bool animated);
	public virtual void PopToRootTemplate (bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PopToRootTemplateAsync (bool animated);
	public virtual void PopToTemplate (CPTemplate targetTemplate, bool animated);
	public virtual void PopToTemplate (CPTemplate targetTemplate, bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PopToTemplateAsync (CPTemplate targetTemplate, bool animated);
	public virtual void PresentTemplate (CPTemplate templateToPresent, bool animated);
	public virtual void PresentTemplate (CPTemplate templateToPresent, bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PresentTemplateAsync (CPTemplate templateToPresent, bool animated);
	public virtual void PushTemplate (CPTemplate templateToPush, bool animated);
	public virtual void PushTemplate (CPTemplate templateToPush, bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> PushTemplateAsync (CPTemplate templateToPush, bool animated);
	public virtual void SetRootTemplate (CPTemplate rootTemplate, bool animated);
	public virtual void SetRootTemplate (CPTemplate rootTemplate, bool animated, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SetRootTemplateAsync (CPTemplate rootTemplate, bool animated);
}

New Type: CarPlay.CPInterfaceControllerDelegate

public class CPInterfaceControllerDelegate : Foundation.NSObject, ICPInterfaceControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPInterfaceControllerDelegate ();
	protected CPInterfaceControllerDelegate (Foundation.NSObjectFlag t);
	protected CPInterfaceControllerDelegate (IntPtr handle);
	// methods
	public virtual void TemplateDidAppear (CPTemplate aTemplate, bool animated);
	public virtual void TemplateDidDisappear (CPTemplate aTemplate, bool animated);
	public virtual void TemplateWillAppear (CPTemplate aTemplate, bool animated);
	public virtual void TemplateWillDisappear (CPTemplate aTemplate, bool animated);
}

New Type: CarPlay.CPInterfaceControllerDelegate_Extensions

public static class CPInterfaceControllerDelegate_Extensions {
	// methods
	public static void TemplateDidAppear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
	public static void TemplateDidDisappear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
	public static void TemplateWillAppear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
	public static void TemplateWillDisappear (this ICPInterfaceControllerDelegate This, CPTemplate aTemplate, bool animated);
}

New Type: CarPlay.CPLimitableUserInterface

[Serializable]
public enum CPLimitableUserInterface {
	Keyboard = 1,
	Lists = 2,
}

New Type: CarPlay.CPListImageRowItem

public class CPListImageRowItem : Foundation.NSObject, ICPListTemplateItem, ICPSelectableListItem, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPListImageRowItem (Foundation.NSObjectFlag t);
	protected CPListImageRowItem (IntPtr handle);
	public CPListImageRowItem (string text, UIKit.UIImage[] images);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIImage[] GridImages { get; }
	public virtual CPSelectableListItemHandler Handler { get; set; }
	public virtual CPListImageRowItemHandler ListImageRowHandler { get; set; }
	public static CoreGraphics.CGSize MaximumImageSize { get; }
	public static nuint MaximumNumberOfGridImages { get; }
	public virtual string Text { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual void UpdateImages (UIKit.UIImage[] gridImages);
}

New Type: CarPlay.CPListImageRowItemHandler

public sealed delegate CPListImageRowItemHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CPListImageRowItemHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CPListImageRowItem item, nint index, System.Action completionBlock, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CPListImageRowItem item, nint index, System.Action completionBlock);
}

New Type: CarPlay.CPListItem

public class CPListItem : Foundation.NSObject, ICPListTemplateItem, ICPSelectableListItem, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPListItem (Foundation.NSCoder coder);
	protected CPListItem (Foundation.NSObjectFlag t);
	protected CPListItem (IntPtr handle);
	public CPListItem (string text, string detailText);
	public CPListItem (string text, string detailText, UIKit.UIImage image);
	public CPListItem (string text, string detailText, UIKit.UIImage image, bool showsDisclosureIndicator);
	public CPListItem (string text, string detailText, UIKit.UIImage image, UIKit.UIImage accessoryImage, CPListItemAccessoryType accessoryType);
	// properties
	public virtual UIKit.UIImage AccessoryImage { get; }
	public virtual CPListItemAccessoryType AccessoryType { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string DetailText { get; }
	public virtual bool Enabled { get; set; }
	public virtual CPSelectableListItemHandler Handler { get; set; }
	public virtual UIKit.UIImage Image { get; }
	public virtual bool IsExplicitContent { get; set; }
	public virtual bool IsPlaying { get; set; }
	public static CoreGraphics.CGSize MaximumImageSize { get; }
	public static CoreGraphics.CGSize MaximumListItemImageSize { get; }
	public virtual nfloat PlaybackProgress { get; set; }
	public virtual CPListItemPlayingIndicatorLocation PlayingIndicatorLocation { get; set; }
	public virtual bool ShowsDisclosureIndicator { get; }
	public virtual string Text { get; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual void SetAccessoryImage (UIKit.UIImage accessoryImage);
	public virtual void SetDetailText (string detailText);
	public virtual void SetImage (UIKit.UIImage image);
	public virtual void SetText (string text);
}

New Type: CarPlay.CPListItemAccessoryType

[Serializable]
public enum CPListItemAccessoryType {
	Cloud = 2,
	DisclosureIndicator = 1,
	None = 0,
}

New Type: CarPlay.CPListItemPlayingIndicatorLocation

[Serializable]
public enum CPListItemPlayingIndicatorLocation {
	Leading = 0,
	Trailing = 1,
}

New Type: CarPlay.CPListSection

public class CPListSection : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPListSection (CPListItem[] items);
	public CPListSection (Foundation.NSCoder coder);
	protected CPListSection (Foundation.NSObjectFlag t);
	protected CPListSection (IntPtr handle);
	public CPListSection (CPListItem[] items, string header, string sectionIndexTitle);
	public CPListSection (ICPListTemplateItem[] items, string header, string headerSubtitle, UIKit.UIImage headerImage, CPButton headerButton, string sectionIndexTitle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Header { get; }
	public virtual CPButton HeaderButton { get; }
	public virtual UIKit.UIImage HeaderImage { get; }
	public virtual string HeaderSubtitle { get; }
	public virtual CPListItem[] Items { get; }
	public static CoreGraphics.CGSize MaximumImageSize { get; }
	public virtual string SectionIndexTitle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual nuint GetIndex (ICPListTemplateItem item);
	public virtual ICPListTemplateItem GetItem (nuint index);
}

New Type: CarPlay.CPListTemplate

public class CPListTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPListTemplate (Foundation.NSCoder coder);
	protected CPListTemplate (Foundation.NSObjectFlag t);
	protected CPListTemplate (IntPtr handle);
	public CPListTemplate (string title, CPListSection[] sections);
	public CPListTemplate (string title, CPListSection[] sections, CPAssistantCellVisibility visibility, CPAssistantCellPosition position);
	// properties
	public virtual CPAssistantCellPosition AssistantCellPosition { get; set; }
	public virtual CPAssistantCellVisibility AssistantCellVisibility { get; set; }
	public virtual CPBarButton BackButton { get; set; }
	public override IntPtr ClassHandle { get; }
	public ICPListTemplateDelegate Delegate { get; set; }
	public virtual string[] EmptyViewSubtitleVariants { get; set; }
	public virtual string[] EmptyViewTitleVariants { get; set; }
	public virtual nuint ItemCount { get; }
	public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
	public static nuint MaximumItemCount { get; }
	public static nuint MaximumSectionCount { get; }
	public virtual nuint SectionCount { get; }
	public virtual CPListSection[] Sections { get; }
	public virtual string Title { get; }
	public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual Foundation.NSIndexPath GetIndexPath (ICPListTemplateItem item);
	public virtual void UpdateSections (CPListSection[] sections);
}

New Type: CarPlay.CPListTemplateDelegate

public abstract class CPListTemplateDelegate : Foundation.NSObject, ICPListTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPListTemplateDelegate ();
	protected CPListTemplateDelegate (Foundation.NSObjectFlag t);
	protected CPListTemplateDelegate (IntPtr handle);
	// methods
	public virtual void DidSelectListItem (CPListTemplate listTemplate, CPListItem item, System.Action completionHandler);
}

New Type: CarPlay.CPListTemplateItem_Extensions

public static class CPListTemplateItem_Extensions {
	// methods
	public static bool GetEnabled (this ICPListTemplateItem This);
	public static void SetEnabled (this ICPListTemplateItem This, bool value);
}

New Type: CarPlay.CPManeuver

public class CPManeuver : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPManeuver ();
	public CPManeuver (Foundation.NSCoder coder);
	protected CPManeuver (Foundation.NSObjectFlag t);
	protected CPManeuver (IntPtr handle);
	// properties
	public virtual Foundation.NSAttributedString[] AttributedInstructionVariants { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSAttributedString[] DashboardAttributedInstructionVariants { get; set; }
	public virtual string[] DashboardInstructionVariants { get; set; }
	public virtual UIKit.UIImage DashboardJunctionImage { get; set; }
	public virtual UIKit.UIImage DashboardSymbolImage { get; set; }
	public virtual CPTravelEstimates InitialTravelEstimates { get; set; }
	public virtual string[] InstructionVariants { get; set; }
	public virtual UIKit.UIImage JunctionImage { get; set; }
	public virtual Foundation.NSAttributedString[] NotificationAttributedInstructionVariants { get; set; }
	public virtual string[] NotificationInstructionVariants { get; set; }
	public virtual UIKit.UIImage NotificationSymbolImage { get; set; }
	public virtual UIKit.UIImage SymbolImage { get; set; }
	public virtual CPImageSet SymbolSet { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPManeuverDisplayStyle

[Serializable]
public enum CPManeuverDisplayStyle {
	Default = 0,
	InstructionOnly = 4,
	LeadingSymbol = 1,
	SymbolOnly = 3,
	TrailingSymbol = 2,
}

New Type: CarPlay.CPMapButton

public class CPMapButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPMapButton (Foundation.NSCoder coder);
	protected CPMapButton (Foundation.NSObjectFlag t);
	public CPMapButton (System.Action<CPMapButton> handler);
	protected CPMapButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIImage FocusedImage { get; set; }
	public virtual bool Hidden { get; set; }
	public virtual UIKit.UIImage Image { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPMapTemplate

public class CPMapTemplate : CarPlay.CPTemplate, ICPBarButtonProviding, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPMapTemplate (Foundation.NSCoder coder);
	protected CPMapTemplate (Foundation.NSObjectFlag t);
	protected CPMapTemplate (IntPtr handle);
	// properties
	public virtual bool AutomaticallyHidesNavigationBar { get; set; }
	public virtual CPBarButton BackButton { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CPNavigationAlert CurrentNavigationAlert { get; }
	public virtual UIKit.UIColor GuidanceBackgroundColor { get; set; }
	public virtual bool HidesButtonsWithNavigationBar { get; set; }
	public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
	public virtual CPMapButton[] MapButtons { get; set; }
	public ICPMapTemplateDelegate MapDelegate { get; set; }
	public virtual bool PanningInterfaceVisible { get; }
	public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
	public virtual CPTripEstimateStyle TripEstimateStyle { get; set; }
	public virtual Foundation.NSObject WeakMapDelegate { get; set; }
	// methods
	public virtual void DismissNavigationAlert (bool animated, System.Action<bool> completion);
	public virtual System.Threading.Tasks.Task<bool> DismissNavigationAlertAsync (bool animated);
	public virtual void DismissPanningInterface (bool animated);
	protected override void Dispose (bool disposing);
	public virtual void HideTripPreviews ();
	public virtual void PresentNavigationAlert (CPNavigationAlert navigationAlert, bool animated);
	public virtual void ShowPanningInterface (bool animated);
	public virtual void ShowRouteChoicesPreview (CPTrip tripPreview, CPTripPreviewTextConfiguration textConfiguration);
	public virtual void ShowTripPreviews (CPTrip[] tripPreviews, CPTripPreviewTextConfiguration textConfiguration);
	public virtual void ShowTripPreviews (CPTrip[] tripPreviews, CPTrip selectedTrip, CPTripPreviewTextConfiguration textConfiguration);
	public virtual CPNavigationSession StartNavigationSession (CPTrip trip);
	public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPTrip trip);
	public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPTrip trip, CPTimeRemainingColor timeRemainingColor);
}

New Type: CarPlay.CPMapTemplateDelegate

public class CPMapTemplateDelegate : Foundation.NSObject, ICPMapTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPMapTemplateDelegate ();
	protected CPMapTemplateDelegate (Foundation.NSObjectFlag t);
	protected CPMapTemplateDelegate (IntPtr handle);
	// methods
	public virtual void DidBeginPanGesture (CPMapTemplate mapTemplate);
	public virtual void DidCancelNavigation (CPMapTemplate mapTemplate);
	public virtual void DidDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
	public virtual void DidDismissPanningInterface (CPMapTemplate mapTemplate);
	public virtual void DidEndPanGesture (CPMapTemplate mapTemplate, CoreGraphics.CGPoint velocity);
	public virtual void DidShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
	public virtual void DidShowPanningInterface (CPMapTemplate mapTemplate);
	public virtual void DidUpdatePanGesture (CPMapTemplate mapTemplate, CoreGraphics.CGPoint translation, CoreGraphics.CGPoint velocity);
	public virtual CPManeuverDisplayStyle GetDisplayStyle (CPMapTemplate mapTemplate, CPManeuver maneuver);
	public virtual void Pan (CPMapTemplate mapTemplate, CPPanDirection direction);
	public virtual void PanBegan (CPMapTemplate mapTemplate, CPPanDirection direction);
	public virtual void PanEnded (CPMapTemplate mapTemplate, CPPanDirection direction);
	public virtual void SelectedPreview (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
	public virtual bool ShouldShowNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver);
	public virtual bool ShouldShowNotificationForNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
	public virtual bool ShouldUpdateNotificationForManeuver (CPMapTemplate mapTemplate, CPManeuver maneuver, CPTravelEstimates travelEstimates);
	public virtual void StartedTrip (CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
	public virtual void WillDismissNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
	public virtual void WillDismissPanningInterface (CPMapTemplate mapTemplate);
	public virtual void WillShowNavigationAlert (CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPMapTemplateDelegate_Extensions

public static class CPMapTemplateDelegate_Extensions {
	// methods
	public static void DidBeginPanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
	public static void DidCancelNavigation (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
	public static void DidDismissNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
	public static void DidDismissPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
	public static void DidEndPanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CoreGraphics.CGPoint velocity);
	public static void DidShowNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
	public static void DidShowPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
	public static void DidUpdatePanGesture (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CoreGraphics.CGPoint translation, CoreGraphics.CGPoint velocity);
	public static CPManeuverDisplayStyle GetDisplayStyle (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver);
	public static void Pan (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
	public static void PanBegan (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
	public static void PanEnded (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPPanDirection direction);
	public static void SelectedPreview (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
	public static bool ShouldShowNotificationForManeuver (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver);
	public static bool ShouldShowNotificationForNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
	public static bool ShouldUpdateNotificationForManeuver (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPManeuver maneuver, CPTravelEstimates travelEstimates);
	public static void StartedTrip (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPTrip trip, CPRouteChoice routeChoice);
	public static void WillDismissNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert, CPNavigationAlertDismissalContext dismissalContext);
	public static void WillDismissPanningInterface (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate);
	public static void WillShowNavigationAlert (this ICPMapTemplateDelegate This, CPMapTemplate mapTemplate, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPMessageComposeBarButton

public class CPMessageComposeBarButton : CarPlay.CPBarButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPMessageComposeBarButton ();
	public CPMessageComposeBarButton (Foundation.NSCoder coder);
	protected CPMessageComposeBarButton (Foundation.NSObjectFlag t);
	protected CPMessageComposeBarButton (IntPtr handle);
	public CPMessageComposeBarButton (UIKit.UIImage image);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static CPMessageComposeBarButton Create ();
}

New Type: CarPlay.CPMessageLeadingItem

[Serializable]
public enum CPMessageLeadingItem {
	None = 0,
	Pin = 1,
	Star = 2,
}

New Type: CarPlay.CPMessageListItem

public class CPMessageListItem : Foundation.NSObject, ICPListTemplateItem, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPMessageListItem ();
	protected CPMessageListItem (Foundation.NSObjectFlag t);
	protected CPMessageListItem (IntPtr handle);
	public CPMessageListItem (string identifier, string text, CPMessageListItemLeadingConfiguration leadingConfiguration, CPMessageListItemTrailingConfiguration trailingConfiguration, string detailText, string trailingText);
	public CPMessageListItem (string identifier, string text, CPMessageListItemLeadingConfiguration leadingConfiguration, CPMessageListItemTrailingConfiguration trailingConfiguration, string detailText, string trailingText, CPMessageListItemType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ConversationIdentifier { get; set; }
	public virtual string DetailText { get; set; }
	public virtual bool Enabled { get; set; }
	public virtual CPMessageListItemLeadingConfiguration LeadingConfiguration { get; set; }
	public static CoreGraphics.CGSize MaximumMessageItemImageSize { get; }
	public virtual string PhoneOrEmailAddress { get; set; }
	public virtual string Text { get; set; }
	public virtual CPMessageListItemTrailingConfiguration TrailingConfiguration { get; set; }
	public virtual string TrailingText { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
}

New Type: CarPlay.CPMessageListItemLeadingConfiguration

public class CPMessageListItemLeadingConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPMessageListItemLeadingConfiguration (Foundation.NSObjectFlag t);
	protected CPMessageListItemLeadingConfiguration (IntPtr handle);
	public CPMessageListItemLeadingConfiguration (CPMessageLeadingItem leadingItem, UIKit.UIImage leadingImage, bool unread);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage LeadingImage { get; }
	public virtual CPMessageLeadingItem LeadingItem { get; }
	public virtual bool Unread { get; }
}

New Type: CarPlay.CPMessageListItemTrailingConfiguration

public class CPMessageListItemTrailingConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPMessageListItemTrailingConfiguration (Foundation.NSObjectFlag t);
	protected CPMessageListItemTrailingConfiguration (IntPtr handle);
	public CPMessageListItemTrailingConfiguration (CPMessageTrailingItem trailingItem, UIKit.UIImage trailingImage);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage TrailingImage { get; }
	public virtual CPMessageTrailingItem TrailingItem { get; }
}

New Type: CarPlay.CPMessageListItemType

[Serializable]
public enum CPMessageListItemType {
	FullName = 1,
	Identifier = 0,
}

New Type: CarPlay.CPMessageTrailingItem

[Serializable]
public enum CPMessageTrailingItem {
	Mute = 1,
	None = 0,
}

New Type: CarPlay.CPNavigationAlert

public class CPNavigationAlert : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNavigationAlert (Foundation.NSCoder coder);
	protected CPNavigationAlert (Foundation.NSObjectFlag t);
	protected CPNavigationAlert (IntPtr handle);
	public CPNavigationAlert (string[] titleVariants, string[] subtitleVariants, CPImageSet imageSet, CPAlertAction primaryAction, CPAlertAction secondaryAction, double duration);
	public CPNavigationAlert (string[] titleVariants, string[] subtitleVariants, UIKit.UIImage image, CPAlertAction primaryAction, CPAlertAction secondaryAction, double duration);
	// fields
	public static const double MinimumDuration;
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Duration { get; }
	public virtual UIKit.UIImage Image { get; }
	public virtual CPImageSet ImageSet { get; }
	public virtual CPAlertAction PrimaryAction { get; }
	public virtual CPAlertAction SecondaryAction { get; }
	public virtual string[] SubtitleVariants { get; }
	public virtual string[] TitleVariants { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual void UpdateTitleVariants (string[] newTitleVariants, string[] newSubtitleVariants);
}

New Type: CarPlay.CPNavigationAlertDismissalContext

[Serializable]
public enum CPNavigationAlertDismissalContext {
	SystemDismissed = 2,
	Timeout = 0,
	UserDismissed = 1,
}

New Type: CarPlay.CPNavigationSession

public class CPNavigationSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPNavigationSession (Foundation.NSObjectFlag t);
	protected CPNavigationSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CPTrip Trip { get; }
	public virtual CPManeuver[] UpcomingManeuvers { get; set; }
	// methods
	public virtual void CancelTrip ();
	public virtual void FinishTrip ();
	public virtual void PauseTrip (CPTripPauseReason reason, string description);
	public virtual void UpdateTravelEstimates (CPTravelEstimates estimates, CPManeuver maneuver);
}

New Type: CarPlay.CPNowPlayingAddToLibraryButton

public class CPNowPlayingAddToLibraryButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingAddToLibraryButton ();
	public CPNowPlayingAddToLibraryButton (Foundation.NSCoder coder);
	protected CPNowPlayingAddToLibraryButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingAddToLibraryButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPNowPlayingButton

public class CPNowPlayingButton : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingButton (Foundation.NSCoder coder);
	protected CPNowPlayingButton (Foundation.NSObjectFlag t);
	public CPNowPlayingButton (System.Action<CPNowPlayingButton> handler);
	protected CPNowPlayingButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public static CoreGraphics.CGSize MaximumImageSize { get; }
	public virtual bool Selected { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPNowPlayingImageButton

public class CPNowPlayingImageButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingImageButton (Foundation.NSCoder coder);
	protected CPNowPlayingImageButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingImageButton (IntPtr handle);
	public CPNowPlayingImageButton (UIKit.UIImage image, System.Action<CPNowPlayingButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; }
}

New Type: CarPlay.CPNowPlayingMoreButton

public class CPNowPlayingMoreButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingMoreButton ();
	public CPNowPlayingMoreButton (Foundation.NSCoder coder);
	protected CPNowPlayingMoreButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingMoreButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPNowPlayingPlaybackRateButton

public class CPNowPlayingPlaybackRateButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingPlaybackRateButton ();
	public CPNowPlayingPlaybackRateButton (Foundation.NSCoder coder);
	protected CPNowPlayingPlaybackRateButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingPlaybackRateButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPNowPlayingRepeatButton

public class CPNowPlayingRepeatButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingRepeatButton ();
	public CPNowPlayingRepeatButton (Foundation.NSCoder coder);
	protected CPNowPlayingRepeatButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingRepeatButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPNowPlayingShuffleButton

public class CPNowPlayingShuffleButton : CarPlay.CPNowPlayingButton, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingShuffleButton ();
	public CPNowPlayingShuffleButton (Foundation.NSCoder coder);
	protected CPNowPlayingShuffleButton (Foundation.NSObjectFlag t);
	protected CPNowPlayingShuffleButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CarPlay.CPNowPlayingTemplate

public class CPNowPlayingTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPNowPlayingTemplate (Foundation.NSCoder coder);
	protected CPNowPlayingTemplate (Foundation.NSObjectFlag t);
	protected CPNowPlayingTemplate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsAlbumArtistButtonEnabled { get; set; }
	public virtual bool IsUpNextButtonEnabled { get; set; }
	public virtual CPNowPlayingButton[] NowPlayingButtons { get; }
	public static CPNowPlayingTemplate SharedTemplate { get; }
	public virtual string UpNextTitle { get; set; }
	// methods
	public virtual void AddObserver (ICPNowPlayingTemplateObserver observer);
	public virtual void RemoveObserver (ICPNowPlayingTemplateObserver observer);
	public virtual void UpdateNowPlayingButtons (CPNowPlayingButton[] nowPlayingButtons);
}

New Type: CarPlay.CPNowPlayingTemplateObserver_Extensions

public static class CPNowPlayingTemplateObserver_Extensions {
	// methods
	public static void AlbumArtistButtonTapped (this ICPNowPlayingTemplateObserver This, CPNowPlayingTemplate nowPlayingTemplate);
	public static void UpNextButtonTapped (this ICPNowPlayingTemplateObserver This, CPNowPlayingTemplate nowPlayingTemplate);
}

New Type: CarPlay.CPPanDirection

[Serializable]
public enum CPPanDirection {
	Down = 8,
	Left = 1,
	None = 0,
	Right = 2,
	Up = 4,
}

New Type: CarPlay.CPPointOfInterest

public class CPPointOfInterest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPPointOfInterest (Foundation.NSCoder coder);
	protected CPPointOfInterest (Foundation.NSObjectFlag t);
	protected CPPointOfInterest (IntPtr handle);
	public CPPointOfInterest (MapKit.MKMapItem location, string title, string subtitle, string summary, string detailTitle, string detailSubtitle, string detailSummary, UIKit.UIImage pinImage);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string DetailSubtitle { get; set; }
	public virtual string DetailSummary { get; set; }
	public virtual string DetailTitle { get; set; }
	public virtual MapKit.MKMapItem Location { get; set; }
	public virtual UIKit.UIImage PinImage { get; set; }
	public virtual CPTextButton PrimaryButton { get; set; }
	public virtual CPTextButton SecondaryButton { get; set; }
	public virtual string Subtitle { get; set; }
	public virtual string Summary { get; set; }
	public virtual string Title { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPPointOfInterestTemplate

public class CPPointOfInterestTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPPointOfInterestTemplate (Foundation.NSCoder coder);
	protected CPPointOfInterestTemplate (Foundation.NSObjectFlag t);
	protected CPPointOfInterestTemplate (IntPtr handle);
	public CPPointOfInterestTemplate (string title, CPPointOfInterest[] pointsOfInterest, nint selectedIndex);
	// properties
	public override IntPtr ClassHandle { get; }
	public ICPPointOfInterestTemplateDelegate PointOfInterestDelegate { get; set; }
	public virtual CPPointOfInterest[] PointsOfInterest { get; }
	public virtual nint SelectedIndex { get; set; }
	public virtual string Title { get; set; }
	public virtual Foundation.NSObject WeakPointOfInterestDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void SetPointsOfInterest (CPPointOfInterest[] pointsOfInterest, nint selectedIndex);
}

New Type: CarPlay.CPPointOfInterestTemplateDelegate

public abstract class CPPointOfInterestTemplateDelegate : Foundation.NSObject, ICPPointOfInterestTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPPointOfInterestTemplateDelegate ();
	protected CPPointOfInterestTemplateDelegate (Foundation.NSObjectFlag t);
	protected CPPointOfInterestTemplateDelegate (IntPtr handle);
	// methods
	public virtual void DidChangeMapRegion (CPPointOfInterestTemplate pointOfInterestTemplate, MapKit.MKCoordinateRegion region);
	public virtual void DidSelectPointOfInterest (CPPointOfInterestTemplate pointOfInterestTemplate, CPPointOfInterest pointOfInterest);
}

New Type: CarPlay.CPPointOfInterestTemplateDelegate_Extensions

public static class CPPointOfInterestTemplateDelegate_Extensions {
	// methods
	public static void DidSelectPointOfInterest (this ICPPointOfInterestTemplateDelegate This, CPPointOfInterestTemplate pointOfInterestTemplate, CPPointOfInterest pointOfInterest);
}

New Type: CarPlay.CPRouteChoice

public class CPRouteChoice : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPRouteChoice (Foundation.NSCoder coder);
	protected CPRouteChoice (Foundation.NSObjectFlag t);
	protected CPRouteChoice (IntPtr handle);
	public CPRouteChoice (string[] summaryVariants, string[] additionalInformationVariants, string[] selectionSummaryVariants);
	// properties
	public virtual string[] AdditionalInformationVariants { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] SelectionSummaryVariants { get; }
	public virtual string[] SummaryVariants { get; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPSearchTemplate

public class CPSearchTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPSearchTemplate ();
	public CPSearchTemplate (Foundation.NSCoder coder);
	protected CPSearchTemplate (Foundation.NSObjectFlag t);
	protected CPSearchTemplate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public ICPSearchTemplateDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CarPlay.CPSearchTemplateDelegate

public abstract class CPSearchTemplateDelegate : Foundation.NSObject, ICPSearchTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPSearchTemplateDelegate ();
	protected CPSearchTemplateDelegate (Foundation.NSObjectFlag t);
	protected CPSearchTemplateDelegate (IntPtr handle);
	// methods
	public virtual void SearchButtonPressed (CPSearchTemplate searchTemplate);
	public virtual void SelectedResult (CPSearchTemplate searchTemplate, CPListItem item, System.Action completionHandler);
	public virtual void UpdatedSearchText (CPSearchTemplate searchTemplate, string searchText, CPSearchTemplateDelegateUpdateHandler completionHandler);
}

New Type: CarPlay.CPSearchTemplateDelegateUpdateHandler

public sealed delegate CPSearchTemplateDelegateUpdateHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CPSearchTemplateDelegateUpdateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CPListItem[] searchResults, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CPListItem[] searchResults);
}

New Type: CarPlay.CPSearchTemplateDelegate_Extensions

public static class CPSearchTemplateDelegate_Extensions {
	// methods
	public static void SearchButtonPressed (this ICPSearchTemplateDelegate This, CPSearchTemplate searchTemplate);
}

New Type: CarPlay.CPSelectableListItemHandler

public sealed delegate CPSelectableListItemHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CPSelectableListItemHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ICPSelectableListItem item, System.Action completionBlock, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (ICPSelectableListItem item, System.Action completionBlock);
}

New Type: CarPlay.CPSessionConfiguration

public class CPSessionConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPSessionConfiguration (ICPSessionConfigurationDelegate delegate);
	protected CPSessionConfiguration (Foundation.NSObjectFlag t);
	protected CPSessionConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CPContentStyle ContentStyle { get; }
	public ICPSessionConfigurationDelegate Delegate { get; set; }
	public virtual CPLimitableUserInterface LimitedUserInterfaces { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CarPlay.CPSessionConfigurationDelegate

public abstract class CPSessionConfigurationDelegate : Foundation.NSObject, ICPSessionConfigurationDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPSessionConfigurationDelegate ();
	protected CPSessionConfigurationDelegate (Foundation.NSObjectFlag t);
	protected CPSessionConfigurationDelegate (IntPtr handle);
	// methods
	public virtual void ContentStyleChanged (CPSessionConfiguration sessionConfiguration, CPContentStyle contentStyle);
	public virtual void LimitedUserInterfacesChanged (CPSessionConfiguration sessionConfiguration, CPLimitableUserInterface limitedUserInterfaces);
}

New Type: CarPlay.CPSessionConfigurationDelegate_Extensions

public static class CPSessionConfigurationDelegate_Extensions {
	// methods
	public static void ContentStyleChanged (this ICPSessionConfigurationDelegate This, CPSessionConfiguration sessionConfiguration, CPContentStyle contentStyle);
}

New Type: CarPlay.CPTabBarTemplate

public class CPTabBarTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPTabBarTemplate (CPTemplate[] templates);
	public CPTabBarTemplate (Foundation.NSCoder coder);
	protected CPTabBarTemplate (Foundation.NSObjectFlag t);
	protected CPTabBarTemplate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public ICPTabBarTemplateDelegate Delegate { get; set; }
	public static nuint MaximumTabCount { get; }
	public virtual CPTemplate SelectedTemplate { get; }
	public virtual CPTemplate[] Templates { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void UpdateTemplates (CPTemplate[] newTemplates);
}

New Type: CarPlay.CPTabBarTemplateDelegate

public abstract class CPTabBarTemplateDelegate : Foundation.NSObject, ICPTabBarTemplateDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPTabBarTemplateDelegate ();
	protected CPTabBarTemplateDelegate (Foundation.NSObjectFlag t);
	protected CPTabBarTemplateDelegate (IntPtr handle);
	// methods
	public virtual void DidSelectTemplate (CPTabBarTemplate tabBarTemplate, CPTemplate selectedTemplate);
}

New Type: CarPlay.CPTemplate

public abstract class CPTemplate : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPTemplate ();
	protected CPTemplate (Foundation.NSCoder coder);
	protected CPTemplate (Foundation.NSObjectFlag t);
	protected CPTemplate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool ShowsTabBadge { get; set; }
	public virtual UIKit.UIImage TabImage { get; set; }
	public virtual UIKit.UITabBarSystemItem TabSystemItem { get; set; }
	public virtual string TabTitle { get; set; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTemplateApplicationDashboardScene

public class CPTemplateApplicationDashboardScene : UIKit.UIScene, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIPasteConfigurationSupporting, UIKit.IUIUserActivityRestoring {
	// constructors
	public CPTemplateApplicationDashboardScene ();
	protected CPTemplateApplicationDashboardScene (Foundation.NSObjectFlag t);
	protected CPTemplateApplicationDashboardScene (IntPtr handle);
	public CPTemplateApplicationDashboardScene (UIKit.UISceneSession session, UIKit.UISceneConnectionOptions connectionOptions);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CPDashboardController DashboardController { get; }
	public virtual UIKit.UIWindow DashboardWindow { get; }
	public ICPTemplateApplicationDashboardSceneDelegate Delegate { get; set; }
	public static Foundation.NSString SessionRoleApplication { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
}

New Type: CarPlay.CPTemplateApplicationDashboardSceneDelegate

public class CPTemplateApplicationDashboardSceneDelegate : Foundation.NSObject, ICPTemplateApplicationDashboardSceneDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUISceneDelegate {
	// constructors
	public CPTemplateApplicationDashboardSceneDelegate ();
	protected CPTemplateApplicationDashboardSceneDelegate (Foundation.NSObjectFlag t);
	protected CPTemplateApplicationDashboardSceneDelegate (IntPtr handle);
	// methods
	public virtual void ContinueUserActivity (UIKit.UIScene scene, Foundation.NSUserActivity userActivity);
	public virtual void DidBecomeActive (UIKit.UIScene scene);
	public virtual void DidConnectDashboardController (CPTemplateApplicationDashboardScene templateApplicationDashboardScene, CPDashboardController dashboardController, UIKit.UIWindow window);
	public virtual void DidDisconnect (UIKit.UIScene scene);
	public virtual void DidDisconnectDashboardController (CPTemplateApplicationDashboardScene templateApplicationDashboardScene, CPDashboardController dashboardController, UIKit.UIWindow window);
	public virtual void DidEnterBackground (UIKit.UIScene scene);
	public virtual void DidFailToContinueUserActivity (UIKit.UIScene scene, string userActivityType, Foundation.NSError error);
	public virtual void DidUpdateUserActivity (UIKit.UIScene scene, Foundation.NSUserActivity userActivity);
	public virtual Foundation.NSUserActivity GetStateRestorationActivity (UIKit.UIScene scene);
	public virtual void OpenUrlContexts (UIKit.UIScene scene, Foundation.NSSet<UIKit.UIOpenUrlContext> urlContexts);
	public virtual void WillConnect (UIKit.UIScene scene, UIKit.UISceneSession session, UIKit.UISceneConnectionOptions connectionOptions);
	public virtual void WillContinueUserActivity (UIKit.UIScene scene, string userActivityType);
	public virtual void WillEnterForeground (UIKit.UIScene scene);
	public virtual void WillResignActive (UIKit.UIScene scene);
}

New Type: CarPlay.CPTemplateApplicationDashboardSceneDelegate_Extensions

public static class CPTemplateApplicationDashboardSceneDelegate_Extensions {
	// methods
	public static void DidConnectDashboardController (this ICPTemplateApplicationDashboardSceneDelegate This, CPTemplateApplicationDashboardScene templateApplicationDashboardScene, CPDashboardController dashboardController, UIKit.UIWindow window);
	public static void DidDisconnectDashboardController (this ICPTemplateApplicationDashboardSceneDelegate This, CPTemplateApplicationDashboardScene templateApplicationDashboardScene, CPDashboardController dashboardController, UIKit.UIWindow window);
}

New Type: CarPlay.CPTemplateApplicationScene

public class CPTemplateApplicationScene : UIKit.UIScene, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIPasteConfigurationSupporting, UIKit.IUIUserActivityRestoring {
	// constructors
	public CPTemplateApplicationScene ();
	protected CPTemplateApplicationScene (Foundation.NSObjectFlag t);
	protected CPTemplateApplicationScene (IntPtr handle);
	public CPTemplateApplicationScene (UIKit.UISceneSession session, UIKit.UISceneConnectionOptions connectionOptions);
	// properties
	public virtual CPWindow CarWindow { get; }
	public override IntPtr ClassHandle { get; }
	public ICPTemplateApplicationSceneDelegate Delegate { get; set; }
	public virtual CPInterfaceController InterfaceController { get; }
	public static Foundation.NSString SessionRoleApplication { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
}

New Type: CarPlay.CPTemplateApplicationSceneDelegate

public class CPTemplateApplicationSceneDelegate : Foundation.NSObject, ICPTemplateApplicationSceneDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUISceneDelegate {
	// constructors
	public CPTemplateApplicationSceneDelegate ();
	protected CPTemplateApplicationSceneDelegate (Foundation.NSObjectFlag t);
	protected CPTemplateApplicationSceneDelegate (IntPtr handle);
	// methods
	public virtual void ContinueUserActivity (UIKit.UIScene scene, Foundation.NSUserActivity userActivity);
	public virtual void DidBecomeActive (UIKit.UIScene scene);
	public virtual void DidConnect (CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController);
	public virtual void DidConnect (CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController, CPWindow window);
	public virtual void DidDisconnect (UIKit.UIScene scene);
	public virtual void DidDisconnect (CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController);
	public virtual void DidDisconnect (CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController, CPWindow window);
	public virtual void DidEnterBackground (UIKit.UIScene scene);
	public virtual void DidFailToContinueUserActivity (UIKit.UIScene scene, string userActivityType, Foundation.NSError error);
	public virtual void DidSelect (CPTemplateApplicationScene templateApplicationScene, CPManeuver maneuver);
	public virtual void DidSelect (CPTemplateApplicationScene templateApplicationScene, CPNavigationAlert navigationAlert);
	public virtual void DidUpdateUserActivity (UIKit.UIScene scene, Foundation.NSUserActivity userActivity);
	public virtual Foundation.NSUserActivity GetStateRestorationActivity (UIKit.UIScene scene);
	public virtual void OpenUrlContexts (UIKit.UIScene scene, Foundation.NSSet<UIKit.UIOpenUrlContext> urlContexts);
	public virtual void WillConnect (UIKit.UIScene scene, UIKit.UISceneSession session, UIKit.UISceneConnectionOptions connectionOptions);
	public virtual void WillContinueUserActivity (UIKit.UIScene scene, string userActivityType);
	public virtual void WillEnterForeground (UIKit.UIScene scene);
	public virtual void WillResignActive (UIKit.UIScene scene);
}

New Type: CarPlay.CPTemplateApplicationSceneDelegate_Extensions

public static class CPTemplateApplicationSceneDelegate_Extensions {
	// methods
	public static void DidConnect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController);
	public static void DidConnect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController, CPWindow window);
	public static void DidDisconnect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController);
	public static void DidDisconnect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPInterfaceController interfaceController, CPWindow window);
	public static void DidSelect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPManeuver maneuver);
	public static void DidSelect (this ICPTemplateApplicationSceneDelegate This, CPTemplateApplicationScene templateApplicationScene, CPNavigationAlert navigationAlert);
}

New Type: CarPlay.CPTextButton

public class CPTextButton : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CPTextButton (Foundation.NSObjectFlag t);
	protected CPTextButton (IntPtr handle);
	public CPTextButton (string title, CPTextButtonStyle textStyle, System.Action<CPTextButton> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CPTextButtonStyle TextStyle { get; set; }
	public virtual string Title { get; set; }
}

New Type: CarPlay.CPTextButtonStyle

[Serializable]
public enum CPTextButtonStyle {
	Cancel = 1,
	Confirm = 2,
	Normal = 0,
}

New Type: CarPlay.CPTimeRemainingColor

[Serializable]
public enum CPTimeRemainingColor {
	Default = 0,
	Green = 1,
	Orange = 2,
	Red = 3,
}

New Type: CarPlay.CPTravelEstimates

public class CPTravelEstimates : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPTravelEstimates (Foundation.NSCoder coder);
	protected CPTravelEstimates (Foundation.NSObjectFlag t);
	protected CPTravelEstimates (IntPtr handle);
	public CPTravelEstimates (Foundation.NSMeasurement<Foundation.NSUnitLength> distance, double time);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitLength> DistanceRemaining { get; }
	public virtual double TimeRemaining { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTrip

public class CPTrip : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPTrip (Foundation.NSCoder coder);
	protected CPTrip (Foundation.NSObjectFlag t);
	protected CPTrip (IntPtr handle);
	public CPTrip (MapKit.MKMapItem origin, MapKit.MKMapItem destination, CPRouteChoice[] routeChoices);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MapKit.MKMapItem Destination { get; }
	public virtual MapKit.MKMapItem Origin { get; }
	public virtual CPRouteChoice[] RouteChoices { get; }
	public virtual Foundation.NSObject UserInfo { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPTripEstimateStyle

[Serializable]
public enum CPTripEstimateStyle {
	Dark = 1,
	Light = 0,
}

New Type: CarPlay.CPTripPauseReason

[Serializable]
public enum CPTripPauseReason {
	Arrived = 1,
	Loading = 2,
	Locating = 3,
	ProceedToRoute = 5,
	Rerouting = 4,
}

New Type: CarPlay.CPTripPreviewTextConfiguration

public class CPTripPreviewTextConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPTripPreviewTextConfiguration ();
	public CPTripPreviewTextConfiguration (Foundation.NSCoder coder);
	protected CPTripPreviewTextConfiguration (Foundation.NSObjectFlag t);
	protected CPTripPreviewTextConfiguration (IntPtr handle);
	public CPTripPreviewTextConfiguration (string startButtonTitle, string additionalRoutesButtonTitle, string overviewButtonTitle);
	// properties
	public virtual string AdditionalRoutesButtonTitle { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string OverviewButtonTitle { get; }
	public virtual string StartButtonTitle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPVoiceControlState

public class CPVoiceControlState : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPVoiceControlState ();
	public CPVoiceControlState (Foundation.NSCoder coder);
	protected CPVoiceControlState (Foundation.NSObjectFlag t);
	protected CPVoiceControlState (IntPtr handle);
	public CPVoiceControlState (string identifier, string[] titleVariants, UIKit.UIImage image, bool repeats);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
	public virtual UIKit.UIImage Image { get; }
	public virtual bool Repeats { get; }
	public virtual string[] TitleVariants { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CarPlay.CPVoiceControlTemplate

public class CPVoiceControlTemplate : CarPlay.CPTemplate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CPVoiceControlTemplate (CPVoiceControlState[] voiceControlStates);
	public CPVoiceControlTemplate (Foundation.NSCoder coder);
	protected CPVoiceControlTemplate (Foundation.NSObjectFlag t);
	protected CPVoiceControlTemplate (IntPtr handle);
	// properties
	public virtual string ActiveStateIdentifier { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CPVoiceControlState[] VoiceControlStates { get; }
	// methods
	public virtual void ActivateVoiceControlState (string identifier);
}

New Type: CarPlay.CPWindow

public class CPWindow : UIKit.UIWindow, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public CPWindow ();
	public CPWindow (CoreGraphics.CGRect frame);
	public CPWindow (Foundation.NSCoder coder);
	protected CPWindow (Foundation.NSObjectFlag t);
	protected CPWindow (IntPtr handle);
	// properties
	public static CPWindow.CPWindowAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UILayoutGuide MapButtonSafeAreaLayoutGuide { get; }
	public virtual CPTemplateApplicationScene TemplateApplicationScene { get; set; }
	// methods
	public static CPWindow.CPWindowAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static CPWindow.CPWindowAppearance GetAppearance<T> ();
	public static CPWindow.CPWindowAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static CPWindow.CPWindowAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static CPWindow.CPWindowAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CPWindow.CPWindowAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class CPWindowAppearance : UIKit.UIWindow+UIWindowAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected CPWindow.CPWindowAppearance (IntPtr handle);
	}
}

New Type: CarPlay.ICPApplicationDelegate

public interface ICPApplicationDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUIApplicationDelegate {
	// methods
	public virtual void DidConnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
	public virtual void DidDisconnectCarInterfaceController (UIKit.UIApplication application, CPInterfaceController interfaceController, CPWindow window);
}

New Type: CarPlay.ICPBarButtonProviding

public interface ICPBarButtonProviding : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CPBarButton[] LeadingNavigationBarButtons { get; set; }
	public virtual CPBarButton[] TrailingNavigationBarButtons { get; set; }
}

New Type: CarPlay.ICPInterfaceControllerDelegate

public interface ICPInterfaceControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CarPlay.ICPListTemplateDelegate

public interface ICPListTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidSelectListItem (CPListTemplate listTemplate, CPListItem item, System.Action completionHandler);
}

New Type: CarPlay.ICPListTemplateItem

public interface ICPListTemplateItem : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string Text { get; }
	public virtual Foundation.NSObject UserInfo { get; set; }
}

New Type: CarPlay.ICPMapTemplateDelegate

public interface ICPMapTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CarPlay.ICPNowPlayingTemplateObserver

public interface ICPNowPlayingTemplateObserver : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: CarPlay.ICPPointOfInterestTemplateDelegate

public interface ICPPointOfInterestTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidChangeMapRegion (CPPointOfInterestTemplate pointOfInterestTemplate, MapKit.MKCoordinateRegion region);
}

New Type: CarPlay.ICPSearchTemplateDelegate

public interface ICPSearchTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void SelectedResult (CPSearchTemplate searchTemplate, CPListItem item, System.Action completionHandler);
	public virtual void UpdatedSearchText (CPSearchTemplate searchTemplate, string searchText, CPSearchTemplateDelegateUpdateHandler completionHandler);
}

New Type: CarPlay.ICPSelectableListItem

public interface ICPSelectableListItem : ICPListTemplateItem, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CPSelectableListItemHandler Handler { get; set; }
}

New Type: CarPlay.ICPSessionConfigurationDelegate

public interface ICPSessionConfigurationDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void LimitedUserInterfacesChanged (CPSessionConfiguration sessionConfiguration, CPLimitableUserInterface limitedUserInterfaces);
}

New Type: CarPlay.ICPTabBarTemplateDelegate

public interface ICPTabBarTemplateDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidSelectTemplate (CPTabBarTemplate tabBarTemplate, CPTemplate selectedTemplate);
}

New Type: CarPlay.ICPTemplateApplicationDashboardSceneDelegate

public interface ICPTemplateApplicationDashboardSceneDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUISceneDelegate {
}

New Type: CarPlay.ICPTemplateApplicationSceneDelegate

public interface ICPTemplateApplicationSceneDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUISceneDelegate {
}

New Namespace Chip

New Type: Chip.ChipApplicationBasic

public class ChipApplicationBasic : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipApplicationBasic (Foundation.NSObjectFlag t);
	protected ChipApplicationBasic (IntPtr handle);
	public ChipApplicationBasic (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeApplication (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeApplicationAsync ();
	public virtual void ReadAttributeApplicationName (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeApplicationNameAsync ();
	public virtual void ReadAttributeApplicationSatus (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeApplicationSatusAsync ();
	public virtual void ReadAttributeCatalogVendorId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCatalogVendorIdAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeProductId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeProductIdAsync ();
	public virtual void ReadAttributeVendorId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeVendorIdAsync ();
	public virtual void ReadAttributeVendorName (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeVendorNameAsync ();
}

New Type: Chip.ChipBarrierControl

public class ChipBarrierControl : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipBarrierControl (Foundation.NSObjectFlag t);
	protected ChipBarrierControl (IntPtr handle);
	public ChipBarrierControl (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void GoToPercent (byte percentOpen, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GoToPercentAsync (byte percentOpen);
	public virtual void ReadAttributeBarrierCapabilities (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBarrierCapabilitiesAsync ();
	public virtual void ReadAttributeBarrierMovingState (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBarrierMovingStateAsync ();
	public virtual void ReadAttributeBarrierPosition (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBarrierPositionAsync ();
	public virtual void ReadAttributeBarrierSafetyStatus (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBarrierSafetyStatusAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void Stop (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StopAsync ();
}

New Type: Chip.ChipBasic

public class ChipBasic : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipBasic (Foundation.NSObjectFlag t);
	protected ChipBasic (IntPtr handle);
	public ChipBasic (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void GetMfgSpecificPing (ChipResponseHandler responseHandler);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeHardwareVersion (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeHardwareVersionAsync ();
	public virtual void ReadAttributeHardwareVersionString (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeHardwareVersionStringAsync ();
	public virtual void ReadAttributeInteractionModelVersion (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInteractionModelVersionAsync ();
	public virtual void ReadAttributeLocalConfigDisabled (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeLocalConfigDisabledAsync ();
	public virtual void ReadAttributeLocation (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeLocationAsync ();
	public virtual void ReadAttributeManufacturingDate (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeManufacturingDateAsync ();
	public virtual void ReadAttributePartNumber (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePartNumberAsync ();
	public virtual void ReadAttributeProductId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeProductIdAsync ();
	public virtual void ReadAttributeProductLabel (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeProductLabelAsync ();
	public virtual void ReadAttributeProductName (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeProductNameAsync ();
	public virtual void ReadAttributeProductUrl (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeProductUrlAsync ();
	public virtual void ReadAttributeSerialNumber (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSerialNumberAsync ();
	public virtual void ReadAttributeSoftwareVersion (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSoftwareVersionAsync ();
	public virtual void ReadAttributeSoftwareVersionString (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSoftwareVersionStringAsync ();
	public virtual void ReadAttributeUserLabel (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeUserLabelAsync ();
	public virtual void ReadAttributeVendorId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeVendorIdAsync ();
	public virtual void ReadAttributeVendorName (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeVendorNameAsync ();
	public virtual void WriteAttributeLocalConfigDisabled (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeLocalConfigDisabledAsync (byte value);
	public virtual void WriteAttributeLocation (string value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeLocationAsync (string value);
	public virtual void WriteAttributeUserLabel (string value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeUserLabelAsync (string value);
}

New Type: Chip.ChipBinding

public class ChipBinding : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipBinding (Foundation.NSObjectFlag t);
	protected ChipBinding (IntPtr handle);
	public ChipBinding (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Bind (ulong nodeId, ushort groupId, byte endpointId, ushort clusterId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> BindAsync (ulong nodeId, ushort groupId, byte endpointId, ushort clusterId);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void Unbind (ulong nodeId, ushort groupId, byte endpointId, ushort clusterId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UnbindAsync (ulong nodeId, ushort groupId, byte endpointId, ushort clusterId);
}

New Type: Chip.ChipCluster

public class ChipCluster : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipCluster (Foundation.NSObjectFlag t);
	protected ChipCluster (IntPtr handle);
	public ChipCluster (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Chip.ChipColorControl

public class ChipColorControl : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipColorControl (Foundation.NSObjectFlag t);
	protected ChipColorControl (IntPtr handle);
	public ChipColorControl (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeColorTemperature (ushort minInterval, ushort maxInterval, ushort change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeColorTemperatureAsync (ushort minInterval, ushort maxInterval, ushort change);
	public virtual void ConfigureAttributeCurrentHue (ushort minInterval, ushort maxInterval, byte change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentHueAsync (ushort minInterval, ushort maxInterval, byte change);
	public virtual void ConfigureAttributeCurrentSaturation (ushort minInterval, ushort maxInterval, byte change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentSaturationAsync (ushort minInterval, ushort maxInterval, byte change);
	public virtual void ConfigureAttributeCurrentX (ushort minInterval, ushort maxInterval, ushort change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentXAsync (ushort minInterval, ushort maxInterval, ushort change);
	public virtual void ConfigureAttributeCurrentY (ushort minInterval, ushort maxInterval, ushort change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentYAsync (ushort minInterval, ushort maxInterval, ushort change);
	public virtual void MoveColor (short rateX, short rateY, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveColorAsync (short rateX, short rateY, byte optionsMask, byte optionsOverride);
	public virtual void MoveColorTemperature (byte moveMode, ushort rate, ushort colorTemperatureMinimum, ushort colorTemperatureMaximum, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveColorTemperatureAsync (byte moveMode, ushort rate, ushort colorTemperatureMinimum, ushort colorTemperatureMaximum, byte optionsMask, byte optionsOverride);
	public virtual void MoveHue (byte moveMode, byte rate, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveHueAsync (byte moveMode, byte rate, byte optionsMask, byte optionsOverride);
	public virtual void MoveSaturation (byte moveMode, byte rate, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveSaturationAsync (byte moveMode, byte rate, byte optionsMask, byte optionsOverride);
	public virtual void MoveToColor (ushort colorX, ushort colorY, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToColorAsync (ushort colorX, ushort colorY, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void MoveToColorTemperature (ushort colorTemperature, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToColorTemperatureAsync (ushort colorTemperature, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void MoveToHue (byte hue, byte direction, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual void MoveToHueAndSaturation (byte hue, byte saturation, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToHueAndSaturationAsync (byte hue, byte saturation, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToHueAsync (byte hue, byte direction, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void MoveToSaturation (byte saturation, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToSaturationAsync (byte saturation, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeColorCapabilities (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorCapabilitiesAsync ();
	public virtual void ReadAttributeColorControlOptions (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorControlOptionsAsync ();
	public virtual void ReadAttributeColorLoopActive (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorLoopActiveAsync ();
	public virtual void ReadAttributeColorLoopDirection (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorLoopDirectionAsync ();
	public virtual void ReadAttributeColorLoopTime (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorLoopTimeAsync ();
	public virtual void ReadAttributeColorMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorModeAsync ();
	public virtual void ReadAttributeColorPointBIntensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointBIntensityAsync ();
	public virtual void ReadAttributeColorPointBX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointBXAsync ();
	public virtual void ReadAttributeColorPointBY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointBYAsync ();
	public virtual void ReadAttributeColorPointGIntensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointGIntensityAsync ();
	public virtual void ReadAttributeColorPointGX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointGXAsync ();
	public virtual void ReadAttributeColorPointGY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointGYAsync ();
	public virtual void ReadAttributeColorPointRIntensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointRIntensityAsync ();
	public virtual void ReadAttributeColorPointRX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointRXAsync ();
	public virtual void ReadAttributeColorPointRY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorPointRYAsync ();
	public virtual void ReadAttributeColorTempPhysicalMax (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorTempPhysicalMaxAsync ();
	public virtual void ReadAttributeColorTempPhysicalMin (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorTempPhysicalMinAsync ();
	public virtual void ReadAttributeColorTemperature (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeColorTemperatureAsync ();
	public virtual void ReadAttributeCompensationText (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCompensationTextAsync ();
	public virtual void ReadAttributeCoupleColorTempToLevelMinMireds (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCoupleColorTempToLevelMinMiredsAsync ();
	public virtual void ReadAttributeCurrentHue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentHueAsync ();
	public virtual void ReadAttributeCurrentSaturation (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentSaturationAsync ();
	public virtual void ReadAttributeCurrentX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentXAsync ();
	public virtual void ReadAttributeCurrentY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentYAsync ();
	public virtual void ReadAttributeDriftCompensation (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeDriftCompensationAsync ();
	public virtual void ReadAttributeEnhancedColorMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEnhancedColorModeAsync ();
	public virtual void ReadAttributeEnhancedCurrentHue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEnhancedCurrentHueAsync ();
	public virtual void ReadAttributeNumberOfPrimaries (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeNumberOfPrimariesAsync ();
	public virtual void ReadAttributePrimary1Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary1IntensityAsync ();
	public virtual void ReadAttributePrimary1X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary1XAsync ();
	public virtual void ReadAttributePrimary1Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary1YAsync ();
	public virtual void ReadAttributePrimary2Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary2IntensityAsync ();
	public virtual void ReadAttributePrimary2X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary2XAsync ();
	public virtual void ReadAttributePrimary2Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary2YAsync ();
	public virtual void ReadAttributePrimary3Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary3IntensityAsync ();
	public virtual void ReadAttributePrimary3X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary3XAsync ();
	public virtual void ReadAttributePrimary3Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary3YAsync ();
	public virtual void ReadAttributePrimary4Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary4IntensityAsync ();
	public virtual void ReadAttributePrimary4X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary4XAsync ();
	public virtual void ReadAttributePrimary4Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary4YAsync ();
	public virtual void ReadAttributePrimary5Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary5IntensityAsync ();
	public virtual void ReadAttributePrimary5X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary5XAsync ();
	public virtual void ReadAttributePrimary5Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary5YAsync ();
	public virtual void ReadAttributePrimary6Intensity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary6IntensityAsync ();
	public virtual void ReadAttributePrimary6X (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary6XAsync ();
	public virtual void ReadAttributePrimary6Y (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePrimary6YAsync ();
	public virtual void ReadAttributeRemainingTime (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeRemainingTimeAsync ();
	public virtual void ReadAttributeStartUpColorTemperatureMireds (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeStartUpColorTemperatureMiredsAsync ();
	public virtual void ReadAttributeWhitePointX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeWhitePointXAsync ();
	public virtual void ReadAttributeWhitePointY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeWhitePointYAsync ();
	public virtual void ReportAttributeColorTemperature (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeColorTemperatureAsync ();
	public virtual void ReportAttributeCurrentHue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentHueAsync ();
	public virtual void ReportAttributeCurrentSaturation (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentSaturationAsync ();
	public virtual void ReportAttributeCurrentX (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentXAsync ();
	public virtual void ReportAttributeCurrentY (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentYAsync ();
	public virtual void StepColor (short stepX, short stepY, ushort transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepColorAsync (short stepX, short stepY, ushort transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void StepColorTemperature (byte stepMode, ushort stepSize, ushort transitionTime, ushort colorTemperatureMinimum, ushort colorTemperatureMaximum, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepColorTemperatureAsync (byte stepMode, ushort stepSize, ushort transitionTime, ushort colorTemperatureMinimum, ushort colorTemperatureMaximum, byte optionsMask, byte optionsOverride);
	public virtual void StepHue (byte stepMode, byte stepSize, byte transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepHueAsync (byte stepMode, byte stepSize, byte transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void StepSaturation (byte stepMode, byte stepSize, byte transitionTime, byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepSaturationAsync (byte stepMode, byte stepSize, byte transitionTime, byte optionsMask, byte optionsOverride);
	public virtual void StopMoveStep (byte optionsMask, byte optionsOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StopMoveStepAsync (byte optionsMask, byte optionsOverride);
	public virtual void WriteAttributeColorControlOptions (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorControlOptionsAsync (byte value);
	public virtual void WriteAttributeColorPointBIntensity (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointBIntensityAsync (byte value);
	public virtual void WriteAttributeColorPointBX (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointBXAsync (ushort value);
	public virtual void WriteAttributeColorPointBY (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointBYAsync (ushort value);
	public virtual void WriteAttributeColorPointGIntensity (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointGIntensityAsync (byte value);
	public virtual void WriteAttributeColorPointGX (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointGXAsync (ushort value);
	public virtual void WriteAttributeColorPointGY (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointGYAsync (ushort value);
	public virtual void WriteAttributeColorPointRIntensity (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointRIntensityAsync (byte value);
	public virtual void WriteAttributeColorPointRX (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointRXAsync (ushort value);
	public virtual void WriteAttributeColorPointRY (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeColorPointRYAsync (ushort value);
	public virtual void WriteAttributeStartUpColorTemperatureMireds (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeStartUpColorTemperatureMiredsAsync (ushort value);
	public virtual void WriteAttributeWhitePointX (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeWhitePointXAsync (ushort value);
	public virtual void WriteAttributeWhitePointY (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeWhitePointYAsync (ushort value);
}

New Type: Chip.ChipDescriptor

public class ChipDescriptor : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipDescriptor (Foundation.NSObjectFlag t);
	protected ChipDescriptor (IntPtr handle);
	public ChipDescriptor (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClientList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClientListAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeDeviceList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeDeviceListAsync ();
	public virtual void ReadAttributePartsList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePartsListAsync ();
	public virtual void ReadAttributeServerList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeServerListAsync ();
}

New Type: Chip.ChipDevice

public class ChipDevice : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipDevice (Foundation.NSObjectFlag t);
	protected ChipDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsActive { get; }
	// methods
	public virtual bool OpenPairingWindow (nuint duration, out Foundation.NSError error);
	public virtual string OpenPairingWindow (nuint duration, nuint discriminator, nuint setupPin, out Foundation.NSError error);
}

New Type: Chip.ChipDeviceController

public class ChipDeviceController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipDeviceController (Foundation.NSObjectFlag t);
	protected ChipDeviceController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber ControllerNodeId { get; }
	public virtual bool IsRunning { get; }
	public static ChipDeviceController SharedController { get; }
	// methods
	public virtual ChipDevice GetPairedDevice (ulong deviceId, out Foundation.NSError error);
	public virtual bool PairDevice (ulong deviceId, string onboardingPayload, ChipOnboardingPayloadType onboardingPayloadType, out Foundation.NSError error);
	public virtual bool PairDevice (ulong deviceId, ushort discriminator, uint setupPinCode, out Foundation.NSError error);
	public virtual bool PairDevice (ulong deviceId, string address, ushort port, ushort discriminator, uint setupPinCode, out Foundation.NSError error);
	public virtual bool PairDeviceWithoutSecurity (ulong deviceId, string address, ushort port, out Foundation.NSError error);
	public virtual void SetListenPort (ushort port);
	public virtual void SetPairingDelegate (IChipDevicePairingDelegate delegate, CoreFoundation.DispatchQueue queue);
	public virtual bool Shutdown ();
	public virtual bool Startup (IChipPersistentStorageDelegate storageDelegate);
	public virtual bool StopDevicePairing (ulong deviceId, out Foundation.NSError error);
	public virtual bool UnpairDevice (ulong deviceId, out Foundation.NSError error);
	public virtual void UpdateDevice (ulong deviceId, ulong fabricId);
}

New Type: Chip.ChipDevicePairingDelegate

public class ChipDevicePairingDelegate : Foundation.NSObject, IChipDevicePairingDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ChipDevicePairingDelegate ();
	protected ChipDevicePairingDelegate (Foundation.NSObjectFlag t);
	protected ChipDevicePairingDelegate (IntPtr handle);
	// methods
	public virtual void OnAddressUpdated (Foundation.NSError error);
	public virtual void OnPairingComplete (Foundation.NSError error);
	public virtual void OnPairingDeleted (Foundation.NSError error);
	public virtual void OnStatusUpdate (ChipPairingStatus status);
}

New Type: Chip.ChipDevicePairingDelegate_Extensions

public static class ChipDevicePairingDelegate_Extensions {
	// methods
	public static void OnAddressUpdated (this IChipDevicePairingDelegate This, Foundation.NSError error);
	public static void OnPairingComplete (this IChipDevicePairingDelegate This, Foundation.NSError error);
	public static void OnPairingDeleted (this IChipDevicePairingDelegate This, Foundation.NSError error);
	public static void OnStatusUpdate (this IChipDevicePairingDelegate This, ChipPairingStatus status);
}

New Type: Chip.ChipDoorLock

public class ChipDoorLock : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipDoorLock (Foundation.NSObjectFlag t);
	protected ChipDoorLock (IntPtr handle);
	public ChipDoorLock (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ClearAllPins (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearAllPinsAsync ();
	public virtual void ClearAllRfids (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearAllRfidsAsync ();
	public virtual void ClearHolidaySchedule (byte scheduleId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearHolidayScheduleAsync (byte scheduleId);
	public virtual void ClearPin (ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearPinAsync (ushort userId);
	public virtual void ClearRfid (ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearRfidAsync (ushort userId);
	public virtual void ClearWeekdaySchedule (byte scheduleId, ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearWeekdayScheduleAsync (byte scheduleId, ushort userId);
	public virtual void ClearYeardaySchedule (byte scheduleId, ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearYeardayScheduleAsync (byte scheduleId, ushort userId);
	public virtual void ConfigureAttributeLockState (ushort minInterval, ushort maxInterval, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeLockStateAsync (ushort minInterval, ushort maxInterval);
	public virtual void GetHolidaySchedule (byte scheduleId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetHolidayScheduleAsync (byte scheduleId);
	public virtual void GetLogRecord (ushort logIndex, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetLogRecordAsync (ushort logIndex);
	public virtual void GetPin (ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetPinAsync (ushort userId);
	public virtual void GetRfid (ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetRfidAsync (ushort userId);
	public virtual void GetUserType (ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetUserTypeAsync (ushort userId);
	public virtual void GetWeekdaySchedule (byte scheduleId, ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetWeekdayScheduleAsync (byte scheduleId, ushort userId);
	public virtual void GetYeardaySchedule (byte scheduleId, ushort userId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetYeardayScheduleAsync (byte scheduleId, ushort userId);
	public virtual void LockDoor (string pin, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> LockDoorAsync (string pin);
	public virtual void ReadAttributeActuatorEnabled (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeActuatorEnabledAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeLockState (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeLockStateAsync ();
	public virtual void ReadAttributeLockType (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeLockTypeAsync ();
	public virtual void ReportAttributeLockState (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeLockStateAsync ();
	public virtual void SetHolidaySchedule (byte scheduleId, uint localStartTime, uint localEndTime, byte operatingModeDuringHoliday, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetHolidayScheduleAsync (byte scheduleId, uint localStartTime, uint localEndTime, byte operatingModeDuringHoliday);
	public virtual void SetPin (ushort userId, byte userStatus, byte userType, string pin, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetPinAsync (ushort userId, byte userStatus, byte userType, string pin);
	public virtual void SetRfid (ushort userId, byte userStatus, byte userType, string id, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetRfidAsync (ushort userId, byte userStatus, byte userType, string id);
	public virtual void SetUserType (ushort userId, byte userType, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetUserTypeAsync (ushort userId, byte userType);
	public virtual void SetWeekdaySchedule (byte scheduleId, ushort userId, byte daysMask, byte startHour, byte startMinute, byte endHour, byte endMinute, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetWeekdayScheduleAsync (byte scheduleId, ushort userId, byte daysMask, byte startHour, byte startMinute, byte endHour, byte endMinute);
	public virtual void SetYeardaySchedule (byte scheduleId, ushort userId, uint localStartTime, uint localEndTime, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetYeardayScheduleAsync (byte scheduleId, ushort userId, uint localStartTime, uint localEndTime);
	public virtual void UnlockDoor (string pin, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UnlockDoorAsync (string pin);
	public virtual void UnlockWithTimeout (ushort timeoutInSeconds, string pin, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UnlockWithTimeoutAsync (ushort timeoutInSeconds, string pin);
}

New Type: Chip.ChipError

public class ChipError : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipError (Foundation.NSObjectFlag t);
	protected ChipError (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static int ConvertToChipErrorCode (Foundation.NSError errorCode);
	public static Foundation.NSError Create (int errorCode);
}

New Type: Chip.ChipErrorCode

[Serializable]
public enum ChipErrorCode {
	DuplicateExists = 9,
	IntegrityCheckFailed = 8,
	InvalidArgument = 4,
	InvalidIntegerValue = 3,
	InvalidMessageLength = 5,
	InvalidState = 6,
	InvalidStringLength = 2,
	Success = 0,
	UndefinedError = 1,
	WrongAddressType = 7,
}

New Type: Chip.ChipErrorCodeExtensions

public static class ChipErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this ChipErrorCode self);
}

New Type: Chip.ChipGeneralCommissioning

public class ChipGeneralCommissioning : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipGeneralCommissioning (Foundation.NSObjectFlag t);
	protected ChipGeneralCommissioning (IntPtr handle);
	public ChipGeneralCommissioning (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ArmFailSafe (ushort expiryLengthSeconds, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ArmFailSafeAsync (ushort expiryLengthSeconds, ulong breadcrumb, uint timeoutMs);
	public virtual void CommissioningComplete (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> CommissioningCompleteAsync ();
	public virtual void ReadAttributeBreadcrumb (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBreadcrumbAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeFabricId (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeFabricIdAsync ();
	public virtual void SetRegulatoryConfig (byte location, string countryCode, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetRegulatoryConfigAsync (byte location, string countryCode, ulong breadcrumb, uint timeoutMs);
	public virtual void WriteAttributeBreadcrumb (ulong value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBreadcrumbAsync (ulong value);
}

New Type: Chip.ChipGroupKeyManagement

public class ChipGroupKeyManagement : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipGroupKeyManagement (Foundation.NSObjectFlag t);
	protected ChipGroupKeyManagement (IntPtr handle);
	public ChipGroupKeyManagement (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeGroupKeys (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeGroupKeysAsync ();
	public virtual void ReadAttributeGroups (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeGroupsAsync ();
}

New Type: Chip.ChipGroups

public class ChipGroups : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipGroups (Foundation.NSObjectFlag t);
	protected ChipGroups (IntPtr handle);
	public ChipGroups (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddGroup (ushort groupId, string groupName, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> AddGroupAsync (ushort groupId, string groupName);
	public virtual void AddGroupIfIdentifying (ushort groupId, string groupName, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> AddGroupIfIdentifyingAsync (ushort groupId, string groupName);
	public virtual void GetGroupMembership (byte groupCount, ushort groupList, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetGroupMembershipAsync (byte groupCount, ushort groupList);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeNameSupport (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeNameSupportAsync ();
	public virtual void RemoveAllGroups (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveAllGroupsAsync ();
	public virtual void RemoveGroup (ushort groupId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveGroupAsync (ushort groupId);
	public virtual void ViewGroup (ushort groupId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ViewGroupAsync (ushort groupId);
}

New Type: Chip.ChipIdentify

public class ChipIdentify : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipIdentify (Foundation.NSObjectFlag t);
	protected ChipIdentify (IntPtr handle);
	public ChipIdentify (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Identify (ushort identifyTime, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> IdentifyAsync (ushort identifyTime);
	public virtual void IdentifyQuery (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> IdentifyQueryAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeIdentifyTime (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeIdentifyTimeAsync ();
	public virtual void WriteAttributeIdentifyTime (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeIdentifyTimeAsync (ushort value);
}

New Type: Chip.ChipLevelControl

public class ChipLevelControl : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipLevelControl (Foundation.NSObjectFlag t);
	protected ChipLevelControl (IntPtr handle);
	public ChipLevelControl (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeCurrentLevel (ushort minInterval, ushort maxInterval, byte change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentLevelAsync (ushort minInterval, ushort maxInterval, byte change);
	public virtual void Move (byte moveMode, byte rate, byte optionMask, byte optionOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveAsync (byte moveMode, byte rate, byte optionMask, byte optionOverride);
	public virtual void MoveToLevel (byte level, ushort transitionTime, byte optionMask, byte optionOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToLevelAsync (byte level, ushort transitionTime, byte optionMask, byte optionOverride);
	public virtual void MoveToLevelWithOnOff (byte level, ushort transitionTime, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveToLevelWithOnOffAsync (byte level, ushort transitionTime);
	public virtual void MoveWithOnOff (byte moveMode, byte rate, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> MoveWithOnOffAsync (byte moveMode, byte rate);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeCurrentLevel (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentLevelAsync ();
	public virtual void ReportAttributeCurrentLevel (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentLevelAsync ();
	public virtual void Step (byte stepMode, byte stepSize, ushort transitionTime, byte optionMask, byte optionOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepAsync (byte stepMode, byte stepSize, ushort transitionTime, byte optionMask, byte optionOverride);
	public virtual void StepWithOnOff (byte stepMode, byte stepSize, ushort transitionTime, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StepWithOnOffAsync (byte stepMode, byte stepSize, ushort transitionTime);
	public virtual void Stop (byte optionMask, byte optionOverride, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StopAsync (byte optionMask, byte optionOverride);
	public virtual void StopWithOnOff (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StopWithOnOffAsync ();
}

New Type: Chip.ChipLowPower

public class ChipLowPower : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipLowPower (Foundation.NSObjectFlag t);
	protected ChipLowPower (IntPtr handle);
	public ChipLowPower (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void Sleep (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SleepAsync ();
}

New Type: Chip.ChipManualSetupPayloadParser

public class ChipManualSetupPayloadParser : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipManualSetupPayloadParser (Foundation.NSObjectFlag t);
	protected ChipManualSetupPayloadParser (IntPtr handle);
	public ChipManualSetupPayloadParser (string decimalStringRepresentation);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual ChipSetupPayload PopulatePayload (out Foundation.NSError error);
}

New Type: Chip.ChipNetworkCommissioning

public class ChipNetworkCommissioning : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipNetworkCommissioning (Foundation.NSObjectFlag t);
	protected ChipNetworkCommissioning (IntPtr handle);
	public ChipNetworkCommissioning (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddThreadNetwork (Foundation.NSData operationalDataset, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> AddThreadNetworkAsync (Foundation.NSData operationalDataset, ulong breadcrumb, uint timeoutMs);
	public virtual void AddWiFiNetwork (Foundation.NSData ssid, Foundation.NSData credentials, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> AddWiFiNetworkAsync (Foundation.NSData ssid, Foundation.NSData credentials, ulong breadcrumb, uint timeoutMs);
	public virtual void DisableNetwork (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> DisableNetworkAsync (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs);
	public virtual void EnableNetwork (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> EnableNetworkAsync (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs);
	public virtual void GetLastNetworkCommissioningResult (uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetLastNetworkCommissioningResultAsync (uint timeoutMs);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void RemoveNetwork (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveNetworkAsync (Foundation.NSData networkId, ulong breadcrumb, uint timeoutMs);
	public virtual void ScanNetworks (Foundation.NSData ssid, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ScanNetworksAsync (Foundation.NSData ssid, ulong breadcrumb, uint timeoutMs);
	public virtual void UpdateThreadNetwork (Foundation.NSData operationalDataset, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UpdateThreadNetworkAsync (Foundation.NSData operationalDataset, ulong breadcrumb, uint timeoutMs);
	public virtual void UpdateWiFiNetwork (Foundation.NSData ssid, Foundation.NSData credentials, ulong breadcrumb, uint timeoutMs, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UpdateWiFiNetworkAsync (Foundation.NSData ssid, Foundation.NSData credentials, ulong breadcrumb, uint timeoutMs);
}

New Type: Chip.ChipOnOff

public class ChipOnOff : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipOnOff (Foundation.NSObjectFlag t);
	protected ChipOnOff (IntPtr handle);
	public ChipOnOff (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeOnOff (ushort minInterval, ushort maxInterval, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeOnOffAsync (ushort minInterval, ushort maxInterval);
	public virtual void Off (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> OffAsync ();
	public virtual void On (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> OnAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeOnOff (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOnOffAsync ();
	public virtual void ReportAttributeOnOff (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeOnOffAsync ();
	public virtual void Toggle (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ToggleAsync ();
}

New Type: Chip.ChipOnboardingPayloadParser

public class ChipOnboardingPayloadParser : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipOnboardingPayloadParser (Foundation.NSObjectFlag t);
	protected ChipOnboardingPayloadParser (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static ChipSetupPayload SetupPayload (string onboardingPayload, ChipOnboardingPayloadType type, out Foundation.NSError error);
}

New Type: Chip.ChipOnboardingPayloadType

[Serializable]
public enum ChipOnboardingPayloadType {
	Admin = 3,
	ManualCode = 1,
	Nfc = 2,
	QRCode = 0,
}

New Type: Chip.ChipOperationalCredentials

public class ChipOperationalCredentials : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipOperationalCredentials (Foundation.NSObjectFlag t);
	protected ChipOperationalCredentials (IntPtr handle);
	public ChipOperationalCredentials (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeFabricsList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeFabricsListAsync ();
	public virtual void RemoveAllFabrics (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveAllFabricsAsync ();
	public virtual void RemoveFabric (ulong fabricId, ulong nodeId, ushort vendorId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveFabricAsync (ulong fabricId, ulong nodeId, ushort vendorId);
	public virtual void SetFabric (ushort vendorId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetFabricAsync (ushort vendorId);
	public virtual void UpdateFabricLabel (string label, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> UpdateFabricLabelAsync (string label);
}

New Type: Chip.ChipOptionalQRCodeInfo

public class ChipOptionalQRCodeInfo : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipOptionalQRCodeInfo (Foundation.NSObjectFlag t);
	protected ChipOptionalQRCodeInfo (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber InfoType { get; set; }
	public virtual Foundation.NSNumber IntegerValue { get; set; }
	public virtual string StringValue { get; set; }
	public virtual Foundation.NSNumber Tag { get; set; }
}

New Type: Chip.ChipOptionalQRCodeInfoType

[Serializable]
public enum ChipOptionalQRCodeInfoType {
	Int32 = 2,
	String = 1,
	Unknown = 0,
}

New Type: Chip.ChipPairingStatus

[Serializable]
public enum ChipPairingStatus {
	SecurePairingFailed = 1,
	SecurePairingSuccess = 0,
	UnknownStatus = 2,
}

New Type: Chip.ChipPersistentStorageDelegate

public abstract class ChipPersistentStorageDelegate : Foundation.NSObject, IChipPersistentStorageDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipPersistentStorageDelegate ();
	protected ChipPersistentStorageDelegate (Foundation.NSObjectFlag t);
	protected ChipPersistentStorageDelegate (IntPtr handle);
	// methods
	public virtual void DeleteValue (string key);
	public virtual string GetValue (string key);
	public virtual void SetValue (string key, string value);
}

New Type: Chip.ChipPumpConfigurationAndControl

public class ChipPumpConfigurationAndControl : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipPumpConfigurationAndControl (Foundation.NSObjectFlag t);
	protected ChipPumpConfigurationAndControl (IntPtr handle);
	public ChipPumpConfigurationAndControl (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeCapacity (ushort minInterval, ushort maxInterval, short change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCapacityAsync (ushort minInterval, ushort maxInterval, short change);
	public virtual void ReadAttributeCapacity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCapacityAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeEffectiveControlMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEffectiveControlModeAsync ();
	public virtual void ReadAttributeEffectiveOperationMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEffectiveOperationModeAsync ();
	public virtual void ReadAttributeMaxFlow (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMaxFlowAsync ();
	public virtual void ReadAttributeMaxPressure (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMaxPressureAsync ();
	public virtual void ReadAttributeMaxSpeed (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMaxSpeedAsync ();
	public virtual void ReadAttributeOperationMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOperationModeAsync ();
	public virtual void ReportAttributeCapacity (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCapacityAsync ();
	public virtual void WriteAttributeOperationMode (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeOperationModeAsync (byte value);
}

New Type: Chip.ChipQRCodeSetupPayloadParser

public class ChipQRCodeSetupPayloadParser : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipQRCodeSetupPayloadParser (Foundation.NSObjectFlag t);
	protected ChipQRCodeSetupPayloadParser (IntPtr handle);
	public ChipQRCodeSetupPayloadParser (string base38Representation);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual ChipSetupPayload PopulatePayload (out Foundation.NSError error);
}

New Type: Chip.ChipReadAttributeResult

public class ChipReadAttributeResult {
	// constructors
	public ChipReadAttributeResult (Foundation.NSError error, Foundation.NSDictionary data);
	// properties
	public Foundation.NSDictionary Data { get; set; }
	public Foundation.NSError Error { get; set; }
}

New Type: Chip.ChipRendezvousInformationFlags

[Serializable]
public enum ChipRendezvousInformationFlags {
	AllMask = 7,
	Ble = 2,
	None = 0,
	OnNetwork = 4,
	SoftAP = 1,
}

New Type: Chip.ChipResponseHandler

public sealed delegate ChipResponseHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ChipResponseHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSError error, Foundation.NSDictionary data, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSError error, Foundation.NSDictionary data);
}

New Type: Chip.ChipScenes

public class ChipScenes : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipScenes (Foundation.NSObjectFlag t);
	protected ChipScenes (IntPtr handle);
	public ChipScenes (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddScene (ushort groupId, byte sceneId, ushort transitionTime, string sceneName, ushort clusterId, byte length, byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> AddSceneAsync (ushort groupId, byte sceneId, ushort transitionTime, string sceneName, ushort clusterId, byte length, byte value);
	public virtual void GetSceneMembership (ushort groupId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetSceneMembershipAsync (ushort groupId);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeCurrentGroup (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentGroupAsync ();
	public virtual void ReadAttributeCurrentScene (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentSceneAsync ();
	public virtual void ReadAttributeNameSupport (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeNameSupportAsync ();
	public virtual void ReadAttributeSceneCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSceneCountAsync ();
	public virtual void ReadAttributeSceneValid (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSceneValidAsync ();
	public virtual void RecallScene (ushort groupId, byte sceneId, ushort transitionTime, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RecallSceneAsync (ushort groupId, byte sceneId, ushort transitionTime);
	public virtual void RemoveAllScenes (ushort groupId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveAllScenesAsync (ushort groupId);
	public virtual void RemoveScene (ushort groupId, byte sceneId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RemoveSceneAsync (ushort groupId, byte sceneId);
	public virtual void StoreScene (ushort groupId, byte sceneId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StoreSceneAsync (ushort groupId, byte sceneId);
	public virtual void ViewScene (ushort groupId, byte sceneId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ViewSceneAsync (ushort groupId, byte sceneId);
}

New Type: Chip.ChipSetupPayload

public class ChipSetupPayload : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipSetupPayload (Foundation.NSObjectFlag t);
	protected ChipSetupPayload (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber Discriminator { get; set; }
	public virtual Foundation.NSNumber ProductId { get; set; }
	public virtual ChipRendezvousInformationFlags RendezvousInformation { get; set; }
	public virtual bool RequiresCustomFlow { get; set; }
	public virtual string SerialNumber { get; set; }
	public virtual Foundation.NSNumber SetUpPinCode { get; set; }
	public virtual Foundation.NSNumber VendorId { get; set; }
	public virtual Foundation.NSNumber Version { get; set; }
	// methods
	public virtual ChipOptionalQRCodeInfo[] GetAllOptionalVendorData (out Foundation.NSError error);
}

New Type: Chip.ChipSwitch

public class ChipSwitch : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipSwitch (Foundation.NSObjectFlag t);
	protected ChipSwitch (IntPtr handle);
	public ChipSwitch (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeCurrentPosition (ushort minInterval, ushort maxInterval, byte change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeCurrentPositionAsync (ushort minInterval, ushort maxInterval, byte change);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeCurrentPosition (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentPositionAsync ();
	public virtual void ReadAttributeNumberOfPositions (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeNumberOfPositionsAsync ();
	public virtual void ReportAttributeCurrentPosition (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeCurrentPositionAsync ();
}

New Type: Chip.ChipTemperatureMeasurement

public class ChipTemperatureMeasurement : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipTemperatureMeasurement (Foundation.NSObjectFlag t);
	protected ChipTemperatureMeasurement (IntPtr handle);
	public ChipTemperatureMeasurement (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributeMeasuredValue (ushort minInterval, ushort maxInterval, short change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeMeasuredValueAsync (ushort minInterval, ushort maxInterval, short change);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeMaxMeasuredValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMaxMeasuredValueAsync ();
	public virtual void ReadAttributeMeasuredValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMeasuredValueAsync ();
	public virtual void ReadAttributeMinMeasuredValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMinMeasuredValueAsync ();
	public virtual void ReportAttributeMeasuredValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeMeasuredValueAsync ();
}

New Type: Chip.ChipTestCluster

public class ChipTestCluster : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipTestCluster (Foundation.NSObjectFlag t);
	protected ChipTestCluster (IntPtr handle);
	public ChipTestCluster (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeBitmap16 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBitmap16Async ();
	public virtual void ReadAttributeBitmap32 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBitmap32Async ();
	public virtual void ReadAttributeBitmap64 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBitmap64Async ();
	public virtual void ReadAttributeBitmap8 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBitmap8Async ();
	public virtual void ReadAttributeBoolean (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeBooleanAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeEnum16 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEnum16Async ();
	public virtual void ReadAttributeEnum8 (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeEnum8Async ();
	public virtual void ReadAttributeInt16s (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt16sAsync ();
	public virtual void ReadAttributeInt16u (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt16uAsync ();
	public virtual void ReadAttributeInt32s (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt32sAsync ();
	public virtual void ReadAttributeInt32u (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt32uAsync ();
	public virtual void ReadAttributeInt64s (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt64sAsync ();
	public virtual void ReadAttributeInt64u (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt64uAsync ();
	public virtual void ReadAttributeInt8s (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt8sAsync ();
	public virtual void ReadAttributeInt8u (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInt8uAsync ();
	public virtual void ReadAttributeListInt8u (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeListInt8uAsync ();
	public virtual void ReadAttributeOctetString (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOctetStringAsync ();
	public virtual void Test (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> TestAsync ();
	public virtual void TestNotHandled (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> TestNotHandledAsync ();
	public virtual void TestSpecific (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> TestSpecificAsync ();
	public virtual void WriteAttributeBitmap16 (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBitmap16Async (ushort value);
	public virtual void WriteAttributeBitmap32 (uint value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBitmap32Async (uint value);
	public virtual void WriteAttributeBitmap64 (ulong value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBitmap64Async (ulong value);
	public virtual void WriteAttributeBitmap8 (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBitmap8Async (byte value);
	public virtual void WriteAttributeBoolean (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeBooleanAsync (byte value);
	public virtual void WriteAttributeEnum16 (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeEnum16Async (ushort value);
	public virtual void WriteAttributeEnum8 (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeEnum8Async (byte value);
	public virtual void WriteAttributeInt16s (short value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt16sAsync (short value);
	public virtual void WriteAttributeInt16u (ushort value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt16uAsync (ushort value);
	public virtual void WriteAttributeInt32s (int value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt32sAsync (int value);
	public virtual void WriteAttributeInt32u (uint value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt32uAsync (uint value);
	public virtual void WriteAttributeInt64s (long value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt64sAsync (long value);
	public virtual void WriteAttributeInt64u (ulong value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt64uAsync (ulong value);
	public virtual void WriteAttributeInt8s (sbyte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt8sAsync (sbyte value);
	public virtual void WriteAttributeInt8u (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeInt8uAsync (byte value);
	public virtual void WriteAttributeOctetString (Foundation.NSData value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeOctetStringAsync (Foundation.NSData value);
}

New Type: Chip.ChipThermostat

public class ChipThermostat : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipThermostat (Foundation.NSObjectFlag t);
	protected ChipThermostat (IntPtr handle);
	public ChipThermostat (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ClearWeeklySchedule (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ClearWeeklyScheduleAsync ();
	public virtual void ConfigureAttributeLocalTemperature (ushort minInterval, ushort maxInterval, short change, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeLocalTemperatureAsync (ushort minInterval, ushort maxInterval, short change);
	public virtual void GetRelayStatusLog (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetRelayStatusLogAsync ();
	public virtual void GetWeeklySchedule (byte daysToReturn, byte modeToReturn, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> GetWeeklyScheduleAsync (byte daysToReturn, byte modeToReturn);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeControlSequenceOfOperation (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeControlSequenceOfOperationAsync ();
	public virtual void ReadAttributeLocalTemperature (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeLocalTemperatureAsync ();
	public virtual void ReadAttributeOccupiedCoolingSetpoint (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOccupiedCoolingSetpointAsync ();
	public virtual void ReadAttributeOccupiedHeatingSetpoint (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOccupiedHeatingSetpointAsync ();
	public virtual void ReadAttributeSystemMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeSystemModeAsync ();
	public virtual void ReportAttributeLocalTemperature (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeLocalTemperatureAsync ();
	public virtual void SetWeeklySchedule (byte numberOfTransitionsForSequence, byte dayOfWeekForSequence, byte modeForSequence, byte payload, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetWeeklyScheduleAsync (byte numberOfTransitionsForSequence, byte dayOfWeekForSequence, byte modeForSequence, byte payload);
	public virtual void SetpointRaiseLower (byte mode, sbyte amount, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SetpointRaiseLowerAsync (byte mode, sbyte amount);
	public virtual void WriteAttributeControlSequenceOfOperation (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeControlSequenceOfOperationAsync (byte value);
	public virtual void WriteAttributeOccupiedCoolingSetpoint (short value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeOccupiedCoolingSetpointAsync (short value);
	public virtual void WriteAttributeOccupiedHeatingSetpoint (short value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeOccupiedHeatingSetpointAsync (short value);
	public virtual void WriteAttributeSystemMode (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeSystemModeAsync (byte value);
}

New Type: Chip.IChipDevicePairingDelegate

public interface IChipDevicePairingDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: Chip.IChipPersistentStorageDelegate

public interface IChipPersistentStorageDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DeleteValue (string key);
	public virtual string GetValue (string key);
	public virtual void SetValue (string key, string value);
}

New Namespace CoreAnimation

New Type: CoreAnimation.CAEAGLLayer

public class CAEAGLLayer : CoreAnimation.CALayer, ICAMediaTiming, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, OpenGLES.IEAGLDrawable, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CAEAGLLayer ();
	public CAEAGLLayer (Foundation.NSCoder coder);
	protected CAEAGLLayer (Foundation.NSObjectFlag t);
	protected CAEAGLLayer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary DrawableProperties { get; set; }
	public virtual bool PresentsWithTransaction { get; set; }
	// methods
	public static CALayer Create ();
}

New Namespace CoreAudioKit

New Type: CoreAudioKit.CAInterAppAudioSwitcherView

public class CAInterAppAudioSwitcherView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public CAInterAppAudioSwitcherView ();
	public CAInterAppAudioSwitcherView (CoreGraphics.CGRect bounds);
	public CAInterAppAudioSwitcherView (Foundation.NSCoder coder);
	protected CAInterAppAudioSwitcherView (Foundation.NSObjectFlag t);
	protected CAInterAppAudioSwitcherView (IntPtr handle);
	// properties
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ShowingAppNames { get; set; }
	// methods
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual nfloat ContentWidth ();
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance GetAppearance<T> ();
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetOutputAudioUnit (AudioUnit.AudioUnit audioUnit);

	// inner types
	public class CAInterAppAudioSwitcherViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected CAInterAppAudioSwitcherView.CAInterAppAudioSwitcherViewAppearance (IntPtr handle);
	}
}

New Type: CoreAudioKit.CAInterAppAudioTransportView

public class CAInterAppAudioTransportView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public CAInterAppAudioTransportView ();
	public CAInterAppAudioTransportView (CoreGraphics.CGRect bounds);
	public CAInterAppAudioTransportView (Foundation.NSCoder coder);
	protected CAInterAppAudioTransportView (Foundation.NSObjectFlag t);
	protected CAInterAppAudioTransportView (IntPtr handle);
	// properties
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool Connected { get; }
	public virtual UIKit.UIFont CurrentTimeLabelFont { get; set; }
	public virtual bool Enabled { get; set; }
	public virtual UIKit.UIColor LabelColor { get; set; }
	public virtual UIKit.UIColor PauseButtonColor { get; set; }
	public virtual UIKit.UIColor PlayButtonColor { get; set; }
	public virtual bool Playing { get; }
	public virtual UIKit.UIColor RecordButtonColor { get; set; }
	public virtual bool Recording { get; }
	public virtual UIKit.UIColor RewindButtonColor { get; set; }
	// methods
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance GetAppearance<T> ();
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetOutputAudioUnit (AudioUnit.AudioUnit audioUnit);

	// inner types
	public class CAInterAppAudioTransportViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected CAInterAppAudioTransportView.CAInterAppAudioTransportViewAppearance (IntPtr handle);
	}
}

New Namespace CoreBluetooth

New Type: CoreBluetooth.CBPeripheralsEventArgs

public class CBPeripheralsEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralsEventArgs (CBPeripheral[] peripherals);
	// properties
	public CBPeripheral[] Peripherals { get; set; }
}

New Namespace CoreLocationUI

New Type: CoreLocationUI.CLLocationButton

public class CLLocationButton : UIKit.UIControl, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContextMenuInteractionDelegate, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public CLLocationButton ();
	public CLLocationButton (CoreGraphics.CGRect frame);
	public CLLocationButton (Foundation.NSCoder coder);
	protected CLLocationButton (Foundation.NSObjectFlag t);
	protected CLLocationButton (IntPtr handle);
	// properties
	public static CLLocationButton.CLLocationButtonAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat CornerRadius { get; set; }
	public virtual nfloat FontSize { get; set; }
	public virtual CLLocationButtonIcon Icon { get; set; }
	public virtual CLLocationButtonLabel Label { get; set; }
	// methods
	public static CLLocationButton.CLLocationButtonAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> ();
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CLLocationButton.CLLocationButtonAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class CLLocationButtonAppearance : UIKit.UIControl+UIControlAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected CLLocationButton.CLLocationButtonAppearance (IntPtr handle);
	}
}

New Type: CoreLocationUI.CLLocationButtonIcon

[Serializable]
public enum CLLocationButtonIcon {
	ArrowFilled = 1,
	ArrowOutline = 2,
	None = 0,
}

New Type: CoreLocationUI.CLLocationButtonLabel

[Serializable]
public enum CLLocationButtonLabel {
	CurrentLocation = 1,
	None = 0,
	SendCurrentLocation = 2,
	SendMyCurrentLocation = 3,
	ShareCurrentLocation = 4,
	ShareMyCurrentLocation = 5,
}

New Namespace CoreNFC

New Type: CoreNFC.EncryptionId

[Serializable]
public enum EncryptionId {
	Aes = 79,
	Des = 65,
}

New Type: CoreNFC.INFCFeliCaTag

public interface INFCFeliCaTag : INFCNdefTag, INFCTag, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData CurrentIdm { get; }
	public virtual Foundation.NSData CurrentSystemCode { get; }
	// methods
	public virtual void Polling (Foundation.NSData systemCode, PollingRequestCode requestCode, PollingTimeSlot timeSlot, NFCFeliCaPollingCompletionHandler completionHandler);
	public virtual void ReadWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, NFCFeliCaReadWithoutEncryptionCompletionHandler completionHandler);
	public virtual void RequestResponse (System.Action<System.nint,Foundation.NSError> completionHandler);
	public virtual void RequestService (Foundation.NSData[] nodeCodeList, System.Action<Foundation.NSData[],Foundation.NSError> completionHandler);
	public virtual void RequestServiceV2 (Foundation.NSData[] nodeCodeList, NFCFeliCaRequestServiceV2CompletionHandler completionHandler);
	public virtual void RequestSpecificationVersion (NFCFeliCaRequestSpecificationVersionCompletionHandler completionHandler);
	public virtual void RequestSystemCode (System.Action<Foundation.NSData[],Foundation.NSError> completionHandler);
	public virtual void ResetMode (NFCFeliCaStatus1Status2CompletionHandler completionHandler);
	public virtual void Send (Foundation.NSData commandPacket, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public virtual void WriteWithoutEncryption (Foundation.NSData[] serviceCodeList, Foundation.NSData[] blockList, Foundation.NSData[] blockData, NFCFeliCaStatus1Status2CompletionHandler completionHandler);
}

New Type: CoreNFC.INFCIso15693Tag

public interface INFCIso15693Tag : INFCNdefTag, INFCTag, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint IcManufacturerCode { get; }
	public virtual Foundation.NSData IcSerialNumber { get; }
	public virtual Foundation.NSData Identifier { get; }
	// methods
	public virtual void ReadMultipleBlocks (NFCIso15693ReadMultipleBlocksConfiguration readConfiguration, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public virtual void SendCustomCommand (NFCIso15693CustomCommandConfiguration commandConfiguration, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
}

New Type: CoreNFC.INFCIso7816Tag

public interface INFCIso7816Tag : INFCNdefTag, INFCTag, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData ApplicationData { get; }
	public virtual Foundation.NSData HistoricalBytes { get; }
	public virtual Foundation.NSData Identifier { get; }
	public virtual string InitialSelectedAid { get; }
	public virtual bool ProprietaryApplicationDataCoding { get; }
	// methods
	public virtual void SendCommand (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler);
}

New Type: CoreNFC.INFCMiFareTag

public interface INFCMiFareTag : INFCNdefTag, INFCTag, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData HistoricalBytes { get; }
	public virtual Foundation.NSData Identifier { get; }
	// methods
	public virtual void SendMiFareCommand (Foundation.NSData command, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public virtual void SendMiFareIso7816Command (NFCIso7816Apdu apdu, NFCIso7816SendCompletionHandler completionHandler);
}

New Type: CoreNFC.INFCNdefReaderSessionDelegate

public interface INFCNdefReaderSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidDetect (NFCNdefReaderSession session, NFCNdefMessage[] messages);
	public virtual void DidInvalidate (NFCNdefReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.INFCNdefTag

public interface INFCNdefTag : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Available { get; }
	// methods
	public virtual void QueryNdefStatus (NFCQueryNdefStatusCompletionHandler completionHandler);
	public virtual void ReadNdef (System.Action<NFCNdefMessage,Foundation.NSError> completionHandler);
	public virtual void WriteLock (System.Action<Foundation.NSError> completionHandler);
	public virtual void WriteNdef (NFCNdefMessage ndefMessage, System.Action<Foundation.NSError> completionHandler);
}

New Type: CoreNFC.INFCReaderSessionContract

public interface INFCReaderSessionContract : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string AlertMessage { get; set; }
	public virtual bool Ready { get; }
	// methods
	public virtual void BeginSession ();
	public virtual void InvalidateSession ();
}

New Type: CoreNFC.INFCReaderSessionDelegate

public interface INFCReaderSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidBecomeActive (NFCReaderSession session);
	public virtual void DidDetectTags (NFCReaderSession session, INFCTag[] tags);
	public virtual void DidInvalidate (NFCReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.INFCTag

public interface INFCTag : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Available { get; }
	public virtual NFCReaderSession Session { get; }
	public virtual NFCTagType Type { get; }
}

New Type: CoreNFC.INFCTagReaderSessionDelegate

public interface INFCTagReaderSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidInvalidate (NFCTagReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.INFCVasReaderSessionDelegate

public interface INFCVasReaderSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidInvalidate (NFCVasReaderSession session, Foundation.NSError error);
	public virtual void DidReceiveVasResponses (NFCVasReaderSession session, NFCVasResponse[] responses);
}

New Type: CoreNFC.NFCFeliCaPollingCompletionHandler

public sealed delegate NFCFeliCaPollingCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCFeliCaPollingCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData pmm, Foundation.NSData requestData, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData pmm, Foundation.NSData requestData, Foundation.NSError error);
}

New Type: CoreNFC.NFCFeliCaReadWithoutEncryptionCompletionHandler

public sealed delegate NFCFeliCaReadWithoutEncryptionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCFeliCaReadWithoutEncryptionCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nint statusFlag1, nint statusFlag2, Foundation.NSData[] blockData, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (nint statusFlag1, nint statusFlag2, Foundation.NSData[] blockData, Foundation.NSError error);
}

New Type: CoreNFC.NFCFeliCaRequestServiceV2CompletionHandler

public sealed delegate NFCFeliCaRequestServiceV2CompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCFeliCaRequestServiceV2CompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nint statusFlag1, nint statusFlag2, EncryptionId encryptionIdentifier, Foundation.NSData[] nodeKeyVersionListAes, Foundation.NSData[] nodeKeyVersionListDes, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (nint statusFlag1, nint statusFlag2, EncryptionId encryptionIdentifier, Foundation.NSData[] nodeKeyVersionListAes, Foundation.NSData[] nodeKeyVersionListDes, Foundation.NSError error);
}

New Type: CoreNFC.NFCFeliCaRequestSpecificationVersionCompletionHandler

public sealed delegate NFCFeliCaRequestSpecificationVersionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCFeliCaRequestSpecificationVersionCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nint statusFlag1, nint statusFlag2, Foundation.NSData basicVersion, Foundation.NSData optionVersion, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (nint statusFlag1, nint statusFlag2, Foundation.NSData basicVersion, Foundation.NSData optionVersion, Foundation.NSError error);
}

New Type: CoreNFC.NFCFeliCaStatus1Status2CompletionHandler

public sealed delegate NFCFeliCaStatus1Status2CompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCFeliCaStatus1Status2CompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nint statusFlag1, nint statusFlag2, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (nint statusFlag1, nint statusFlag2, Foundation.NSError error);
}

New Type: CoreNFC.NFCGetSystemInfoCompletionHandler

public sealed delegate NFCGetSystemInfoCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCGetSystemInfoCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nint dsfid, nint afi, nint blockSize, nint blockCount, nint icReference, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (nint dsfid, nint afi, nint blockSize, nint blockCount, nint icReference, Foundation.NSError error);
}

New Type: CoreNFC.NFCIso15693CustomCommandConfiguration

public class NFCIso15693CustomCommandConfiguration : CoreNFC.NFCTagCommandConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCIso15693CustomCommandConfiguration ();
	protected NFCIso15693CustomCommandConfiguration (Foundation.NSObjectFlag t);
	protected NFCIso15693CustomCommandConfiguration (IntPtr handle);
	public NFCIso15693CustomCommandConfiguration (nuint manufacturerCode, nuint customCommandCode, Foundation.NSData requestParameters);
	public NFCIso15693CustomCommandConfiguration (nuint manufacturerCode, nuint customCommandCode, Foundation.NSData requestParameters, nuint maximumRetries, double retryInterval);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint CustomCommandCode { get; set; }
	public virtual nuint ManufacturerCode { get; set; }
	public virtual Foundation.NSData RequestParameters { get; set; }
}

New Type: CoreNFC.NFCIso15693ReadMultipleBlocksConfiguration

public class NFCIso15693ReadMultipleBlocksConfiguration : CoreNFC.NFCTagCommandConfiguration, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCIso15693ReadMultipleBlocksConfiguration ();
	protected NFCIso15693ReadMultipleBlocksConfiguration (Foundation.NSObjectFlag t);
	protected NFCIso15693ReadMultipleBlocksConfiguration (IntPtr handle);
	public NFCIso15693ReadMultipleBlocksConfiguration (Foundation.NSRange range, nuint chunkSize);
	public NFCIso15693ReadMultipleBlocksConfiguration (Foundation.NSRange range, nuint chunkSize, nuint maximumRetries, double retryInterval);
	// properties
	public virtual nuint ChunkSize { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSRange Range { get; set; }
}

New Type: CoreNFC.NFCIso15693ReaderSession

public class NFCIso15693ReaderSession : CoreNFC.NFCReaderSession, INFCReaderSessionContract, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCIso15693ReaderSession (Foundation.NSObjectFlag t);
	protected NFCIso15693ReaderSession (IntPtr handle);
	public NFCIso15693ReaderSession (INFCReaderSessionDelegate delegate, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	public static bool ReadingAvailable { get; }
	public static Foundation.NSString TagResponseErrorKey { get; }
	// methods
	public virtual void RestartPolling ();
}

New Type: CoreNFC.NFCIso15693ResponseFlag

[Serializable]
public enum NFCIso15693ResponseFlag {
	BlockSecurityStatusBit5 = 16,
	BlockSecurityStatusBit6 = 32,
	Error = 1,
	FinalResponse = 4,
	ProtocolExtension = 8,
	ResponseBufferValid = 2,
	WaitTimeExtension = 64,
}

New Type: CoreNFC.NFCIso15693TagGetMultipleBlockSecurityStatusCallback

public sealed delegate NFCIso15693TagGetMultipleBlockSecurityStatusCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCIso15693TagGetMultipleBlockSecurityStatusCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSNumber[] securityStatus, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSNumber[] securityStatus, Foundation.NSError error);
}

New Type: CoreNFC.NFCIso15693TagGetSystemInfoAndUidCallback

public sealed delegate NFCIso15693TagGetSystemInfoAndUidCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCIso15693TagGetSystemInfoAndUidCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData uid, nint dsfid, nint afi, nint blockSize, nint blockCount, nint icReference, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData uid, nint dsfid, nint afi, nint blockSize, nint blockCount, nint icReference, Foundation.NSError error);
}

New Type: CoreNFC.NFCIso15693TagReadMultipleBlocksCallback

public sealed delegate NFCIso15693TagReadMultipleBlocksCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCIso15693TagReadMultipleBlocksCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData[] dataBlocks, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData[] dataBlocks, Foundation.NSError error);
}

New Type: CoreNFC.NFCIso15693TagResponseCallback

public sealed delegate NFCIso15693TagResponseCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCIso15693TagResponseCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NFCIso15693ResponseFlag responseFlag, Foundation.NSData response, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (NFCIso15693ResponseFlag responseFlag, Foundation.NSData response, Foundation.NSError error);
}

New Type: CoreNFC.NFCIso15693Tag_Extensions

public static class NFCIso15693Tag_Extensions {
	// methods
	public static void Authenticate (this INFCIso15693Tag This, RequestFlag flags, nint cryptoSuiteIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler);
	public static void Challenge (this INFCIso15693Tag This, RequestFlag flags, nint cryptoSuiteIdentifier, Foundation.NSData message, System.Action<Foundation.NSError> completionHandler);
	public static void CustomCommand (this INFCIso15693Tag This, RequestFlag flags, nint customCommandCode, Foundation.NSData customRequestParameters, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public static void ExtendedFastReadMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler);
	public static void ExtendedGetMultipleBlockSecurityStatus (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagGetMultipleBlockSecurityStatusCallback completionHandler);
	public static void ExtendedLockBlock (this INFCIso15693Tag This, RequestFlag flags, nint blockNumber, System.Action<Foundation.NSError> completionHandler);
	public static void ExtendedReadMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, System.Action<Foundation.NSData[],Foundation.NSError> completionHandler);
	public static void ExtendedReadSingleBlock (this INFCIso15693Tag This, RequestFlag flags, nint blockNumber, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public static void ExtendedWriteMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action<Foundation.NSError> completionHandler);
	public static void ExtendedWriteSingleBlock (this INFCIso15693Tag This, RequestFlag flags, nint blockNumber, Foundation.NSData dataBlock, System.Action<Foundation.NSError> completionHandler);
	public static void FastReadMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, NFCIso15693TagReadMultipleBlocksCallback completionHandler);
	public static void GetMultipleBlockSecurityStatus (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, System.Action<Foundation.NSNumber[],Foundation.NSError> completionHandler);
	public static void GetSystemInfo (this INFCIso15693Tag This, RequestFlag flags, NFCGetSystemInfoCompletionHandler completionHandler);
	public static void GetSystemInfoAndUid (this INFCIso15693Tag This, RequestFlag flags, NFCIso15693TagGetSystemInfoAndUidCallback completionHandler);
	public static void KeyUpdate (this INFCIso15693Tag This, RequestFlag flags, nint keyIdentifier, Foundation.NSData message, NFCIso15693TagResponseCallback completionHandler);
	public static void LockAfi (this INFCIso15693Tag This, RequestFlag flags, System.Action<Foundation.NSError> completionHandler);
	public static void LockBlock (this INFCIso15693Tag This, RequestFlag flags, byte blockNumber, System.Action<Foundation.NSError> completionHandler);
	public static void LockDfsi (this INFCIso15693Tag This, RequestFlag flags, System.Action<Foundation.NSError> completionHandler);
	public static void LockDsfId (this INFCIso15693Tag This, RequestFlag flags, System.Action<Foundation.NSError> completionHandler);
	public static void ReadBuffer (this INFCIso15693Tag This, RequestFlag flags, NFCIso15693TagResponseCallback completionHandler);
	public static void ReadMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, System.Action<Foundation.NSData[],Foundation.NSError> completionHandler);
	public static void ReadSingleBlock (this INFCIso15693Tag This, RequestFlag flags, byte blockNumber, System.Action<Foundation.NSData,Foundation.NSError> completionHandler);
	public static void ResetToReady (this INFCIso15693Tag This, RequestFlag flags, System.Action<Foundation.NSError> completionHandler);
	public static void Select (this INFCIso15693Tag This, RequestFlag flags, System.Action<Foundation.NSError> completionHandler);
	public static void SendRequest (this INFCIso15693Tag This, nint flags, nint commandCode, Foundation.NSData data, NFCIso15693TagResponseCallback completionHandler);
	public static void StayQuiet (this INFCIso15693Tag This, System.Action<Foundation.NSError> completionHandler);
	public static void WriteAfi (this INFCIso15693Tag This, RequestFlag flags, byte afi, System.Action<Foundation.NSError> completionHandler);
	public static void WriteDsfi (this INFCIso15693Tag This, RequestFlag flags, byte dsfid, System.Action<Foundation.NSError> completionHandler);
	public static void WriteMultipleBlocks (this INFCIso15693Tag This, RequestFlag flags, Foundation.NSRange blockRange, Foundation.NSData[] dataBlocks, System.Action<Foundation.NSError> completionHandler);
	public static void WriteSingleBlock (this INFCIso15693Tag This, RequestFlag flags, byte blockNumber, Foundation.NSData dataBlock, System.Action<Foundation.NSError> completionHandler);
}

New Type: CoreNFC.NFCIso7816Apdu

public class NFCIso7816Apdu : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCIso7816Apdu (Foundation.NSData data);
	protected NFCIso7816Apdu (Foundation.NSObjectFlag t);
	protected NFCIso7816Apdu (IntPtr handle);
	public NFCIso7816Apdu (byte instructionClass, byte instructionCode, byte p1Parameter, byte p2Parameter, Foundation.NSData data, nint expectedResponseLength);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual nint ExpectedResponseLength { get; }
	public virtual byte InstructionClass { get; }
	public virtual byte InstructionCode { get; }
	public virtual byte P1Parameter { get; }
	public virtual byte P2Parameter { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreNFC.NFCIso7816SendCompletionHandler

public sealed delegate NFCIso7816SendCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCIso7816SendCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData responseData, byte sw1, byte sw2, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData responseData, byte sw1, byte sw2, Foundation.NSError error);
}

New Type: CoreNFC.NFCMiFareFamily

[Serializable]
public enum NFCMiFareFamily {
	DesFire = 4,
	Plus = 3,
	Ultralight = 2,
	Unknown = 1,
}

New Type: CoreNFC.NFCMiFareTag_Extensions

public static class NFCMiFareTag_Extensions {
	// methods
	public static NFCMiFareFamily GetMifareFamily (this INFCMiFareTag This);
}

New Type: CoreNFC.NFCNdefMessage

public class NFCNdefMessage : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCNdefMessage (NFCNdefPayload[] records);
	public NFCNdefMessage (Foundation.NSCoder coder);
	protected NFCNdefMessage (Foundation.NSObjectFlag t);
	protected NFCNdefMessage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Length { get; }
	public virtual NFCNdefPayload[] Records { get; set; }
	// methods
	public static NFCNdefMessage Create (Foundation.NSData data);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreNFC.NFCNdefPayload

public class NFCNdefPayload : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCNdefPayload (Foundation.NSCoder coder);
	protected NFCNdefPayload (Foundation.NSObjectFlag t);
	protected NFCNdefPayload (IntPtr handle);
	public NFCNdefPayload (NFCTypeNameFormat format, Foundation.NSData type, Foundation.NSData identifier, Foundation.NSData payload);
	public NFCNdefPayload (NFCTypeNameFormat format, Foundation.NSData type, Foundation.NSData identifier, Foundation.NSData payload, nuint chunkSize);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Identifier { get; set; }
	public virtual Foundation.NSData Payload { get; set; }
	public virtual Foundation.NSData Type { get; set; }
	public virtual NFCTypeNameFormat TypeNameFormat { get; set; }
	public virtual Foundation.NSUrl WellKnownTypeUriPayload { get; }
	// methods
	public static NFCNdefPayload CreateWellKnownTypePayload (Foundation.NSUrl url);
	public static NFCNdefPayload CreateWellKnownTypePayload (string uri);
	public static NFCNdefPayload CreateWellKnownTypePayload (string text, Foundation.NSLocale locale);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual string GetWellKnownTypeTextPayload (out Foundation.NSLocale locale);
}

New Type: CoreNFC.NFCNdefReaderSession

public class NFCNdefReaderSession : CoreNFC.NFCReaderSession, INFCReaderSessionContract, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCNdefReaderSession (Foundation.NSObjectFlag t);
	protected NFCNdefReaderSession (IntPtr handle);
	public NFCNdefReaderSession (INFCNdefReaderSessionDelegate delegate, CoreFoundation.DispatchQueue queue, bool invalidateAfterFirstRead);
	// properties
	public override IntPtr ClassHandle { get; }
	public static bool ReadingAvailable { get; }
	// methods
	public virtual void ConnectToTag (INFCNdefTag tag, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task ConnectToTagAsync (INFCNdefTag tag);
	public virtual void RestartPolling ();
}

New Type: CoreNFC.NFCNdefReaderSessionDelegate

public abstract class NFCNdefReaderSessionDelegate : Foundation.NSObject, INFCNdefReaderSessionDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCNdefReaderSessionDelegate ();
	protected NFCNdefReaderSessionDelegate (Foundation.NSObjectFlag t);
	protected NFCNdefReaderSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidBecomeActive (NFCNdefReaderSession session);
	public virtual void DidDetect (NFCNdefReaderSession session, NFCNdefMessage[] messages);
	public virtual void DidDetectTags (NFCNdefReaderSession session, INFCNdefTag[] tags);
	public virtual void DidInvalidate (NFCNdefReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.NFCNdefReaderSessionDelegate_Extensions

public static class NFCNdefReaderSessionDelegate_Extensions {
	// methods
	public static void DidBecomeActive (this INFCNdefReaderSessionDelegate This, NFCNdefReaderSession session);
	public static void DidDetectTags (this INFCNdefReaderSessionDelegate This, NFCNdefReaderSession session, INFCNdefTag[] tags);
}

New Type: CoreNFC.NFCNdefStatus

[Serializable]
public enum NFCNdefStatus {
	NotSupported = 1,
	ReadOnly = 3,
	ReadWrite = 2,
}

New Type: CoreNFC.NFCPollingOption

[Serializable]
public enum NFCPollingOption {
	Iso14443 = 1,
	Iso15693 = 2,
	Iso18092 = 4,
}

New Type: CoreNFC.NFCQueryNdefStatusCompletionHandler

public sealed delegate NFCQueryNdefStatusCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NFCQueryNdefStatusCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NFCNdefStatus status, nuint capacity, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (NFCNdefStatus status, nuint capacity, Foundation.NSError error);
}

New Type: CoreNFC.NFCReaderError

[Serializable]
public enum NFCReaderError {
	InvalidParameter = 3,
	InvalidParameterLength = 4,
	NdefReaderSessionErrorTagNotWritable = 400,
	NdefReaderSessionErrorTagSizeTooSmall = 402,
	NdefReaderSessionErrorTagUpdateFailure = 401,
	NdefReaderSessionErrorZeroLengthMessage = 403,
	ParameterOutOfBound = 5,
	RadioDisabled = 6,
	ReaderSessionInvalidationErrorFirstNDEFTagRead = 204,
	ReaderSessionInvalidationErrorSessionTerminatedUnexpectedly = 202,
	ReaderSessionInvalidationErrorSessionTimeout = 201,
	ReaderSessionInvalidationErrorSystemIsBusy = 203,
	ReaderSessionInvalidationErrorUserCanceled = 200,
	ReaderTransceiveErrorPacketTooLong = 105,
	ReaderTransceiveErrorRetryExceeded = 101,
	ReaderTransceiveErrorSessionInvalidated = 103,
	ReaderTransceiveErrorTagConnectionLost = 100,
	ReaderTransceiveErrorTagNotConnected = 104,
	ReaderTransceiveErrorTagResponseError = 102,
	SecurityViolation = 2,
	TagCommandConfigurationErrorInvalidParameters = 300,
	UnsupportedFeature = 1,
}

New Type: CoreNFC.NFCReaderErrorExtensions

public static class NFCReaderErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this NFCReaderError self);
}

New Type: CoreNFC.NFCReaderSession

public class NFCReaderSession : Foundation.NSObject, INFCReaderSessionContract, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCReaderSession (Foundation.NSObjectFlag t);
	protected NFCReaderSession (IntPtr handle);
	// properties
	public virtual string AlertMessage { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual INFCReaderSessionDelegate Delegate { get; }
	public static bool ReadingAvailable { get; }
	public virtual bool Ready { get; }
	public virtual CoreFoundation.DispatchQueue SessionQueue { get; }
	// methods
	public virtual void BeginSession ();
	protected override void Dispose (bool disposing);
	public virtual void InvalidateSession ();
	public virtual void InvalidateSession (string errorMessage);
}

New Type: CoreNFC.NFCReaderSessionContract_Extensions

public static class NFCReaderSessionContract_Extensions {
	// methods
	public static void InvalidateSession (this INFCReaderSessionContract This, string errorMessage);
}

New Type: CoreNFC.NFCReaderSessionDelegate

public abstract class NFCReaderSessionDelegate : Foundation.NSObject, INFCReaderSessionDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCReaderSessionDelegate ();
	protected NFCReaderSessionDelegate (Foundation.NSObjectFlag t);
	protected NFCReaderSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidBecomeActive (NFCReaderSession session);
	public virtual void DidDetectTags (NFCReaderSession session, INFCTag[] tags);
	public virtual void DidInvalidate (NFCReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.NFCTagCommandConfiguration

public class NFCTagCommandConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NFCTagCommandConfiguration ();
	protected NFCTagCommandConfiguration (Foundation.NSObjectFlag t);
	protected NFCTagCommandConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint MaximumRetries { get; set; }
	public virtual double RetryInterval { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreNFC.NFCTagReaderSession

public class NFCTagReaderSession : CoreNFC.NFCReaderSession, INFCReaderSessionContract, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCTagReaderSession (Foundation.NSObjectFlag t);
	protected NFCTagReaderSession (IntPtr handle);
	public NFCTagReaderSession (NFCPollingOption pollingOption, INFCTagReaderSessionDelegate delegate, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INFCTag ConnectedTag { get; }
	public static Foundation.NSString UnexpectedLengthErrorKey { get; }
	// methods
	public virtual void ConnectTo (INFCTag tag, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task ConnectToAsync (INFCTag tag);
	public virtual void RestartPolling ();
}

New Type: CoreNFC.NFCTagReaderSessionDelegate

public abstract class NFCTagReaderSessionDelegate : Foundation.NSObject, INFCTagReaderSessionDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCTagReaderSessionDelegate ();
	protected NFCTagReaderSessionDelegate (Foundation.NSObjectFlag t);
	protected NFCTagReaderSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidBecomeActive (NFCTagReaderSession session);
	public virtual void DidDetectTags (NFCTagReaderSession session, INFCTag[] tags);
	public virtual void DidInvalidate (NFCTagReaderSession session, Foundation.NSError error);
}

New Type: CoreNFC.NFCTagReaderSessionDelegate_Extensions

public static class NFCTagReaderSessionDelegate_Extensions {
	// methods
	public static void DidBecomeActive (this INFCTagReaderSessionDelegate This, NFCTagReaderSession session);
	public static void DidDetectTags (this INFCTagReaderSessionDelegate This, NFCTagReaderSession session, INFCTag[] tags);
}

New Type: CoreNFC.NFCTagType

[Serializable]
public enum NFCTagType {
	FeliCa = 2,
	Iso15693 = 1,
	Iso7816Compatible = 3,
	MiFare = 4,
}

New Type: CoreNFC.NFCTag_Extensions

public static class NFCTag_Extensions {
	// methods
	public static INFCFeliCaTag GetNFCFeliCaTag (this INFCTag This);
	public static INFCIso15693Tag GetNFCIso15693Tag (this INFCTag This);
	public static INFCIso7816Tag GetNFCIso7816Tag (this INFCTag This);
	public static INFCMiFareTag GetNFCMiFareTag (this INFCTag This);
}

New Type: CoreNFC.NFCTypeNameFormat

[Serializable]
public enum NFCTypeNameFormat {
	AbsoluteUri = 3,
	Empty = 0,
	Media = 2,
	NFCExternal = 4,
	NFCWellKnown = 1,
	Unchanged = 6,
	Unknown = 5,
}

New Type: CoreNFC.NFCVasCommandConfiguration

public class NFCVasCommandConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCVasCommandConfiguration (Foundation.NSObjectFlag t);
	protected NFCVasCommandConfiguration (IntPtr handle);
	public NFCVasCommandConfiguration (VasMode mode, string passTypeIdentifier, Foundation.NSUrl url);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VasMode Mode { get; set; }
	public virtual string PassTypeIdentifier { get; set; }
	public virtual Foundation.NSUrl Url { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreNFC.NFCVasReaderSession

public class NFCVasReaderSession : CoreNFC.NFCReaderSession, INFCReaderSessionContract, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCVasReaderSession (Foundation.NSObjectFlag t);
	protected NFCVasReaderSession (IntPtr handle);
	public NFCVasReaderSession (NFCVasCommandConfiguration[] commandConfigurations, INFCVasReaderSessionDelegate delegate, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CoreNFC.NFCVasReaderSessionDelegate

public abstract class NFCVasReaderSessionDelegate : Foundation.NSObject, INFCVasReaderSessionDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCVasReaderSessionDelegate ();
	protected NFCVasReaderSessionDelegate (Foundation.NSObjectFlag t);
	protected NFCVasReaderSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidBecomeActive (NFCVasReaderSession session);
	public virtual void DidInvalidate (NFCVasReaderSession session, Foundation.NSError error);
	public virtual void DidReceiveVasResponses (NFCVasReaderSession session, NFCVasResponse[] responses);
}

New Type: CoreNFC.NFCVasReaderSessionDelegate_Extensions

public static class NFCVasReaderSessionDelegate_Extensions {
	// methods
	public static void DidBecomeActive (this INFCVasReaderSessionDelegate This, NFCVasReaderSession session);
}

New Type: CoreNFC.NFCVasResponse

public class NFCVasResponse : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NFCVasResponse (Foundation.NSObjectFlag t);
	protected NFCVasResponse (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData MobileToken { get; }
	public virtual VasErrorCode Status { get; }
	public virtual Foundation.NSData VasData { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CoreNFC.NSUserActivity_CoreNFC

public static class NSUserActivity_CoreNFC {
	// methods
	public static NFCNdefMessage GetNdefMessagePayload (this Foundation.NSUserActivity This);
}

New Type: CoreNFC.PollingRequestCode

[Serializable]
public enum PollingRequestCode {
	CommunicationPerformance = 2,
	NoRequest = 0,
	SystemCode = 1,
}

New Type: CoreNFC.PollingTimeSlot

[Serializable]
public enum PollingTimeSlot {
	Max1 = 0,
	Max16 = 15,
	Max2 = 1,
	Max4 = 3,
	Max8 = 7,
}

New Type: CoreNFC.RequestFlag

[Serializable]
public enum RequestFlag {
	Address = 32,
	CommandSpecificBit8 = 128,
	DualSubCarriers = 1,
	HighDataRate = 2,
	Option = 64,
	ProtocolExtension = 8,
	Select = 16,
}

New Type: CoreNFC.VasErrorCode

[Serializable]
public enum VasErrorCode {
	DataNotActivated = 25223,
	DataNotFound = 27267,
	IncorrectData = 27264,
	Success = 36864,
	UnsupportedApplicationVersion = 25408,
	UserIntervention = 27012,
	WrongLCField = 26368,
	WrongParameters = 27392,
}

New Type: CoreNFC.VasMode

[Serializable]
public enum VasMode {
	Normal = 1,
	UrlOnly = 0,
}

New Namespace CoreTelephony

New Type: CoreTelephony.CTCall

public class CTCall : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCall ();
	protected CTCall (Foundation.NSObjectFlag t);
	protected CTCall (IntPtr handle);
	// properties
	public virtual string CallID { get; }
	public virtual string CallState { get; }
	public override IntPtr ClassHandle { get; }
	public string StateConnected { get; }
	public string StateDialing { get; }
	public string StateDisconnected { get; }
	public string StateIncoming { get; }
}

New Type: CoreTelephony.CTCallCenter

public class CTCallCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCallCenter ();
	protected CTCallCenter (Foundation.NSObjectFlag t);
	protected CTCallCenter (IntPtr handle);
	// properties
	public virtual System.Action<CTCall> CallEventHandler { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet CurrentCalls { get; }
}

New Type: CoreTelephony.CTCarrier

public class CTCarrier : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCarrier ();
	protected CTCarrier (Foundation.NSObjectFlag t);
	protected CTCarrier (IntPtr handle);
	// properties
	public virtual bool AllowsVoip { get; }
	public virtual string CarrierName { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string IsoCountryCode { get; }
	public virtual string MobileCountryCode { get; }
	public virtual string MobileNetworkCode { get; }
}

New Type: CoreTelephony.CTCellularData

public class CTCellularData : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCellularData ();
	protected CTCellularData (Foundation.NSObjectFlag t);
	protected CTCellularData (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CTCellularDataRestrictedState RestrictedState { get; }
	public virtual System.Action<CTCellularDataRestrictedState> RestrictionDidUpdateNotifier { get; set; }
}

New Type: CoreTelephony.CTCellularDataRestrictedState

[Serializable]
public enum CTCellularDataRestrictedState {
	NotRestricted = 2,
	Restricted = 1,
	Unknown = 0,
}

New Type: CoreTelephony.CTCellularPlanProvisioning

public class CTCellularPlanProvisioning : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCellularPlanProvisioning ();
	protected CTCellularPlanProvisioning (Foundation.NSObjectFlag t);
	protected CTCellularPlanProvisioning (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool SupportsCellularPlan { get; }
	// methods
	public virtual void AddPlan (CTCellularPlanProvisioningRequest request, System.Action<CTCellularPlanProvisioningAddPlanResult> completionHandler);
	public virtual System.Threading.Tasks.Task<CTCellularPlanProvisioningAddPlanResult> AddPlanAsync (CTCellularPlanProvisioningRequest request);
}

New Type: CoreTelephony.CTCellularPlanProvisioningAddPlanResult

[Serializable]
public enum CTCellularPlanProvisioningAddPlanResult {
	Fail = 1,
	Success = 2,
	Unknown = 0,
}

New Type: CoreTelephony.CTCellularPlanProvisioningRequest

public class CTCellularPlanProvisioningRequest : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTCellularPlanProvisioningRequest ();
	public CTCellularPlanProvisioningRequest (Foundation.NSCoder coder);
	protected CTCellularPlanProvisioningRequest (Foundation.NSObjectFlag t);
	protected CTCellularPlanProvisioningRequest (IntPtr handle);
	// properties
	public virtual string Address { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string ConfirmationCode { get; set; }
	public virtual string Eid { get; set; }
	public virtual string Iccid { get; set; }
	public virtual string MatchingId { get; set; }
	public virtual string Oid { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: CoreTelephony.CTErrorDomain

[Serializable]
public enum CTErrorDomain {
	Mach = 2,
	NoError = 0,
	Posix = 1,
}

New Type: CoreTelephony.CTRadioAccessTechnology

public static class CTRadioAccessTechnology {
	// properties
	public static Foundation.NSString CDMA1x { get; }
	public static Foundation.NSString CDMAEVDORev0 { get; }
	public static Foundation.NSString CDMAEVDORevA { get; }
	public static Foundation.NSString CDMAEVDORevB { get; }
	public static Foundation.NSString EHRPD { get; }
	public static Foundation.NSString Edge { get; }
	public static Foundation.NSString GPRS { get; }
	public static Foundation.NSString HSDPA { get; }
	public static Foundation.NSString HSUPA { get; }
	public static Foundation.NSString LTE { get; }
	public static Foundation.NSString NR { get; }
	public static Foundation.NSString NRNsa { get; }
	public static Foundation.NSString WCDMA { get; }
}

New Type: CoreTelephony.CTSubscriber

public class CTSubscriber : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTSubscriber ();
	protected CTSubscriber (Foundation.NSObjectFlag t);
	protected CTSubscriber (IntPtr handle);
	// properties
	public virtual Foundation.NSData CarrierToken { get; }
	public override IntPtr ClassHandle { get; }
	public ICTSubscriberDelegate Delegate { get; set; }
	public virtual string Identifier { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CoreTelephony.CTSubscriberInfo

public class CTSubscriberInfo : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTSubscriberInfo ();
	protected CTSubscriberInfo (Foundation.NSObjectFlag t);
	protected CTSubscriberInfo (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static CTSubscriber Subscriber { get; }
	public static CTSubscriber[] Subscribers { get; }
}

New Type: CoreTelephony.CTTelephonyNetworkInfo

public class CTTelephonyNetworkInfo : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTTelephonyNetworkInfo ();
	protected CTTelephonyNetworkInfo (Foundation.NSObjectFlag t);
	protected CTTelephonyNetworkInfo (IntPtr handle);
	// properties
	public virtual System.Action<CTCarrier> CellularProviderUpdatedEventHandler { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSString CurrentRadioAccessTechnology { get; }
	public virtual string DataServiceIdentifier { get; }
	public ICTTelephonyNetworkInfoDelegate Delegate { get; set; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> ServiceCurrentRadioAccessTechnology { get; }
	public static Foundation.NSString ServiceRadioAccessTechnologyDidChangeNotification { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,CoreTelephony.CTCarrier> ServiceSubscriberCellularProviders { get; }
	public virtual System.Action<Foundation.NSString> ServiceSubscriberCellularProvidersDidUpdateNotifier { get; set; }
	public virtual CTCarrier SubscriberCellularProvider { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveServiceRadioAccessTechnologyDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveServiceRadioAccessTechnologyDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: CoreTelephony.CTTelephonyNetworkInfoDelegate

public class CTTelephonyNetworkInfoDelegate : Foundation.NSObject, ICTTelephonyNetworkInfoDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CTTelephonyNetworkInfoDelegate ();
	protected CTTelephonyNetworkInfoDelegate (Foundation.NSObjectFlag t);
	protected CTTelephonyNetworkInfoDelegate (IntPtr handle);
	// methods
	public virtual void DataServiceIdentifierDidChange (string identifier);
}

New Type: CoreTelephony.CTTelephonyNetworkInfoDelegate_Extensions

public static class CTTelephonyNetworkInfoDelegate_Extensions {
	// methods
	public static void DataServiceIdentifierDidChange (this ICTTelephonyNetworkInfoDelegate This, string identifier);
}

New Type: CoreTelephony.ICTSubscriberDelegate

public interface ICTSubscriberDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void SubscriberTokenRefreshed (CTSubscriber subscriber);
}

New Type: CoreTelephony.ICTTelephonyNetworkInfoDelegate

public interface ICTTelephonyNetworkInfoDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Namespace EventKitUI

New Type: EventKitUI.EKCalendarChooser

public class EKCalendarChooser : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public EKCalendarChooser ();
	public EKCalendarChooser (Foundation.NSCoder coder);
	protected EKCalendarChooser (Foundation.NSObjectFlag t);
	protected EKCalendarChooser (IntPtr handle);
	public EKCalendarChooser (string nibName, Foundation.NSBundle bundle);
	public EKCalendarChooser (EKCalendarChooserSelectionStyle selectionStyle, EKCalendarChooserDisplayStyle displayStyle, EventKit.EKEventStore eventStore);
	public EKCalendarChooser (EKCalendarChooserSelectionStyle selectionStyle, EKCalendarChooserDisplayStyle displayStyle, EventKit.EKEntityType entityType, EventKit.EKEventStore eventStore);
	// properties
	public override IntPtr ClassHandle { get; }
	public IEKCalendarChooserDelegate Delegate { get; set; }
	public virtual Foundation.NSSet SelectedCalendars { get; set; }
	public virtual EKCalendarChooserSelectionStyle SelectionStyle { get; set; }
	public virtual bool ShowsCancelButton { get; set; }
	public virtual bool ShowsDoneButton { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler Cancelled;
	public event System.EventHandler Finished;
	public event System.EventHandler SelectionChanged;
	// methods
	protected override void Dispose (bool disposing);
}

New Type: EventKitUI.EKCalendarChooserDelegate

public class EKCalendarChooserDelegate : Foundation.NSObject, IEKCalendarChooserDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public EKCalendarChooserDelegate ();
	protected EKCalendarChooserDelegate (Foundation.NSObjectFlag t);
	protected EKCalendarChooserDelegate (IntPtr handle);
	// methods
	public virtual void Cancelled (EKCalendarChooser calendarChooser);
	public virtual void Finished (EKCalendarChooser calendarChooser);
	public virtual void SelectionChanged (EKCalendarChooser calendarChooser);
}

New Type: EventKitUI.EKCalendarChooserDelegate_Extensions

public static class EKCalendarChooserDelegate_Extensions {
	// methods
	public static void Cancelled (this IEKCalendarChooserDelegate This, EKCalendarChooser calendarChooser);
	public static void Finished (this IEKCalendarChooserDelegate This, EKCalendarChooser calendarChooser);
	public static void SelectionChanged (this IEKCalendarChooserDelegate This, EKCalendarChooser calendarChooser);
}

New Type: EventKitUI.EKCalendarChooserDisplayStyle

[Serializable]
public enum EKCalendarChooserDisplayStyle {
	AllCalendars = 0,
	WritableCalendarsOnly = 1,
}

New Type: EventKitUI.EKCalendarChooserSelectionStyle

[Serializable]
public enum EKCalendarChooserSelectionStyle {
	Multiple = 1,
	Single = 0,
}

New Type: EventKitUI.EKEventEditController

public sealed delegate EKEventEditController : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public EKEventEditController (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (EKEventEditViewController controller, System.AsyncCallback callback, object object);
	public virtual EventKit.EKCalendar EndInvoke (System.IAsyncResult result);
	public virtual EventKit.EKCalendar Invoke (EKEventEditViewController controller);
}

New Type: EventKitUI.EKEventEditEventArgs

public class EKEventEditEventArgs : System.EventArgs {
	// constructors
	public EKEventEditEventArgs (EKEventEditViewAction action);
	// properties
	public EKEventEditViewAction Action { get; set; }
}

New Type: EventKitUI.EKEventEditViewAction

[Serializable]
public enum EKEventEditViewAction {
	Canceled = 0,
	Deleted = 2,
	Saved = 1,
}

New Type: EventKitUI.EKEventEditViewController

public class EKEventEditViewController : UIKit.UINavigationController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public EKEventEditViewController ();
	public EKEventEditViewController (Foundation.NSCoder coder);
	protected EKEventEditViewController (Foundation.NSObjectFlag t);
	protected EKEventEditViewController (IntPtr handle);
	public EKEventEditViewController (UIKit.UIViewController rootViewController);
	public EKEventEditViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public static EKEventEditViewController.EKEventEditViewControllerAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public IEKEventEditViewDelegate EditViewDelegate { get; set; }
	public virtual EventKit.EKEvent Event { get; set; }
	public virtual EventKit.EKEventStore EventStore { get; set; }
	public EKEventEditController GetDefaultCalendarForNewEvents { get; set; }
	public virtual Foundation.NSObject WeakEditViewDelegate { get; set; }
	// events
	public event System.EventHandler<EKEventEditEventArgs> Completed;
	// methods
	public static EKEventEditViewController.EKEventEditViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void CancelEditing ();
	protected override void Dispose (bool disposing);
	public static EKEventEditViewController.EKEventEditViewControllerAppearance GetAppearance<T> ();
	public static EKEventEditViewController.EKEventEditViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static EKEventEditViewController.EKEventEditViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static EKEventEditViewController.EKEventEditViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static EKEventEditViewController.EKEventEditViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class EKEventEditViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected EKEventEditViewController.EKEventEditViewControllerAppearance (IntPtr handle);
	}
}

New Type: EventKitUI.EKEventEditViewDelegate

public abstract class EKEventEditViewDelegate : Foundation.NSObject, IEKEventEditViewDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKEventEditViewDelegate ();
	protected EKEventEditViewDelegate (Foundation.NSObjectFlag t);
	protected EKEventEditViewDelegate (IntPtr handle);
	// methods
	public virtual void Completed (EKEventEditViewController controller, EKEventEditViewAction action);
	public virtual EventKit.EKCalendar GetDefaultCalendarForNewEvents (EKEventEditViewController controller);
}

New Type: EventKitUI.EKEventEditViewDelegate_Extensions

public static class EKEventEditViewDelegate_Extensions {
	// methods
	public static EventKit.EKCalendar GetDefaultCalendarForNewEvents (this IEKEventEditViewDelegate This, EKEventEditViewController controller);
}

New Type: EventKitUI.EKEventViewAction

[Serializable]
public enum EKEventViewAction {
	Deleted = 2,
	Done = 0,
	Responded = 1,
}

New Type: EventKitUI.EKEventViewController

public class EKEventViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public EKEventViewController ();
	public EKEventViewController (Foundation.NSCoder coder);
	protected EKEventViewController (Foundation.NSObjectFlag t);
	protected EKEventViewController (IntPtr handle);
	public EKEventViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public virtual bool AllowsCalendarPreview { get; set; }
	public virtual bool AllowsEditing { get; set; }
	public override IntPtr ClassHandle { get; }
	public IEKEventViewDelegate Delegate { get; set; }
	public virtual EventKit.EKEvent Event { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<EKEventViewEventArgs> Completed;
	// methods
	protected override void Dispose (bool disposing);
}

New Type: EventKitUI.EKEventViewDelegate

public abstract class EKEventViewDelegate : Foundation.NSObject, IEKEventViewDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKEventViewDelegate ();
	protected EKEventViewDelegate (Foundation.NSObjectFlag t);
	protected EKEventViewDelegate (IntPtr handle);
	// methods
	public virtual void Completed (EKEventViewController controller, EKEventViewAction action);
}

New Type: EventKitUI.EKEventViewEventArgs

public class EKEventViewEventArgs : System.EventArgs {
	// constructors
	public EKEventViewEventArgs (EKEventViewAction action);
	// properties
	public EKEventViewAction Action { get; set; }
}

New Type: EventKitUI.EKUIBundle

public static class EKUIBundle {
	// properties
	public static Foundation.NSBundle UIBundle { get; }
}

New Type: EventKitUI.IEKCalendarChooserDelegate

public interface IEKCalendarChooserDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: EventKitUI.IEKEventEditViewDelegate

public interface IEKEventEditViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void Completed (EKEventEditViewController controller, EKEventEditViewAction action);
}

New Type: EventKitUI.IEKEventViewDelegate

public interface IEKEventViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void Completed (EKEventViewController controller, EKEventViewAction action);
}

New Namespace FileProvider

New Type: FileProvider.INSFileProviderItemDecorating

public interface INSFileProviderItemDecorating : INSFileProviderItem, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: FileProvider.INSFileProviderItemFlags

public interface INSFileProviderItemFlags : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool Hidden { get; }
	public virtual bool PathExtensionHidden { get; }
	public virtual bool UserExecutable { get; }
	public virtual bool UserReadable { get; }
	public virtual bool UserWritable { get; }
}

New Type: FileProvider.INSFileProviderServiceSource

public interface INSFileProviderServiceSource : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual string ServiceName { get; }
	// methods
	public virtual Foundation.NSXpcListenerEndpoint MakeListenerEndpoint (out Foundation.NSError error);
}

New Type: FileProvider.NSFileProviderDomain

public class NSFileProviderDomain : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSFileProviderDomain (Foundation.NSObjectFlag t);
	protected NSFileProviderDomain (IntPtr handle);
	public NSFileProviderDomain (string identifier, string displayName, string pathRelativeToDocumentStorage);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string DisplayName { get; }
	public virtual string Identifier { get; }
	public virtual string PathRelativeToDocumentStorage { get; }
}

New Type: FileProvider.NSFileProviderError

[Serializable]
public enum NSFileProviderError {
	CannotSynchronize = -2005,
	DirectoryNotEmpty = -1007,
	FilenameCollision = -1001,
	InsufficientQuota = -1003,
	NewerExtensionVersionFound = -2004,
	NoSuchItem = -1005,
	NotAuthenticated = -1000,
	OlderExtensionVersionRunning = -2003,
	PageExpired = -1002,
	ProviderNotFound = -2001,
	ProviderTranslocated = -2002,
	ServerUnreachable = -1004,
	SyncAnchorExpired = -1002,
	VersionOutOfDate = -1006,
}

New Type: FileProvider.NSFileProviderErrorExtensions

public static class NSFileProviderErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this NSFileProviderError self);
}

New Type: FileProvider.NSFileProviderErrorKeys

public static class NSFileProviderErrorKeys {
	// properties
	public static Foundation.NSString CollidingItemKey { get; }
	public static Foundation.NSString NonExistentItemIdentifierKey { get; }
}

New Type: FileProvider.NSFileProviderFavoriteRank

public static class NSFileProviderFavoriteRank {
	// properties
	public static ulong Unranked { get; }
}

New Type: FileProvider.NSFileProviderManager

public class NSFileProviderManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSFileProviderManager (Foundation.NSObjectFlag t);
	protected NSFileProviderManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static NSFileProviderManager DefaultManager { get; }
	public virtual Foundation.NSUrl DocumentStorageUrl { get; }
	public virtual string ProviderIdentifier { get; }
	// methods
	public static void AddDomain (NSFileProviderDomain domain, System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task AddDomainAsync (NSFileProviderDomain domain);
	public static NSFileProviderManager FromDomain (NSFileProviderDomain domain);
	public static void GetDomains (System.Action<NSFileProviderDomain[],Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<NSFileProviderDomain[]> GetDomainsAsync ();
	public static Foundation.NSUrl GetPlaceholderUrl (Foundation.NSUrl url);
	public virtual void Register (Foundation.NSUrlSessionTask task, string identifier, System.Action<Foundation.NSError> completion);
	public static void RemoveAllDomains (System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task RemoveAllDomainsAsync ();
	public static void RemoveDomain (NSFileProviderDomain domain, System.Action<Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task RemoveDomainAsync (NSFileProviderDomain domain);
	public virtual void SignalEnumerator (string containerItemIdentifier, System.Action<Foundation.NSError> completion);
	public static bool WritePlaceholder (Foundation.NSUrl placeholderUrl, INSFileProviderItem metadata, out Foundation.NSError error);
}

New Namespace FileProviderUI

New Type: FileProviderUI.FPUIActionExtensionContext

public class FPUIActionExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected FPUIActionExtensionContext (Foundation.NSObjectFlag t);
	protected FPUIActionExtensionContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string DomainIdentifier { get; }
	// methods
	public virtual void CancelRequest (Foundation.NSError error);
	public virtual void CompleteRequest ();
}

New Type: FileProviderUI.FPUIActionExtensionViewController

public class FPUIActionExtensionViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public FPUIActionExtensionViewController ();
	public FPUIActionExtensionViewController (Foundation.NSCoder coder);
	protected FPUIActionExtensionViewController (Foundation.NSObjectFlag t);
	protected FPUIActionExtensionViewController (IntPtr handle);
	public FPUIActionExtensionViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual FPUIActionExtensionContext ExtensionContext { get; }
	// methods
	public virtual void Prepare (Foundation.NSError error);
	public virtual void Prepare (string actionIdentifier, Foundation.NSString[] itemIdentifiers);
}

New Type: FileProviderUI.FPUIExtensionErrorCode

[Serializable]
public enum FPUIExtensionErrorCode {
	Failed = 1,
	UserCancelled = 0,
}

New Type: FileProviderUI.FPUIExtensionErrorCodeExtensions

public static class FPUIExtensionErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this FPUIExtensionErrorCode self);
}

New Namespace Foundation

New Type: Foundation.NSPortDelegate_Extensions

public static class NSPortDelegate_Extensions {
	// methods
	public static void MessageReceived (this INSPortDelegate This, NSPortMessage message);
}

New Type: Foundation.NSPortMessage

public class NSPortMessage : Foundation.NSObject, INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<NSObject> {
	// constructors
	public NSPortMessage ();
	protected NSPortMessage (NSObjectFlag t);
	protected NSPortMessage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Namespace GLKit

New Type: GLKit.GLKBaseEffect

public class GLKBaseEffect : Foundation.NSObject, Foundation.INSObjectProtocol, IGLKNamedEffect, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKBaseEffect ();
	protected GLKBaseEffect (Foundation.NSObjectFlag t);
	protected GLKBaseEffect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool ColorMaterialEnabled { get; set; }
	public virtual OpenTK.Vector4 ConstantColor { get; set; }
	public virtual GLKEffectPropertyFog Fog { get; }
	public virtual string Label { get; set; }
	public virtual GLKEffectPropertyLight Light0 { get; }
	public virtual GLKEffectPropertyLight Light1 { get; }
	public virtual GLKEffectPropertyLight Light2 { get; }
	public virtual OpenTK.Vector4 LightModelAmbientColor { get; set; }
	public virtual bool LightModelTwoSided { get; set; }
	public virtual GLKLightingType LightingType { get; set; }
	public virtual GLKEffectPropertyMaterial Material { get; }
	public virtual GLKEffectPropertyTexture Texture2d0 { get; }
	public virtual GLKEffectPropertyTexture Texture2d1 { get; }
	public virtual GLKEffectPropertyTexture[] TextureOrder { get; set; }
	public virtual GLKEffectPropertyTransform Transform { get; }
	public virtual bool UseConstantColor { get; set; }
	// methods
	public virtual void PrepareToDraw ();
}

New Type: GLKit.GLKEffectProperty

public class GLKEffectProperty : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectProperty ();
	protected GLKEffectProperty (Foundation.NSObjectFlag t);
	protected GLKEffectProperty (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: GLKit.GLKEffectPropertyFog

public class GLKEffectPropertyFog : GLKit.GLKEffectProperty, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectPropertyFog ();
	protected GLKEffectPropertyFog (Foundation.NSObjectFlag t);
	protected GLKEffectPropertyFog (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.Vector4 Color { get; set; }
	public virtual float Density { get; set; }
	public virtual bool Enabled { get; set; }
	public virtual float End { get; set; }
	public virtual GLKFogMode Mode { get; set; }
	public virtual float Start { get; set; }
}

New Type: GLKit.GLKEffectPropertyLight

public class GLKEffectPropertyLight : GLKit.GLKEffectProperty, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectPropertyLight ();
	protected GLKEffectPropertyLight (Foundation.NSObjectFlag t);
	protected GLKEffectPropertyLight (IntPtr handle);
	// properties
	public virtual OpenTK.Vector4 AmbientColor { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual float ConstantAttenuation { get; set; }
	public virtual OpenTK.Vector4 DiffuseColor { get; set; }
	public virtual bool Enabled { get; set; }
	public virtual float LinearAttenuation { get; set; }
	public virtual OpenTK.Vector4 Position { get; set; }
	public virtual float QuadraticAttenuation { get; set; }
	public virtual OpenTK.Vector4 SpecularColor { get; set; }
	public virtual float SpotCutoff { get; set; }
	public virtual OpenTK.Vector3 SpotDirection { get; set; }
	public virtual float SpotExponent { get; set; }
	public virtual GLKEffectPropertyTransform Transform { get; set; }
}

New Type: GLKit.GLKEffectPropertyMaterial

public class GLKEffectPropertyMaterial : GLKit.GLKEffectProperty, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectPropertyMaterial ();
	protected GLKEffectPropertyMaterial (Foundation.NSObjectFlag t);
	protected GLKEffectPropertyMaterial (IntPtr handle);
	// properties
	public virtual OpenTK.Vector4 AmbientColor { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.Vector4 DiffuseColor { get; set; }
	public virtual OpenTK.Vector4 EmissiveColor { get; set; }
	public virtual float Shininess { get; set; }
	public virtual OpenTK.Vector4 SpecularColor { get; set; }
}

New Type: GLKit.GLKEffectPropertyTexture

public class GLKEffectPropertyTexture : GLKit.GLKEffectProperty, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectPropertyTexture ();
	protected GLKEffectPropertyTexture (Foundation.NSObjectFlag t);
	protected GLKEffectPropertyTexture (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual GLKTextureEnvMode EnvMode { get; set; }
	public virtual uint GLName { get; set; }
	public virtual GLKTextureTarget Target { get; set; }
}

New Type: GLKit.GLKEffectPropertyTransform

public class GLKEffectPropertyTransform : GLKit.GLKEffectProperty, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKEffectPropertyTransform ();
	protected GLKEffectPropertyTransform (Foundation.NSObjectFlag t);
	protected GLKEffectPropertyTransform (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.Matrix4 ModelViewMatrix { get; set; }
	public virtual OpenTK.Matrix3 NormalMatrix { get; }
	public virtual OpenTK.Matrix4 ProjectionMatrix { get; set; }
}

New Type: GLKit.GLKFogMode

[Serializable]
public enum GLKFogMode {
	Exp = 0,
	Exp2 = 1,
	Linear = 2,
}

New Type: GLKit.GLKLightingType

[Serializable]
public enum GLKLightingType {
	PerPixel = 1,
	PerVertex = 0,
}

New Type: GLKit.GLKMesh

public class GLKMesh : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKMesh (Foundation.NSObjectFlag t);
	protected GLKMesh (IntPtr handle);
	public GLKMesh (ModelIO.MDLMesh mesh, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual GLKSubmesh[] Submeshes { get; }
	public virtual GLKMeshBuffer[] VertexBuffers { get; }
	public virtual nuint VertexCount { get; }
	public virtual ModelIO.MDLVertexDescriptor VertexDescriptor { get; }
	// methods
	public static GLKMesh[] FromAsset (ModelIO.MDLAsset asset, out ModelIO.MDLMesh[] sourceMeshes, out Foundation.NSError error);
}

New Type: GLKit.GLKMeshBuffer

public class GLKMeshBuffer : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ModelIO.IMDLMeshBuffer, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKMeshBuffer (Foundation.NSObjectFlag t);
	protected GLKMeshBuffer (IntPtr handle);
	// properties
	public virtual ModelIO.IMDLMeshBufferAllocator Allocator { get; }
	public override IntPtr ClassHandle { get; }
	public virtual uint GlBufferName { get; }
	public virtual nuint Length { get; }
	public virtual ModelIO.MDLMeshBufferMap Map { get; }
	public virtual nuint Offset { get; }
	public virtual ModelIO.MDLMeshBufferType Type { get; }
	public virtual ModelIO.IMDLMeshBufferZone Zone { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void FillData (Foundation.NSData data, nuint offset);
}

New Type: GLKit.GLKMeshBufferAllocator

public class GLKMeshBufferAllocator : Foundation.NSObject, Foundation.INSObjectProtocol, ModelIO.IMDLMeshBufferAllocator, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKMeshBufferAllocator (Foundation.NSObjectFlag t);
	protected GLKMeshBufferAllocator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual ModelIO.IMDLMeshBuffer CreateBuffer (Foundation.NSData data, ModelIO.MDLMeshBufferType type);
	public virtual ModelIO.IMDLMeshBuffer CreateBuffer (nuint length, ModelIO.MDLMeshBufferType type);
	public virtual ModelIO.IMDLMeshBuffer CreateBuffer (ModelIO.IMDLMeshBufferZone zone, Foundation.NSData data, ModelIO.MDLMeshBufferType type);
	public virtual ModelIO.IMDLMeshBuffer CreateBuffer (ModelIO.IMDLMeshBufferZone zone, nuint length, ModelIO.MDLMeshBufferType type);
	public virtual ModelIO.IMDLMeshBufferZone CreateZone (nuint capacity);
	public virtual ModelIO.IMDLMeshBufferZone CreateZone (Foundation.NSNumber[] sizes, Foundation.NSNumber[] types);
}

New Type: GLKit.GLKModelError

public static class GLKModelError {
	// properties
	public static Foundation.NSString Domain { get; }
	public static Foundation.NSString Key { get; }
}

New Type: GLKit.GLKNamedEffect

public abstract class GLKNamedEffect : Foundation.NSObject, Foundation.INSObjectProtocol, IGLKNamedEffect, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKNamedEffect ();
	protected GLKNamedEffect (Foundation.NSObjectFlag t);
	protected GLKNamedEffect (IntPtr handle);
	// methods
	public virtual void PrepareToDraw ();
}

New Type: GLKit.GLKReflectionMapEffect

public class GLKReflectionMapEffect : GLKit.GLKBaseEffect, Foundation.INSObjectProtocol, IGLKNamedEffect, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKReflectionMapEffect ();
	protected GLKReflectionMapEffect (Foundation.NSObjectFlag t);
	protected GLKReflectionMapEffect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.Matrix3 Matrix { get; set; }
	public virtual GLKEffectPropertyTexture TextureCubeMap { get; }
	// methods
	public virtual void PrepareToDraw ();
}

New Type: GLKit.GLKSkyboxEffect

public class GLKSkyboxEffect : Foundation.NSObject, Foundation.INSObjectProtocol, IGLKNamedEffect, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKSkyboxEffect ();
	protected GLKSkyboxEffect (Foundation.NSObjectFlag t);
	protected GLKSkyboxEffect (IntPtr handle);
	// properties
	public virtual OpenTK.Vector3 Center { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual GLKEffectPropertyTexture TextureCubeMap { get; }
	public virtual GLKEffectPropertyTransform Transform { get; }
	public virtual float XSize { get; set; }
	public virtual float YSize { get; set; }
	public virtual float ZSize { get; set; }
	// methods
	public virtual void Draw ();
	public virtual void PrepareToDraw ();
}

New Type: GLKit.GLKSubmesh

public class GLKSubmesh : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKSubmesh (Foundation.NSObjectFlag t);
	protected GLKSubmesh (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual GLKMeshBuffer ElementBuffer { get; }
	public virtual int ElementCount { get; }
	public virtual GLKMesh Mesh { get; }
	public virtual uint Mode { get; }
	public virtual string Name { get; }
	public virtual uint Type { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: GLKit.GLKTextureEnvMode

[Serializable]
public enum GLKTextureEnvMode {
	Decal = 2,
	Modulate = 1,
	Replace = 0,
}

New Type: GLKit.GLKTextureInfo

public class GLKTextureInfo : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKTextureInfo ();
	protected GLKTextureInfo (Foundation.NSObjectFlag t);
	protected GLKTextureInfo (IntPtr handle);
	// properties
	public virtual GLKTextureInfoAlphaState AlphaState { get; }
	public virtual uint ArrayLength { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ContainsMipmaps { get; }
	public virtual uint Depth { get; }
	public virtual int Height { get; }
	public virtual uint MimapLevelCount { get; }
	public virtual uint Name { get; }
	public virtual GLKTextureTarget Target { get; }
	public virtual GLKTextureInfoOrigin TextureOrigin { get; }
	public virtual int Width { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: GLKit.GLKTextureInfoAlphaState

[Serializable]
public enum GLKTextureInfoAlphaState {
	NonPremultiplied = 1,
	None = 0,
	Premultiplied = 2,
}

New Type: GLKit.GLKTextureInfoOrigin

[Serializable]
public enum GLKTextureInfoOrigin {
	BottomLeft = 2,
	TopLeft = 1,
	Unknown = 0,
}

New Type: GLKit.GLKTextureLoader

public class GLKTextureLoader : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GLKTextureLoader ();
	protected GLKTextureLoader (Foundation.NSObjectFlag t);
	public GLKTextureLoader (OpenGLES.EAGLSharegroup sharegroup);
	protected GLKTextureLoader (IntPtr handle);
	// properties
	public static Foundation.NSString ApplyPremultiplication { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ErrorDomain { get; }
	public static Foundation.NSString ErrorKey { get; }
	public static Foundation.NSString GLErrorKey { get; }
	public static Foundation.NSString GenerateMipmaps { get; }
	public static Foundation.NSString GrayscaleAsAlpha { get; }
	public static Foundation.NSString OriginBottomLeft { get; }
	public static Foundation.NSString SRGB { get; }
	// methods
	public virtual void BeginLoadCubeMap (Foundation.NSUrl filePath, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (Foundation.NSUrl filePath, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (Foundation.NSUrl[] urls, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (Foundation.NSUrl[] urls, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual void BeginLoadCubeMap (string fileName, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (string fileName, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (string[] files, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginLoadCubeMap (string[] files, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginLoadCubeMapAsync (Foundation.NSUrl filePath, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginLoadCubeMapAsync (string fileName, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual void BeginTextureLoad (CoreGraphics.CGImage image, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginTextureLoad (CoreGraphics.CGImage image, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual void BeginTextureLoad (Foundation.NSData data, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginTextureLoad (Foundation.NSData data, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual void BeginTextureLoad (Foundation.NSUrl filePath, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginTextureLoad (Foundation.NSUrl filePath, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual void BeginTextureLoad (string file, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public void BeginTextureLoad (string file, GLKTextureOperations textureOperations, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback onComplete);
	public virtual void BeginTextureLoad (string name, nfloat scaleFactor, Foundation.NSBundle bundle, Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> options, CoreFoundation.DispatchQueue queue, GLKTextureLoaderCallback block);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginTextureLoadAsync (CoreGraphics.CGImage image, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginTextureLoadAsync (Foundation.NSData data, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginTextureLoadAsync (Foundation.NSUrl filePath, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginTextureLoadAsync (string file, Foundation.NSDictionary textureOperations, CoreFoundation.DispatchQueue queue);
	public virtual System.Threading.Tasks.Task<GLKTextureInfo> BeginTextureLoadAsync (string name, nfloat scaleFactor, Foundation.NSBundle bundle, Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> options, CoreFoundation.DispatchQueue queue);
	public static GLKTextureInfo CubeMapFromFile (string path, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromFile (string path, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromFiles (string[] files, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromFiles (string[] files, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromUrl (Foundation.NSUrl url, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromUrl (Foundation.NSUrl url, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromUrls (Foundation.NSUrl[] urls, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo CubeMapFromUrls (Foundation.NSUrl[] urls, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromData (Foundation.NSData data, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromData (Foundation.NSData data, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromFile (string path, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromFile (string path, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromImage (CoreGraphics.CGImage cgImage, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromImage (CoreGraphics.CGImage cgImage, GLKTextureOperations textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromName (string name, nfloat scaleFactor, Foundation.NSBundle bundle, Foundation.NSDictionary<Foundation.NSString,Foundation.NSNumber> options, out Foundation.NSError outError);
	public static GLKTextureInfo FromUrl (Foundation.NSUrl url, Foundation.NSDictionary textureOperations, out Foundation.NSError error);
	public static GLKTextureInfo FromUrl (Foundation.NSUrl url, GLKTextureOperations textureOperations, out Foundation.NSError error);
}

New Type: GLKit.GLKTextureLoaderCallback

public sealed delegate GLKTextureLoaderCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public GLKTextureLoaderCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (GLKTextureInfo textureInfo, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (GLKTextureInfo textureInfo, Foundation.NSError error);
}

New Type: GLKit.GLKTextureLoaderError

[Serializable]
public enum GLKTextureLoaderError {
	AlphaPremultiplicationFailure = 16,
	CompressedTextureUpload = 7,
	CubeMapInvalidNumFiles = 6,
	DataPreprocessingFailure = 12,
	FileOrURLNotFound = 0,
	IncompatibleFormatSRGB = 18,
	InvalidCGImage = 2,
	InvalidEAGLContext = 17,
	InvalidNSData = 1,
	MipmapUnsupported = 13,
	PVRAtlasUnsupported = 5,
	ReorientationFailure = 15,
	UncompressedTextureUpload = 8,
	UnknownFileType = 4,
	UnknownPathType = 3,
	UnsupportedBitDepth = 10,
	UnsupportedCubeMapDimensions = 9,
	UnsupportedOrientation = 14,
	UnsupportedPVRFormat = 11,
	UnsupportedTextureTarget = 19,
}

New Type: GLKit.GLKTextureOperations

public class GLKTextureOperations : Foundation.DictionaryContainer {
	// constructors
	public GLKTextureOperations ();
	public GLKTextureOperations (Foundation.NSDictionary options);
	// properties
	public bool? ApplyPremultiplication { get; set; }
	public bool? GenerateMipmaps { get; set; }
	public bool? GrayscaleAsAlpha { get; set; }
	public bool? OriginBottomLeft { get; set; }
	public bool? SRGB { get; set; }
}

New Type: GLKit.GLKTextureTarget

[Serializable]
public enum GLKTextureTarget {
	CubeMap = 34067,
	TargetCt = 2,
	Texture2D = 3553,
}

New Type: GLKit.GLKVertexAttrib

[Serializable]
public enum GLKVertexAttrib {
	Color = 2,
	Normal = 1,
	Position = 0,
	TexCoord0 = 3,
	TexCoord1 = 4,
}

New Type: GLKit.GLKVertexAttributeParameters

public struct GLKVertexAttributeParameters {
	// fields
	public bool Normalized;
	public uint Size;
	public uint Type;
	// methods
	public static GLKVertexAttributeParameters FromVertexFormat (ModelIO.MDLVertexFormat vertexFormat);
}

New Type: GLKit.GLKView

public class GLKView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public GLKView ();
	public GLKView (CoreGraphics.CGRect frame);
	public GLKView (Foundation.NSCoder coder);
	protected GLKView (Foundation.NSObjectFlag t);
	protected GLKView (IntPtr handle);
	public GLKView (CoreGraphics.CGRect frame, OpenGLES.EAGLContext context);
	// properties
	public static GLKView.GLKViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual OpenGLES.EAGLContext Context { get; set; }
	public IGLKViewDelegate Delegate { get; set; }
	public virtual GLKViewDrawableColorFormat DrawableColorFormat { get; set; }
	public virtual GLKViewDrawableDepthFormat DrawableDepthFormat { get; set; }
	public virtual nint DrawableHeight { get; }
	public virtual GLKViewDrawableMultisample DrawableMultisample { get; set; }
	public virtual GLKViewDrawableStencilFormat DrawableStencilFormat { get; set; }
	public virtual nint DrawableWidth { get; }
	public virtual bool EnableSetNeedsDisplay { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<GLKViewDrawEventArgs> DrawInRect;
	// methods
	public static GLKView.GLKViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void BindDrawable ();
	public virtual void DeleteDrawable ();
	public virtual void Display ();
	protected override void Dispose (bool disposing);
	public static GLKView.GLKViewAppearance GetAppearance<T> ();
	public static GLKView.GLKViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static GLKView.GLKViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static GLKView.GLKViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static GLKView.GLKViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual UIKit.UIImage Snapshot ();

	// inner types
	public class GLKViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected GLKView.GLKViewAppearance (IntPtr handle);
	}
}

New Type: GLKit.GLKViewController

public class GLKViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, IGLKViewDelegate, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public GLKViewController ();
	public GLKViewController (Foundation.NSCoder coder);
	protected GLKViewController (Foundation.NSObjectFlag t);
	protected GLKViewController (IntPtr handle);
	public GLKViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IGLKViewControllerDelegate Delegate { get; set; }
	public virtual nint FramesDisplayed { get; }
	public virtual nint FramesPerSecond { get; }
	public virtual bool PauseOnWillResignActive { get; set; }
	public virtual bool Paused { get; set; }
	public virtual nint PreferredFramesPerSecond { get; set; }
	public virtual bool ResumeOnDidBecomeActive { get; set; }
	public virtual double TimeSinceFirstResume { get; }
	public virtual double TimeSinceLastDraw { get; }
	public virtual double TimeSinceLastResume { get; }
	public virtual double TimeSinceLastUpdate { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void DrawInRect (GLKView view, CoreGraphics.CGRect rect);
	public virtual void Update ();
}

New Type: GLKit.GLKViewControllerDelegate

public abstract class GLKViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IGLKViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKViewControllerDelegate ();
	protected GLKViewControllerDelegate (Foundation.NSObjectFlag t);
	protected GLKViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void Update (GLKViewController controller);
	public virtual void WillPause (GLKViewController controller, bool pause);
}

New Type: GLKit.GLKViewControllerDelegate_Extensions

public static class GLKViewControllerDelegate_Extensions {
	// methods
	public static void WillPause (this IGLKViewControllerDelegate This, GLKViewController controller, bool pause);
}

New Type: GLKit.GLKViewDelegate

public abstract class GLKViewDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IGLKViewDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GLKViewDelegate ();
	protected GLKViewDelegate (Foundation.NSObjectFlag t);
	protected GLKViewDelegate (IntPtr handle);
	// methods
	public virtual void DrawInRect (GLKView view, CoreGraphics.CGRect rect);
}

New Type: GLKit.GLKViewDrawEventArgs

public class GLKViewDrawEventArgs : System.EventArgs {
	// constructors
	public GLKViewDrawEventArgs (CoreGraphics.CGRect rect);
	// properties
	public CoreGraphics.CGRect Rect { get; set; }
}

New Type: GLKit.GLKViewDrawableColorFormat

[Serializable]
public enum GLKViewDrawableColorFormat {
	RGB565 = 1,
	RGBA8888 = 0,
	SRGBA8888 = 2,
}

New Type: GLKit.GLKViewDrawableDepthFormat

[Serializable]
public enum GLKViewDrawableDepthFormat {
	Format16 = 1,
	Format24 = 2,
	None = 0,
}

New Type: GLKit.GLKViewDrawableMultisample

[Serializable]
public enum GLKViewDrawableMultisample {
	None = 0,
	Sample4x = 1,
}

New Type: GLKit.GLKViewDrawableStencilFormat

[Serializable]
public enum GLKViewDrawableStencilFormat {
	Format8 = 1,
	FormatNone = 0,
}

New Type: GLKit.IGLKNamedEffect

public interface IGLKNamedEffect : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void PrepareToDraw ();
}

New Type: GLKit.IGLKViewControllerDelegate

public interface IGLKViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void Update (GLKViewController controller);
}

New Type: GLKit.IGLKViewDelegate

public interface IGLKViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DrawInRect (GLKView view, CoreGraphics.CGRect rect);
}

New Namespace GameKit

New Type: GameKit.GKAchievementViewController

public class GKAchievementViewController : GameKit.GKGameCenterViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public GKAchievementViewController ();
	public GKAchievementViewController (Foundation.NSCoder coder);
	protected GKAchievementViewController (Foundation.NSObjectFlag t);
	protected GKAchievementViewController (IntPtr handle);
	// properties
	public static GKAchievementViewController.GKAchievementViewControllerAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public IGKAchievementViewControllerDelegate Delegate { get; set; }
	public override Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler DidFinish;
	// methods
	public static GKAchievementViewController.GKAchievementViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static GKAchievementViewController.GKAchievementViewControllerAppearance GetAppearance<T> ();
	public static GKAchievementViewController.GKAchievementViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static GKAchievementViewController.GKAchievementViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static GKAchievementViewController.GKAchievementViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static GKAchievementViewController.GKAchievementViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class GKAchievementViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected GKAchievementViewController.GKAchievementViewControllerAppearance (IntPtr handle);
	}
}

New Type: GameKit.GKAchievementViewControllerDelegate

public abstract class GKAchievementViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IGKAchievementViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GKAchievementViewControllerDelegate ();
	protected GKAchievementViewControllerDelegate (Foundation.NSObjectFlag t);
	protected GKAchievementViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidFinish (GKAchievementViewController viewController);
}

New Type: GameKit.GKAuthenticationType

[Serializable]
public enum GKAuthenticationType {
	AuthKitInvocation = 2,
	GreenBuddyUI = 1,
	WithoutUI = 0,
}

New Type: GameKit.GKFriendRequestComposeViewController

public class GKFriendRequestComposeViewController : UIKit.UINavigationController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public GKFriendRequestComposeViewController ();
	public GKFriendRequestComposeViewController (Foundation.NSCoder coder);
	protected GKFriendRequestComposeViewController (Foundation.NSObjectFlag t);
	protected GKFriendRequestComposeViewController (IntPtr handle);
	// properties
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public IGKFriendRequestComposeViewControllerDelegate ComposeViewDelegate { get; set; }
	public static nint MaxNumberOfRecipients { get; }
	public virtual Foundation.NSObject WeakComposeViewDelegate { get; set; }
	// events
	public event System.EventHandler DidFinish;
	// methods
	public virtual void AddRecipientPlayers (GKPlayer[] players);
	public virtual void AddRecipientsFromEmails (string[] emailAddresses);
	public virtual void AddRecipientsFromPlayerIDs (string[] playerIDs);
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance GetAppearance<T> ();
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetMessage (string message);

	// inner types
	public class GKFriendRequestComposeViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected GKFriendRequestComposeViewController.GKFriendRequestComposeViewControllerAppearance (IntPtr handle);
	}
}

New Type: GameKit.GKFriendRequestComposeViewControllerDelegate

public abstract class GKFriendRequestComposeViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IGKFriendRequestComposeViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GKFriendRequestComposeViewControllerDelegate ();
	protected GKFriendRequestComposeViewControllerDelegate (Foundation.NSObjectFlag t);
	protected GKFriendRequestComposeViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidFinish (GKFriendRequestComposeViewController viewController);
}

New Type: GameKit.GKLeaderboardViewController

public class GKLeaderboardViewController : GameKit.GKGameCenterViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public GKLeaderboardViewController ();
	public GKLeaderboardViewController (Foundation.NSCoder coder);
	protected GKLeaderboardViewController (Foundation.NSObjectFlag t);
	protected GKLeaderboardViewController (IntPtr handle);
	// properties
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance Appearance { get; }
	public virtual string Category { get; set; }
	public override IntPtr ClassHandle { get; }
	public IGKLeaderboardViewControllerDelegate Delegate { get; set; }
	public virtual GKLeaderboardTimeScope TimeScope { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler DidFinish;
	// methods
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance GetAppearance<T> ();
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static GKLeaderboardViewController.GKLeaderboardViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class GKLeaderboardViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected GKLeaderboardViewController.GKLeaderboardViewControllerAppearance (IntPtr handle);
	}
}

New Type: GameKit.GKLeaderboardViewControllerDelegate

public abstract class GKLeaderboardViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IGKLeaderboardViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GKLeaderboardViewControllerDelegate ();
	protected GKLeaderboardViewControllerDelegate (Foundation.NSObjectFlag t);
	protected GKLeaderboardViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidFinish (GKLeaderboardViewController viewController);
}

New Type: GameKit.IGKAchievementViewControllerDelegate

public interface IGKAchievementViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidFinish (GKAchievementViewController viewController);
}

New Type: GameKit.IGKFriendRequestComposeViewControllerDelegate

public interface IGKFriendRequestComposeViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidFinish (GKFriendRequestComposeViewController viewController);
}

New Type: GameKit.IGKLeaderboardViewControllerDelegate

public interface IGKLeaderboardViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidFinish (GKLeaderboardViewController viewController);
}

New Namespace HealthKit

New Type: HealthKit.HKActivityMoveMode

[Serializable]
public enum HKActivityMoveMode {
	ActiveEnergy = 1,
	AppleMoveTime = 2,
}

New Type: HealthKit.HKActivityMoveModeObject

public class HKActivityMoveModeObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKActivityMoveModeObject (Foundation.NSCoder coder);
	protected HKActivityMoveModeObject (Foundation.NSObjectFlag t);
	protected HKActivityMoveModeObject (IntPtr handle);
	// properties
	public virtual HKActivityMoveMode ActivityMoveMode { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKActivitySummary

public class HKActivitySummary : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKActivitySummary ();
	public HKActivitySummary (Foundation.NSCoder coder);
	protected HKActivitySummary (Foundation.NSObjectFlag t);
	protected HKActivitySummary (IntPtr handle);
	// properties
	public virtual HKQuantity ActiveEnergyBurned { get; set; }
	public virtual HKQuantity ActiveEnergyBurnedGoal { get; set; }
	public virtual HKActivityMoveMode ActivityMoveMode { get; set; }
	public virtual HKQuantity AppleExerciseTime { get; set; }
	public virtual HKQuantity AppleExerciseTimeGoal { get; set; }
	public virtual HKQuantity AppleMoveTime { get; set; }
	public virtual HKQuantity AppleMoveTimeGoal { get; set; }
	public virtual HKQuantity AppleStandHours { get; set; }
	public virtual HKQuantity AppleStandHoursGoal { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSDateComponents DateComponentsForCalendar (Foundation.NSCalendar calendar);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKActivitySummaryQuery

public class HKActivitySummaryQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKActivitySummaryQuery (Foundation.NSObjectFlag t);
	protected HKActivitySummaryQuery (IntPtr handle);
	public HKActivitySummaryQuery (Foundation.NSPredicate predicate, System.Action<HKActivitySummaryQuery,HealthKit.HKActivitySummary[],Foundation.NSError> handler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual System.Action<HKActivitySummaryQuery,HealthKit.HKActivitySummary[],Foundation.NSError> UpdateHandler { get; set; }
}

New Type: HealthKit.HKActivitySummaryType

public class HKActivitySummaryType : HealthKit.HKObjectType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKActivitySummaryType (Foundation.NSCoder coder);
	protected HKActivitySummaryType (Foundation.NSObjectFlag t);
	protected HKActivitySummaryType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKAnchoredObjectQuery

public class HKAnchoredObjectQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKAnchoredObjectQuery (Foundation.NSObjectFlag t);
	protected HKAnchoredObjectQuery (IntPtr handle);
	public HKAnchoredObjectQuery (HKSampleType type, Foundation.NSPredicate predicate, HKQueryAnchor anchor, nuint limit, HKAnchoredObjectUpdateHandler handler);
	public HKAnchoredObjectQuery (HKSampleType type, Foundation.NSPredicate predicate, nuint anchor, nuint limit, HKAnchoredObjectResultHandler completion);
	public HKAnchoredObjectQuery (HKSampleType type, Foundation.NSPredicate predicate, nuint anchor, nuint limit, HKAnchoredObjectResultHandler2 completion);
	// fields
	public static const uint NoAnchor;
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKAnchoredObjectUpdateHandler UpdateHandler { get; set; }
}

New Type: HealthKit.HKAnchoredObjectResultHandler

public sealed delegate HKAnchoredObjectResultHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKAnchoredObjectResultHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKAnchoredObjectQuery query, HKSampleType[] results, nuint newAnchor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKAnchoredObjectQuery query, HKSampleType[] results, nuint newAnchor, Foundation.NSError error);
}

New Type: HealthKit.HKAnchoredObjectResultHandler2

public sealed delegate HKAnchoredObjectResultHandler2 : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKAnchoredObjectResultHandler2 (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKAnchoredObjectQuery query, HKSample[] results, nuint newAnchor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKAnchoredObjectQuery query, HKSample[] results, nuint newAnchor, Foundation.NSError error);
}

New Type: HealthKit.HKAnchoredObjectUpdateHandler

public sealed delegate HKAnchoredObjectUpdateHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKAnchoredObjectUpdateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKAnchoredObjectQuery query, HKSample[] addedObjects, HKDeletedObject[] deletedObjects, HKQueryAnchor newAnchor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKAnchoredObjectQuery query, HKSample[] addedObjects, HKDeletedObject[] deletedObjects, HKQueryAnchor newAnchor, Foundation.NSError error);
}

New Type: HealthKit.HKAppleEcgAlgorithmVersion

[Serializable]
public enum HKAppleEcgAlgorithmVersion {
	Version1 = 1,
	Version2 = 2,
}

New Type: HealthKit.HKAudiogramSample

public class HKAudiogramSample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKAudiogramSample (Foundation.NSCoder coder);
	protected HKAudiogramSample (Foundation.NSObjectFlag t);
	protected HKAudiogramSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKAudiogramSensitivityPoint[] SensitivityPoints { get; }
	// methods
	public static HKAudiogramSample GetAudiogramSample (HKAudiogramSensitivityPoint[] sensitivityPoints, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
}

New Type: HealthKit.HKAudiogramSampleType

public class HKAudiogramSampleType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKAudiogramSampleType (Foundation.NSCoder coder);
	protected HKAudiogramSampleType (Foundation.NSObjectFlag t);
	protected HKAudiogramSampleType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKAudiogramSensitivityPoint

public class HKAudiogramSensitivityPoint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKAudiogramSensitivityPoint (Foundation.NSObjectFlag t);
	protected HKAudiogramSensitivityPoint (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity Frequency { get; }
	public virtual HKQuantity LeftEarSensitivity { get; }
	public virtual HKQuantity RightEarSensitivity { get; }
	// methods
	public static HKAudiogramSensitivityPoint GetSensitivityPoint (HKQuantity frequency, HKQuantity leftEarSensitivity, HKQuantity rightEarSensitivity, out Foundation.NSError error);
}

New Type: HealthKit.HKAuthorizationRequestStatus

[Serializable]
public enum HKAuthorizationRequestStatus {
	ShouldRequest = 1,
	Unknown = 0,
	Unnecessary = 2,
}

New Type: HealthKit.HKAuthorizationStatus

[Serializable]
public enum HKAuthorizationStatus {
	NotDetermined = 0,
	SharingAuthorized = 2,
	SharingDenied = 1,
}

New Type: HealthKit.HKBiologicalSex

[Serializable]
public enum HKBiologicalSex {
	Female = 1,
	Male = 2,
	NotSet = 0,
	Other = 3,
}

New Type: HealthKit.HKBiologicalSexObject

public class HKBiologicalSexObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKBiologicalSexObject ();
	public HKBiologicalSexObject (Foundation.NSCoder coder);
	protected HKBiologicalSexObject (Foundation.NSObjectFlag t);
	protected HKBiologicalSexObject (IntPtr handle);
	// properties
	public virtual HKBiologicalSex BiologicalSex { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKBloodGlucoseMealTime

[Serializable]
public enum HKBloodGlucoseMealTime {
	Ostprandial = 2,
	Postprandial = 2,
	Preprandial = 1,
	Reprandial = 1,
}

New Type: HealthKit.HKBloodType

[Serializable]
public enum HKBloodType {
	ABNegative = 6,
	ABPositive = 5,
	ANegative = 2,
	APositive = 1,
	BNegative = 4,
	BPositive = 3,
	NotSet = 0,
	ONegative = 8,
	OPositive = 7,
}

New Type: HealthKit.HKBloodTypeObject

public class HKBloodTypeObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKBloodTypeObject ();
	public HKBloodTypeObject (Foundation.NSCoder coder);
	protected HKBloodTypeObject (Foundation.NSObjectFlag t);
	protected HKBloodTypeObject (IntPtr handle);
	// properties
	public virtual HKBloodType BloodType { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKBodyTemperatureSensorLocation

[Serializable]
public enum HKBodyTemperatureSensorLocation {
	Armpit = 1,
	Body = 2,
	Ear = 3,
	EarDrum = 9,
	Finger = 4,
	Forehead = 11,
	GastroIntestinal = 5,
	Mouth = 6,
	Other = 0,
	Rectum = 7,
	TemporalArtery = 10,
	Toe = 8,
}

New Type: HealthKit.HKCategorySample

public class HKCategorySample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCategorySample (Foundation.NSCoder coder);
	protected HKCategorySample (Foundation.NSObjectFlag t);
	protected HKCategorySample (IntPtr handle);
	// properties
	public virtual HKCategoryType CategoryType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint Value { get; }
	// methods
	public static HKCategorySample FromType (HKCategoryType type, nint value, Foundation.NSDate startDate, Foundation.NSDate endDate);
	public static HKCategorySample FromType (HKCategoryType type, nint value, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary metadata);
	public static HKCategorySample FromType (HKCategoryType type, nint value, Foundation.NSDate startDate, Foundation.NSDate endDate, HKMetadata metadata);
	public static HKCategorySample FromType (HKCategoryType type, nint value, Foundation.NSDate startDate, Foundation.NSDate endDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
}

New Type: HealthKit.HKCategoryType

public class HKCategoryType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCategoryType (Foundation.NSCoder coder);
	protected HKCategoryType (Foundation.NSObjectFlag t);
	protected HKCategoryType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKCategoryType Create (HKCategoryTypeIdentifier kind);
}

New Type: HealthKit.HKCategoryTypeIdentifier

[Serializable]
public enum HKCategoryTypeIdentifier {
	AbdominalCramps = 13,
	Acne = 14,
	AppetiteChanges = 15,
	AppleStandHour = 1,
	AudioExposureEvent = 11,
	BladderIncontinence = 46,
	Bloating = 17,
	BreastPain = 18,
	CervicalMucusQuality = 2,
	ChestTightnessOrPain = 19,
	Chills = 20,
	Constipation = 21,
	Contraceptive = 57,
	Coughing = 22,
	Diarrhea = 23,
	Dizziness = 24,
	DrySkin = 47,
	EnvironmentalAudioExposureEvent = 52,
	Fainting = 25,
	Fatigue = 26,
	Fever = 27,
	GeneralizedBodyAche = 16,
	HairLoss = 48,
	HandwashingEvent = 53,
	Headache = 28,
	HeadphoneAudioExposureEvent = 54,
	Heartburn = 29,
	HighHeartRateEvent = 8,
	HotFlashes = 30,
	IntermenstrualBleeding = 5,
	IrregularHeartRhythmEvent = 10,
	Lactation = 56,
	LossOfSmell = 32,
	LossOfTaste = 33,
	LowCardioFitnessEvent = 58,
	LowHeartRateEvent = 9,
	LowerBackPain = 31,
	MemoryLapse = 50,
	MenstrualFlow = 4,
	MindfulSession = 7,
	MoodChanges = 34,
	Nausea = 35,
	NightSweats = 51,
	OvulationTestResult = 3,
	PelvicPain = 36,
	Pregnancy = 55,
	RapidPoundingOrFlutteringHeartbeat = 37,
	RunnyNose = 38,
	SexualActivity = 6,
	ShortnessOfBreath = 39,
	SinusCongestion = 40,
	SkippedHeartbeat = 41,
	SleepAnalysis = 0,
	SleepChanges = 42,
	SoreThroat = 43,
	ToothbrushingEvent = 12,
	VaginalDryness = 49,
	Vomiting = 44,
	Wheezing = 45,
}

New Type: HealthKit.HKCategoryTypeIdentifierExtensions

public static class HKCategoryTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKCategoryTypeIdentifier self);
	public static HKCategoryTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKCategoryTypeIdentifierKey

public static class HKCategoryTypeIdentifierKey {
	// properties
	public static Foundation.NSString AppleStandHour { get; }
	public static Foundation.NSString CervicalMucusQuality { get; }
	public static Foundation.NSString IntermenstrualBleeding { get; }
	public static Foundation.NSString MenstrualFlow { get; }
	public static Foundation.NSString MindfulSession { get; }
	public static Foundation.NSString OvulationTestResult { get; }
	public static Foundation.NSString SexualActivity { get; }
	public static Foundation.NSString SleepAnalysis { get; }
}

New Type: HealthKit.HKCategoryValue

[Serializable]
public enum HKCategoryValue {
	NotApplicable = 0,
}

New Type: HealthKit.HKCategoryValueAppetiteChanges

[Serializable]
public enum HKCategoryValueAppetiteChanges {
	Decreased = 2,
	Increased = 3,
	NoChange = 1,
	Unspecified = 0,
}

New Type: HealthKit.HKCategoryValueAppleStandHour

[Serializable]
public enum HKCategoryValueAppleStandHour {
	Idle = 1,
	Stood = 0,
}

New Type: HealthKit.HKCategoryValueAudioExposureEvent

[Serializable]
public enum HKCategoryValueAudioExposureEvent {
	LoudEnvironment = 1,
}

New Type: HealthKit.HKCategoryValueCervicalMucusQuality

[Serializable]
public enum HKCategoryValueCervicalMucusQuality {
	Creamy = 3,
	Dry = 1,
	EggWhite = 5,
	NotApplicable = 0,
	Sticky = 2,
	Watery = 4,
}

New Type: HealthKit.HKCategoryValueContraceptive

[Serializable]
public enum HKCategoryValueContraceptive {
	Implant = 2,
	Injection = 3,
	IntrauterineDevice = 4,
	IntravaginalRing = 5,
	Oral = 6,
	Patch = 7,
	Unspecified = 1,
}

New Type: HealthKit.HKCategoryValueEnvironmentalAudioExposureEvent

[Serializable]
public enum HKCategoryValueEnvironmentalAudioExposureEvent {
	MomentaryLimit = 1,
}

New Type: HealthKit.HKCategoryValueHeadphoneAudioExposureEvent

[Serializable]
public enum HKCategoryValueHeadphoneAudioExposureEvent {
	SevenDayLimit = 1,
}

New Type: HealthKit.HKCategoryValueLowCardioFitnessEvent

[Serializable]
public enum HKCategoryValueLowCardioFitnessEvent {
	LowFitness = 1,
}

New Type: HealthKit.HKCategoryValueMenstrualFlow

[Serializable]
public enum HKCategoryValueMenstrualFlow {
	Heavy = 4,
	Light = 2,
	Medium = 3,
	None = 5,
	NotApplicable = 0,
	Unspecified = 1,
}

New Type: HealthKit.HKCategoryValueOvulationTestResult

[Serializable]
public enum HKCategoryValueOvulationTestResult {
	EstrogenSurge = 4,
	Indeterminate = 3,
	LuteinizingHormoneSurge = 2,
	Negative = 1,
	NotApplicable = 0,
	Positive = 2,
}

New Type: HealthKit.HKCategoryValuePresence

[Serializable]
public enum HKCategoryValuePresence {
	NotPresent = 1,
	Present = 0,
}

New Type: HealthKit.HKCategoryValueSeverity

[Serializable]
public enum HKCategoryValueSeverity {
	Mild = 2,
	Moderate = 3,
	NotPresent = 1,
	Severe = 4,
	Unspecified = 0,
}

New Type: HealthKit.HKCategoryValueSleepAnalysis

[Serializable]
public enum HKCategoryValueSleepAnalysis {
	Asleep = 1,
	Awake = 2,
	InBed = 0,
}

New Type: HealthKit.HKCdaDocument

public class HKCdaDocument : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKCdaDocument (Foundation.NSObjectFlag t);
	protected HKCdaDocument (IntPtr handle);
	// properties
	public virtual string AuthorName { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string CustodianName { get; }
	public virtual Foundation.NSData DocumentData { get; }
	public virtual string PatientName { get; }
	public virtual string Title { get; }
}

New Type: HealthKit.HKCdaDocumentSample

public class HKCdaDocumentSample : HealthKit.HKDocumentSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCdaDocumentSample (Foundation.NSCoder coder);
	protected HKCdaDocumentSample (Foundation.NSObjectFlag t);
	protected HKCdaDocumentSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKCdaDocument Document { get; }
	// methods
	public static HKCdaDocumentSample Create (Foundation.NSData documentData, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary metadata, out Foundation.NSError validationError);
	public static HKCdaDocumentSample Create (Foundation.NSData documentData, Foundation.NSDate startDate, Foundation.NSDate endDate, HKMetadata metadata, out Foundation.NSError validationError);
}

New Type: HealthKit.HKCharacteristicType

public class HKCharacteristicType : HealthKit.HKObjectType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCharacteristicType (Foundation.NSCoder coder);
	protected HKCharacteristicType (Foundation.NSObjectFlag t);
	protected HKCharacteristicType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKCharacteristicType Create (HKCharacteristicTypeIdentifier kind);
}

New Type: HealthKit.HKCharacteristicTypeIdentifier

[Serializable]
public enum HKCharacteristicTypeIdentifier {
	ActivityMoveMode = 5,
	BiologicalSex = 0,
	BloodType = 1,
	DateOfBirth = 2,
	FitzpatrickSkinType = 3,
	WheelchairUse = 4,
}

New Type: HealthKit.HKCharacteristicTypeIdentifierExtensions

public static class HKCharacteristicTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKCharacteristicTypeIdentifier self);
	public static HKCharacteristicTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKCharacteristicTypeIdentifierKey

public static class HKCharacteristicTypeIdentifierKey {
	// properties
	public static Foundation.NSString BiologicalSex { get; }
	public static Foundation.NSString BloodType { get; }
	public static Foundation.NSString DateOfBirth { get; }
	public static Foundation.NSString FitzpatrickSkinType { get; }
	public static Foundation.NSString WheelchairUse { get; }
}

New Type: HealthKit.HKClinicalRecord

public class HKClinicalRecord : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKClinicalRecord (Foundation.NSCoder coder);
	protected HKClinicalRecord (Foundation.NSObjectFlag t);
	protected HKClinicalRecord (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKClinicalType ClinicalType { get; }
	public virtual string DisplayName { get; }
	public virtual HKFhirResource FhirResource { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKClinicalType

public class HKClinicalType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKClinicalType (Foundation.NSCoder coder);
	protected HKClinicalType (Foundation.NSObjectFlag t);
	protected HKClinicalType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKClinicalTypeIdentifier

[Serializable]
public enum HKClinicalTypeIdentifier {
	AllergyRecord = 0,
	ConditionRecord = 1,
	CoverageRecord = 7,
	ImmunizationRecord = 2,
	LabResultRecord = 3,
	MedicationRecord = 4,
	ProcedureRecord = 5,
	VitalSignRecord = 6,
}

New Type: HealthKit.HKClinicalTypeIdentifierExtensions

public static class HKClinicalTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKClinicalTypeIdentifier self);
	public static HKClinicalTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKCorrelation

public class HKCorrelation : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCorrelation (Foundation.NSCoder coder);
	protected HKCorrelation (Foundation.NSObjectFlag t);
	protected HKCorrelation (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKCorrelationType CorrelationType { get; }
	public virtual Foundation.NSSet Objects { get; }
	// methods
	public static HKCorrelation Create (HKCorrelationType correlationType, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSSet objects);
	public static HKCorrelation Create (HKCorrelationType correlationType, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSSet objects, Foundation.NSDictionary metadata);
	public static HKCorrelation Create (HKCorrelationType correlationType, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSSet objects, HKMetadata metadata);
	public static HKCorrelation Create (HKCorrelationType correlationType, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSSet<HKSample> objects, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual Foundation.NSSet GetObjects (HKObjectType objectType);
}

New Type: HealthKit.HKCorrelationQuery

public class HKCorrelationQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKCorrelationQuery (Foundation.NSObjectFlag t);
	protected HKCorrelationQuery (IntPtr handle);
	public HKCorrelationQuery (HKCorrelationType correlationType, Foundation.NSPredicate predicate, Foundation.NSDictionary samplePredicates, HKCorrelationQueryResultHandler completion);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKCorrelationType CorrelationType { get; }
	public virtual Foundation.NSDictionary SamplePredicates { get; }
}

New Type: HealthKit.HKCorrelationQueryResultHandler

public sealed delegate HKCorrelationQueryResultHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKCorrelationQueryResultHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKCorrelationQuery query, HKCorrelation[] correlations, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKCorrelationQuery query, HKCorrelation[] correlations, Foundation.NSError error);
}

New Type: HealthKit.HKCorrelationType

public class HKCorrelationType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCorrelationType (Foundation.NSCoder coder);
	protected HKCorrelationType (Foundation.NSObjectFlag t);
	protected HKCorrelationType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKCorrelationType Create (HKCorrelationTypeIdentifier kind);
}

New Type: HealthKit.HKCorrelationTypeIdentifier

[Serializable]
public enum HKCorrelationTypeIdentifier {
	BloodPressure = 0,
	Food = 1,
}

New Type: HealthKit.HKCorrelationTypeIdentifierExtensions

public static class HKCorrelationTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKCorrelationTypeIdentifier self);
	public static HKCorrelationTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKCorrelationTypeKey

public static class HKCorrelationTypeKey {
	// properties
	public static Foundation.NSString IdentifierBloodPressure { get; }
	public static Foundation.NSString IdentifierFood { get; }
}

New Type: HealthKit.HKCumulativeQuantitySample

public class HKCumulativeQuantitySample : HealthKit.HKQuantitySample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCumulativeQuantitySample (Foundation.NSCoder coder);
	protected HKCumulativeQuantitySample (Foundation.NSObjectFlag t);
	protected HKCumulativeQuantitySample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity SumQuantity { get; }
}

New Type: HealthKit.HKCumulativeQuantitySeriesSample

public class HKCumulativeQuantitySeriesSample : HealthKit.HKCumulativeQuantitySample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKCumulativeQuantitySeriesSample (Foundation.NSCoder coder);
	protected HKCumulativeQuantitySeriesSample (Foundation.NSObjectFlag t);
	protected HKCumulativeQuantitySeriesSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity Sum { get; }
}

New Type: HealthKit.HKDataTypeIdentifier

[Serializable]
public enum HKDataTypeIdentifier {
	HeartbeatSeries = 0,
}

New Type: HealthKit.HKDataTypeIdentifierExtensions

public static class HKDataTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKDataTypeIdentifier self);
	public static HKDataTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKDeletedObject

public class HKDeletedObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKDeletedObject (Foundation.NSCoder coder);
	protected HKDeletedObject (Foundation.NSObjectFlag t);
	protected HKDeletedObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public HKMetadata Metadata { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	public virtual Foundation.NSDictionary WeakMetadata { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKDetailedCdaErrors

public class HKDetailedCdaErrors : Foundation.DictionaryContainer {
	// constructors
	public HKDetailedCdaErrors ();
	public HKDetailedCdaErrors (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSString ValidationError { get; }
}

New Type: HealthKit.HKDevice

public class HKDevice : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKDevice (Foundation.NSCoder coder);
	protected HKDevice (Foundation.NSObjectFlag t);
	protected HKDevice (IntPtr handle);
	public HKDevice (string name, string manufacturer, string model, string hardwareVersion, string firmwareVersion, string softwareVersion, string localIdentifier, string udiDeviceIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string FirmwareVersion { get; }
	public virtual string HardwareVersion { get; }
	public static HKDevice LocalDevice { get; }
	public virtual string LocalIdentifier { get; }
	public virtual string Manufacturer { get; }
	public virtual string Model { get; }
	public virtual string Name { get; }
	public virtual string SoftwareVersion { get; }
	public virtual string UdiDeviceIdentifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKDevicePlacementSide

[Serializable]
public enum HKDevicePlacementSide {
	Central = 3,
	Left = 1,
	Right = 2,
	Unknown = 0,
}

New Type: HealthKit.HKDevicePropertyKey

public static class HKDevicePropertyKey {
	// properties
	public static Foundation.NSString FirmwareVersion { get; }
	public static Foundation.NSString HardwareVersion { get; }
	public static Foundation.NSString LocalIdentifier { get; }
	public static Foundation.NSString Manufacturer { get; }
	public static Foundation.NSString Model { get; }
	public static Foundation.NSString Name { get; }
	public static Foundation.NSString SoftwareVersion { get; }
	public static Foundation.NSString UdiDeviceIdentifier { get; }
}

New Type: HealthKit.HKDiscreteQuantitySample

public class HKDiscreteQuantitySample : HealthKit.HKQuantitySample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKDiscreteQuantitySample (Foundation.NSCoder coder);
	protected HKDiscreteQuantitySample (Foundation.NSObjectFlag t);
	protected HKDiscreteQuantitySample (IntPtr handle);
	// properties
	public virtual HKQuantity Average { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity Maximum { get; }
	public virtual HKQuantity Minimum { get; }
	public virtual HKQuantity MostRecent { get; }
	public virtual Foundation.NSDateInterval MostRecentDateInterval { get; }
}

New Type: HealthKit.HKDocumentQuery

public class HKDocumentQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKDocumentQuery (Foundation.NSObjectFlag t);
	protected HKDocumentQuery (IntPtr handle);
	public HKDocumentQuery (HKDocumentType documentType, Foundation.NSPredicate predicate, nuint limit, Foundation.NSSortDescriptor[] sortDescriptors, bool includeDocumentData, System.Action<HKDocumentQuery,HealthKit.HKDocumentSample[],System.Boolean,Foundation.NSError> resultsHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IncludeDocumentData { get; }
	public virtual nuint Limit { get; }
	public virtual Foundation.NSSortDescriptor[] SortDescriptors { get; }
}

New Type: HealthKit.HKDocumentSample

public abstract class HKDocumentSample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKDocumentSample (Foundation.NSCoder coder);
	protected HKDocumentSample (Foundation.NSObjectFlag t);
	protected HKDocumentSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKDocumentType DocumentType { get; }
}

New Type: HealthKit.HKDocumentType

public class HKDocumentType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKDocumentType (Foundation.NSCoder coder);
	protected HKDocumentType (Foundation.NSObjectFlag t);
	protected HKDocumentType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKDocumentType Create (HKDocumentTypeIdentifier kind);
}

New Type: HealthKit.HKDocumentTypeIdentifier

[Serializable]
public enum HKDocumentTypeIdentifier {
	Cda = 0,
}

New Type: HealthKit.HKDocumentTypeIdentifierExtensions

public static class HKDocumentTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKDocumentTypeIdentifier self);
	public static HKDocumentTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKElectrocardiogram

public class HKElectrocardiogram : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKElectrocardiogram (Foundation.NSCoder coder);
	protected HKElectrocardiogram (Foundation.NSObjectFlag t);
	protected HKElectrocardiogram (IntPtr handle);
	// properties
	public virtual HKQuantity AverageHeartRate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HKElectrocardiogramClassification Classification { get; }
	public virtual nint NumberOfVoltageMeasurements { get; }
	public virtual HKQuantity SamplingFrequency { get; }
	public virtual HKElectrocardiogramSymptomsStatus SymptomsStatus { get; }
}

New Type: HealthKit.HKElectrocardiogramClassification

[Serializable]
public enum HKElectrocardiogramClassification {
	AtrialFibrillation = 2,
	InconclusiveHighHeartRate = 4,
	InconclusiveLowHeartRate = 3,
	InconclusiveOther = 6,
	InconclusivePoorReading = 5,
	NotSet = 0,
	SinusRhythm = 1,
	Unrecognized = 100,
}

New Type: HealthKit.HKElectrocardiogramLead

[Serializable]
public enum HKElectrocardiogramLead {
	AppleWatchSimilarToLeadI = 1,
}

New Type: HealthKit.HKElectrocardiogramQuery

public class HKElectrocardiogramQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKElectrocardiogramQuery (Foundation.NSObjectFlag t);
	protected HKElectrocardiogramQuery (IntPtr handle);
	public HKElectrocardiogramQuery (HKElectrocardiogram electrocardiogram, HKElectrocardiogramQueryDataHandler dataHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKElectrocardiogramQueryDataHandler

public sealed delegate HKElectrocardiogramQueryDataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKElectrocardiogramQueryDataHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKElectrocardiogramQuery query, HKElectrocardiogramVoltageMeasurement voltageMeasurement, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKElectrocardiogramQuery query, HKElectrocardiogramVoltageMeasurement voltageMeasurement, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKElectrocardiogramSymptomsStatus

[Serializable]
public enum HKElectrocardiogramSymptomsStatus {
	None = 1,
	NotSet = 0,
	Present = 2,
}

New Type: HealthKit.HKElectrocardiogramType

public class HKElectrocardiogramType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKElectrocardiogramType (Foundation.NSCoder coder);
	protected HKElectrocardiogramType (Foundation.NSObjectFlag t);
	protected HKElectrocardiogramType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKElectrocardiogramVoltageMeasurement

public class HKElectrocardiogramVoltageMeasurement : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKElectrocardiogramVoltageMeasurement (Foundation.NSObjectFlag t);
	protected HKElectrocardiogramVoltageMeasurement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double TimeSinceSampleStart { get; }
	// methods
	public virtual HKQuantity GetQuantity (HKElectrocardiogramLead lead);
}

New Type: HealthKit.HKErrorCode

[Serializable]
public enum HKErrorCode {
	AnotherWorkoutSessionStarted = 8,
	AuthorizationDenied = 4,
	AuthorizationNotDetermined = 5,
	DatabaseInaccessible = 6,
	HealthDataRestricted = 2,
	HealthDataUnavailable = 1,
	InvalidArgument = 3,
	NoData = 11,
	NoError = 0,
	RequiredAuthorizationDenied = 10,
	UserCanceled = 7,
	UserExitedWorkoutSession = 9,
}

New Type: HealthKit.HKErrorCodeExtensions

public static class HKErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this HKErrorCode self);
}

New Type: HealthKit.HKFhirRelease

[Serializable]
public enum HKFhirRelease {
	Dstu2 = 0,
	R4 = 1,
	Unknown = 2,
}

New Type: HealthKit.HKFhirReleaseExtensions

public static class HKFhirReleaseExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKFhirRelease self);
	public static HKFhirRelease GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKFhirResource

public class HKFhirResource : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKFhirResource (Foundation.NSCoder coder);
	protected HKFhirResource (Foundation.NSObjectFlag t);
	protected HKFhirResource (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual HKFhirVersion FhirVersion { get; }
	public virtual string Identifier { get; }
	public virtual HKFhirResourceType ResourceType { get; }
	public virtual Foundation.NSUrl SourceUrl { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKFhirResourceType

[Serializable]
public enum HKFhirResourceType {
	AllergyIntolerance = 0,
	Condition = 1,
	Coverage = 9,
	Immunization = 2,
	MedicationDispense = 3,
	MedicationOrder = 4,
	MedicationRequest = 8,
	MedicationStatement = 5,
	Observation = 6,
	Procedure = 7,
}

New Type: HealthKit.HKFhirResourceTypeExtensions

public static class HKFhirResourceTypeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKFhirResourceType self);
	public static HKFhirResourceType GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKFhirVersion

public class HKFhirVersion : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKFhirVersion (Foundation.NSCoder coder);
	protected HKFhirVersion (Foundation.NSObjectFlag t);
	protected HKFhirVersion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string FhirRelease { get; }
	public virtual nint MajorVersion { get; }
	public virtual nint MinorVersion { get; }
	public virtual nint PatchVersion { get; }
	public static HKFhirVersion PrimaryDstu2Version { get; }
	public static HKFhirVersion PrimaryR4Version { get; }
	public virtual string StringRepresentation { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static HKFhirVersion GetVersion (string versionString, out Foundation.NSError errorOut);
}

New Type: HealthKit.HKFitzpatrickSkinType

[Serializable]
public enum HKFitzpatrickSkinType {
	I = 1,
	II = 2,
	III = 3,
	IV = 4,
	NotSet = 0,
	V = 5,
	VI = 6,
}

New Type: HealthKit.HKFitzpatrickSkinTypeObject

public class HKFitzpatrickSkinTypeObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKFitzpatrickSkinTypeObject ();
	public HKFitzpatrickSkinTypeObject (Foundation.NSCoder coder);
	protected HKFitzpatrickSkinTypeObject (Foundation.NSObjectFlag t);
	protected HKFitzpatrickSkinTypeObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKFitzpatrickSkinType SkinType { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKHealthStore

public class HKHealthStore : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHealthStore ();
	protected HKHealthStore (Foundation.NSObjectFlag t);
	protected HKHealthStore (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate EarliestPermittedSampleDate { get; }
	public static bool IsHealthDataAvailable { get; }
	public virtual bool SupportsHealthRecords { get; }
	public static Foundation.NSString UserPreferencesDidChangeNotification { get; }
	// methods
	public virtual void AddSamples (HKSample[] samples, HKWorkout workout, HKStoreSampleAddedCallback callback);
	public virtual void DeleteObject (HKObject obj, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DeleteObjectAsync (HKObject obj);
	public virtual void DeleteObjects (HKObject[] objects, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual void DeleteObjects (HKObjectType objectType, Foundation.NSPredicate predicate, System.Action<System.Boolean,System.nuint,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DeleteObjectsAsync (HKObject[] objects);
	public virtual void DisableAllBackgroundDelivery (System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DisableAllBackgroundDeliveryAsync ();
	public virtual void DisableBackgroundDelivery (HKObjectType type, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> DisableBackgroundDeliveryAsync (HKObjectType type);
	public virtual void EnableBackgroundDelivery (HKObjectType type, HKUpdateFrequency frequency, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> EnableBackgroundDeliveryAsync (HKObjectType type, HKUpdateFrequency frequency);
	public virtual void ExecuteQuery (HKQuery query);
	public virtual HKActivityMoveModeObject GetActivityMoveMode (out Foundation.NSError error);
	public virtual HKAuthorizationStatus GetAuthorizationStatus (HKObjectType type);
	public virtual HKBiologicalSexObject GetBiologicalSex (out Foundation.NSError error);
	public virtual HKBloodTypeObject GetBloodType (out Foundation.NSError error);
	public virtual Foundation.NSDate GetDateOfBirth (out Foundation.NSError error);
	public virtual Foundation.NSDateComponents GetDateOfBirthComponents (out Foundation.NSError error);
	public virtual HKFitzpatrickSkinTypeObject GetFitzpatrickSkinType (out Foundation.NSError error);
	public virtual void GetPreferredUnits (Foundation.NSSet quantityTypes, System.Action<Foundation.NSDictionary,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<Foundation.NSDictionary> GetPreferredUnitsAsync (Foundation.NSSet quantityTypes);
	public virtual void GetRequestStatusForAuthorizationToShare (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead, HKHealthStoreGetRequestStatusForAuthorizationToShareHandler completion);
	public virtual System.Threading.Tasks.Task<HKAuthorizationRequestStatus> GetRequestStatusForAuthorizationToShareAsync (Foundation.NSSet<HKSampleType> typesToShare, Foundation.NSSet<HKObjectType> typesToRead);
	public virtual HKWheelchairUseObject GetWheelchairUse (out Foundation.NSError error);
	public virtual void HandleAuthorizationForExtension (System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> HandleAuthorizationForExtensionAsync ();
	public virtual void RequestAuthorizationToShare (Foundation.NSSet typesToShare, Foundation.NSSet typesToRead, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> RequestAuthorizationToShareAsync (Foundation.NSSet typesToShare, Foundation.NSSet typesToRead);
	public virtual void SaveObject (HKObject obj, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveObjectAsync (HKObject obj);
	public virtual void SaveObjects (HKObject[] objects, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> SaveObjectsAsync (HKObject[] objects);
	public virtual void SplitTotalEnergy (HKQuantity totalEnergy, Foundation.NSDate startDate, Foundation.NSDate endDate, System.Action<HKQuantity,HealthKit.HKQuantity,Foundation.NSError> resultsHandler);
	public virtual void StartWatchApp (HKWorkoutConfiguration workoutConfiguration, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> StartWatchAppAsync (HKWorkoutConfiguration workoutConfiguration);
	public virtual void StopQuery (HKQuery query);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveUserPreferencesDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveUserPreferencesDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: HealthKit.HKHealthStoreGetRequestStatusForAuthorizationToShareHandler

public sealed delegate HKHealthStoreGetRequestStatusForAuthorizationToShareHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKHealthStoreGetRequestStatusForAuthorizationToShareHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKAuthorizationRequestStatus requestStatus, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKAuthorizationRequestStatus requestStatus, Foundation.NSError error);
}

New Type: HealthKit.HKHeartRateMotionContext

[Serializable]
public enum HKHeartRateMotionContext {
	Active = 2,
	NotSet = 0,
	Sedentary = 1,
}

New Type: HealthKit.HKHeartRateSensorLocation

[Serializable]
public enum HKHeartRateSensorLocation {
	Chest = 1,
	EarLobe = 5,
	Finger = 3,
	Foot = 6,
	Hand = 4,
	Other = 0,
	Wrist = 2,
}

New Type: HealthKit.HKHeartbeatSeriesBuilder

public class HKHeartbeatSeriesBuilder : HealthKit.HKSeriesBuilder, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHeartbeatSeriesBuilder (Foundation.NSCoder coder);
	protected HKHeartbeatSeriesBuilder (Foundation.NSObjectFlag t);
	protected HKHeartbeatSeriesBuilder (IntPtr handle);
	public HKHeartbeatSeriesBuilder (HKHealthStore healthStore, HKDevice device, Foundation.NSDate startDate);
	// properties
	public override IntPtr ClassHandle { get; }
	public static nuint MaximumCount { get; }
	// methods
	public virtual void AddHeartbeat (double timeInterval, bool precededByGap, HKHeartbeatSeriesBuilderCompletionHandler completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddHeartbeatAsync (double timeInterval, bool precededByGap);
	public virtual void AddMetadata (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata, HKHeartbeatSeriesBuilderCompletionHandler completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
	public virtual void FinishSeries (System.Action<HKHeartbeatSeriesSample,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HKHeartbeatSeriesSample> FinishSeriesAsync ();
}

New Type: HealthKit.HKHeartbeatSeriesBuilderCompletionHandler

public sealed delegate HKHeartbeatSeriesBuilderCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKHeartbeatSeriesBuilderCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: HealthKit.HKHeartbeatSeriesQuery

public class HKHeartbeatSeriesQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHeartbeatSeriesQuery ();
	protected HKHeartbeatSeriesQuery (Foundation.NSObjectFlag t);
	protected HKHeartbeatSeriesQuery (IntPtr handle);
	public HKHeartbeatSeriesQuery (HKHeartbeatSeriesSample heartbeatSeries, HKHeartbeatSeriesQueryDataHandler dataHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKHeartbeatSeriesQueryDataHandler

public sealed delegate HKHeartbeatSeriesQueryDataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKHeartbeatSeriesQueryDataHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKHeartbeatSeriesQuery query, double timeSinceSeriesStart, bool precededByGap, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKHeartbeatSeriesQuery query, double timeSinceSeriesStart, bool precededByGap, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKHeartbeatSeriesSample

public class HKHeartbeatSeriesSample : HealthKit.HKSeriesSample, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKHeartbeatSeriesSample (Foundation.NSCoder coder);
	protected HKHeartbeatSeriesSample (Foundation.NSObjectFlag t);
	protected HKHeartbeatSeriesSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKInsulinDeliveryReason

[Serializable]
public enum HKInsulinDeliveryReason {
	Asal = 1,
	Basal = 1,
	Bolus = 2,
	Olus = 2,
}

New Type: HealthKit.HKMetadata

public class HKMetadata : Foundation.DictionaryContainer {
	// constructors
	public HKMetadata ();
	public HKMetadata (Foundation.NSDictionary dictionary);
	// properties
	public HKQuantity AlpineSlopeGrade { get; set; }
	public HKQuantity AverageSpeed { get; set; }
	public HKBloodGlucoseMealTime? BloodGlucoseMealTime { get; }
	public HKBodyTemperatureSensorLocation? BodyTemperatureSensorLocation { get; set; }
	public bool? CoachedWorkout { get; set; }
	public HKQuantity CrossTrainerDistance { get; set; }
	public string DeviceManufacturerName { get; set; }
	public string DeviceName { get; set; }
	public string DeviceSerialNumber { get; set; }
	public string DigitalSignature { get; set; }
	public HKQuantity ElevationAscended { get; set; }
	public HKQuantity ElevationDescended { get; set; }
	public string ExternalUuid { get; set; }
	public HKQuantity FitnessMachineDuration { get; set; }
	public string FoodType { get; set; }
	public bool? GroupFitness { get; set; }
	public HKQuantity HeartRateEventThreshold { get; set; }
	public HKHeartRateMotionContext? HeartRateMotionContext { get; }
	public HKHeartRateSensorLocation? HeartRateSensorLocation { get; set; }
	public HKQuantity IndoorBikeDistance { get; set; }
	public bool? IndoorWorkout { get; set; }
	public HKInsulinDeliveryReason? InsulinDeliveryReason { get; }
	public Foundation.NSString LapLength { get; }
	public HKQuantity MaximumSpeed { get; set; }
	public bool? MenstrualCycleStart { get; set; }
	public Foundation.NSNumber ReferenceRangeLowerLimit { get; set; }
	public Foundation.NSNumber ReferenceRangeUpperLimit { get; set; }
	public bool? SexualActivityProtectionUsed { get; set; }
	public Foundation.NSString SwimmingLocationType { get; }
	public Foundation.NSString SwimmingStrokeStyle { get; }
	public string SyncIdentifier { get; }
	public int? SyncVersion { get; }
	public Foundation.NSTimeZone TimeZone { get; set; }
	public string UdiDeviceIdentifier { get; set; }
	public string UdiProductionIdentifier { get; set; }
	public HKVO2MaxTestType? VO2MaxTestType { get; }
	public bool? WasTakenInLab { get; set; }
	public bool? WasUserEntered { get; set; }
	public HKWeatherCondition? WeatherCondition { get; }
	public HKQuantity WeatherHumidity { get; }
	public HKQuantity WeatherTemperature { get; }
	public string WorkoutBrandName { get; set; }
}

New Type: HealthKit.HKMetadataKey

public static class HKMetadataKey {
	// properties
	public static Foundation.NSString AlpineSlopeGrade { get; }
	public static Foundation.NSString AppleDeviceCalibrated { get; }
	public static Foundation.NSString AppleEcgAlgorithmVersion { get; }
	public static Foundation.NSString AudioExposureDuration { get; }
	public static Foundation.NSString AudioExposureLevel { get; }
	public static Foundation.NSString AverageMets { get; }
	public static Foundation.NSString AverageSpeed { get; }
	public static Foundation.NSString BarometricPressure { get; }
	public static Foundation.NSString BloodGlucoseMealTime { get; }
	public static Foundation.NSString BodyTemperatureSensorLocation { get; }
	public static Foundation.NSString CoachedWorkout { get; }
	public static Foundation.NSString CrossTrainerDistance { get; }
	public static Foundation.NSString DeviceManufacturerName { get; }
	public static Foundation.NSString DeviceName { get; }
	public static Foundation.NSString DevicePlacementSide { get; }
	public static Foundation.NSString DeviceSerialNumber { get; }
	public static Foundation.NSString DigitalSignature { get; }
	public static Foundation.NSString ElevationAscended { get; }
	public static Foundation.NSString ElevationDescended { get; }
	public static Foundation.NSString ExternalUuid { get; }
	public static Foundation.NSString FitnessMachineDuration { get; }
	public static Foundation.NSString FoodType { get; }
	public static Foundation.NSString GroupFitness { get; }
	public static Foundation.NSString HeartRateEventThreshold { get; }
	public static Foundation.NSString HeartRateMotionContext { get; }
	public static Foundation.NSString HeartRateSensorLocation { get; }
	public static Foundation.NSString IndoorBikeDistance { get; }
	public static Foundation.NSString IndoorWorkout { get; }
	public static Foundation.NSString InsulinDeliveryReason { get; }
	public static Foundation.NSString LapLength { get; }
	public static Foundation.NSString LowCardioFitnessEventThreshold { get; }
	public static Foundation.NSString MaximumSpeed { get; }
	public static Foundation.NSString MenstrualCycleStart { get; }
	public static Foundation.NSString ReferenceRangeLowerLimit { get; }
	public static Foundation.NSString ReferenceRangeUpperLimit { get; }
	public static Foundation.NSString SexualActivityProtectionUsed { get; }
	public static Foundation.NSString SwimmingLocationType { get; }
	public static Foundation.NSString SwimmingStrokeStyle { get; }
	public static Foundation.NSString SyncIdentifier { get; }
	public static Foundation.NSString SyncVersion { get; }
	public static Foundation.NSString TimeZone { get; }
	public static Foundation.NSString UdiDeviceIdentifier { get; }
	public static Foundation.NSString UdiProductionIdentifier { get; }
	public static Foundation.NSString VO2MaxTestType { get; }
	public static Foundation.NSString VO2MaxValue { get; }
	public static Foundation.NSString WasTakenInLab { get; }
	public static Foundation.NSString WasUserEntered { get; }
	public static Foundation.NSString WeatherCondition { get; }
	public static Foundation.NSString WeatherHumidity { get; }
	public static Foundation.NSString WeatherTemperature { get; }
	public static Foundation.NSString WorkoutBrandName { get; }
}

New Type: HealthKit.HKMetricPrefix

[Serializable]
public enum HKMetricPrefix {
	Centi = 5,
	Deca = 7,
	Deci = 6,
	Femto = 13,
	Giga = 11,
	Hecto = 8,
	Kilo = 9,
	Mega = 10,
	Micro = 3,
	Milli = 4,
	Nano = 2,
	None = 0,
	Pico = 1,
	Tera = 12,
}

New Type: HealthKit.HKObject

public class HKObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKObject (Foundation.NSCoder coder);
	protected HKObject (Foundation.NSObjectFlag t);
	protected HKObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKDevice Device { get; }
	public HKMetadata Metadata { get; }
	public virtual HKSource Source { get; }
	public virtual HKSourceRevision SourceRevision { get; }
	public virtual Foundation.NSUuid Uuid { get; }
	public virtual Foundation.NSDictionary WeakMetadata { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKObjectType

public class HKObjectType : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKObjectType (Foundation.NSCoder coder);
	protected HKObjectType (Foundation.NSObjectFlag t);
	protected HKObjectType (IntPtr handle);
	// properties
	public static HKActivitySummaryType ActivitySummaryType { get; }
	public static HKAudiogramSampleType AudiogramSampleType { get; }
	public override IntPtr ClassHandle { get; }
	public static HKElectrocardiogramType ElectrocardiogramType { get; }
	public virtual Foundation.NSString Identifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static HKCategoryType GetCategoryType (Foundation.NSString hkCategoryTypeIdentifier);
	public static HKCharacteristicType GetCharacteristicType (Foundation.NSString hkCharacteristicTypeIdentifier);
	public static HKClinicalType GetClinicalType (HKClinicalTypeIdentifier identifier);
	public static HKCorrelationType GetCorrelationType (Foundation.NSString hkCorrelationTypeIdentifier);
	public static HKQuantityType GetQuantityType (Foundation.NSString hkTypeIdentifier);
	public static HKSeriesType GetSeriesType (string identifier);
	public static HKWorkoutType GetWorkoutType ();
	public static HKWorkout WorkoutType ();
}

New Type: HealthKit.HKObserverQuery

public class HKObserverQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKObserverQuery (Foundation.NSObjectFlag t);
	protected HKObserverQuery (IntPtr handle);
	public HKObserverQuery (HKSampleType sampleType, Foundation.NSPredicate predicate, HKObserverQueryUpdateHandler updateHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKObserverQueryUpdateHandler

public sealed delegate HKObserverQueryUpdateHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKObserverQueryUpdateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKObserverQuery query, System.Action completion, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKObserverQuery query, System.Action completion, Foundation.NSError error);
}

New Type: HealthKit.HKPredicateKeyPath

public static class HKPredicateKeyPath {
	// properties
	public static Foundation.NSString Average { get; }
	public static Foundation.NSString AverageHeartRate { get; }
	public static Foundation.NSString CategoryValue { get; }
	public static Foundation.NSString CdaAuthorName { get; }
	public static Foundation.NSString CdaCustodianName { get; }
	public static Foundation.NSString CdaPatientName { get; }
	public static Foundation.NSString CdaTitle { get; }
	public static Foundation.NSString ClinicalRecordFhirResourceIdentifier { get; }
	public static Foundation.NSString ClinicalRecordFhirResourceType { get; }
	public static Foundation.NSString Correlation { get; }
	public static Foundation.NSString DateComponents { get; }
	public static Foundation.NSString Device { get; }
	public static Foundation.NSString EcgClassification { get; }
	public static Foundation.NSString EcgSymptomsStatus { get; }
	public static Foundation.NSString EndDate { get; }
	public static Foundation.NSString Max { get; }
	public static Foundation.NSString Metadata { get; }
	public static Foundation.NSString Min { get; }
	public static Foundation.NSString MostRecent { get; }
	public static Foundation.NSString MostRecentDuration { get; }
	public static Foundation.NSString MostRecentEndDate { get; }
	public static Foundation.NSString MostRecentStartDate { get; }
	public static Foundation.NSString PathCount { get; }
	public static Foundation.NSString PathSum { get; }
	public static Foundation.NSString Quantity { get; }
	public static Foundation.NSString Source { get; }
	public static Foundation.NSString SourceRevision { get; }
	public static Foundation.NSString StartDate { get; }
	public static Foundation.NSString TotalFlightsClimbed { get; }
	public static Foundation.NSString Uuid { get; }
	public static Foundation.NSString Workout { get; }
	public static Foundation.NSString WorkoutDuration { get; }
	public static Foundation.NSString WorkoutTotalDistance { get; }
	public static Foundation.NSString WorkoutTotalEnergyBurned { get; }
	public static Foundation.NSString WorkoutTotalSwimmingStrokeCount { get; }
	public static Foundation.NSString WorkoutType { get; }
}

New Type: HealthKit.HKQuantity

public class HKQuantity : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKQuantity (Foundation.NSCoder coder);
	protected HKQuantity (Foundation.NSObjectFlag t);
	protected HKQuantity (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSComparisonResult Compare (HKQuantity quantity);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static HKQuantity FromQuantity (HKUnit unit, double value);
	public virtual double GetDoubleValue (HKUnit unit);
	public virtual bool IsCompatible (HKUnit unit);
}

New Type: HealthKit.HKQuantityAggregationStyle

[Serializable]
public enum HKQuantityAggregationStyle {
	Cumulative = 0,
	Discrete = 1,
	DiscreteArithmetic = 1,
	DiscreteEquivalentContinuousLevel = 3,
	DiscreteTemporallyWeighted = 2,
}

New Type: HealthKit.HKQuantitySample

public class HKQuantitySample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKQuantitySample (Foundation.NSCoder coder);
	protected HKQuantitySample (Foundation.NSObjectFlag t);
	protected HKQuantitySample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint Count { get; }
	public virtual HKQuantity Quantity { get; }
	public virtual HKQuantityType QuantityType { get; }
	// methods
	public static HKQuantitySample FromType (HKQuantityType quantityType, HKQuantity quantity, Foundation.NSDate startDate, Foundation.NSDate endDate);
	public static HKQuantitySample FromType (HKQuantityType quantityType, HKQuantity quantity, Foundation.NSDate startDate, Foundation.NSDate endDate, Foundation.NSDictionary metadata);
	public static HKQuantitySample FromType (HKQuantityType quantityType, HKQuantity quantity, Foundation.NSDate startDate, Foundation.NSDate endDate, HKMetadata metadata);
	public static HKQuantitySample FromType (HKQuantityType quantityType, HKQuantity quantity, Foundation.NSDate startDate, Foundation.NSDate endDate, HKDevice device, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilder

public class HKQuantitySeriesSampleBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKQuantitySeriesSampleBuilder (Foundation.NSObjectFlag t);
	protected HKQuantitySeriesSampleBuilder (IntPtr handle);
	public HKQuantitySeriesSampleBuilder (HKHealthStore healthStore, HKQuantityType quantityType, Foundation.NSDate startDate, HKDevice device);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKDevice Device { get; }
	public virtual HKQuantityType QuantityType { get; }
	public virtual Foundation.NSDate StartDate { get; }
	// methods
	public virtual void Discard ();
	protected virtual void FinishSeries (Foundation.NSDictionary metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
	public void FinishSeries (HKMetadata metadata, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
	public virtual void FinishSeries (Foundation.NSDictionary metadata, Foundation.NSDate endDate, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
	public void FinishSeries (HKMetadata metadata, Foundation.NSDate endDate, HKQuantitySeriesSampleBuilderFinishSeriesDelegate completionHandler);
	protected virtual System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (Foundation.NSDictionary metadata);
	public System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (HKMetadata metadata);
	public virtual System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (Foundation.NSDictionary metadata, Foundation.NSDate endDate);
	public System.Threading.Tasks.Task<HKQuantitySample[]> FinishSeriesAsync (HKMetadata metadata, Foundation.NSDate endDate);
	public virtual bool Insert (HKQuantity quantity, Foundation.NSDate date, out Foundation.NSError error);
	public virtual bool Insert (HKQuantity quantity, Foundation.NSDateInterval dateInterval, out Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleBuilderFinishSeriesDelegate

public sealed delegate HKQuantitySeriesSampleBuilderFinishSeriesDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKQuantitySeriesSampleBuilderFinishSeriesDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKQuantitySample[] samples, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKQuantitySample[] samples, Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleQuery

public class HKQuantitySeriesSampleQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKQuantitySeriesSampleQuery ();
	protected HKQuantitySeriesSampleQuery (Foundation.NSObjectFlag t);
	protected HKQuantitySeriesSampleQuery (IntPtr handle);
	public HKQuantitySeriesSampleQuery (HKQuantitySample quantitySample, HKQuantitySeriesSampleQueryQuantityDelegate quantityHandler);
	public HKQuantitySeriesSampleQuery (HKQuantityType quantityType, Foundation.NSPredicate predicate, HKQuantitySeriesSampleQueryQuantityHandler quantityHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IncludeSample { get; set; }
	public virtual bool OrderByQuantitySampleStartDate { get; set; }
}

New Type: HealthKit.HKQuantitySeriesSampleQueryQuantityDelegate

public sealed delegate HKQuantitySeriesSampleQueryQuantityDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKQuantitySeriesSampleQueryQuantityDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDate date, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKQuantitySeriesSampleQueryQuantityHandler

public sealed delegate HKQuantitySeriesSampleQueryQuantityHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKQuantitySeriesSampleQueryQuantityHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDateInterval date, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKQuantitySeriesSampleQuery query, HKQuantity quantity, Foundation.NSDateInterval date, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKQuantityType

public class HKQuantityType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKQuantityType (Foundation.NSCoder coder);
	protected HKQuantityType (Foundation.NSObjectFlag t);
	protected HKQuantityType (IntPtr handle);
	// properties
	public virtual HKQuantityAggregationStyle AggregationStyle { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKQuantityType Create (HKQuantityTypeIdentifier kind);
	public virtual bool IsCompatible (HKUnit unit);
}

New Type: HealthKit.HKQuantityTypeIdentifier

[Serializable]
public enum HKQuantityTypeIdentifier {
	ActiveEnergyBurned = 10,
	AppleExerciseTime = 68,
	AppleMoveTime = 90,
	AppleStandTime = 80,
	BasalBodyTemperature = 64,
	BasalEnergyBurned = 9,
	BloodAlcoholContent = 17,
	BloodGlucose = 14,
	BloodPressureDiastolic = 16,
	BloodPressureSystolic = 15,
	BodyFatPercentage = 1,
	BodyMass = 3,
	BodyMassIndex = 0,
	BodyTemperature = 25,
	DietaryBiotin = 50,
	DietaryCaffeine = 63,
	DietaryCalcium = 44,
	DietaryCarbohydrates = 32,
	DietaryChloride = 61,
	DietaryCholesterol = 30,
	DietaryChromium = 59,
	DietaryCopper = 57,
	DietaryEnergyConsumed = 35,
	DietaryFatMonounsaturated = 28,
	DietaryFatPolyunsaturated = 27,
	DietaryFatSaturated = 29,
	DietaryFatTotal = 26,
	DietaryFiber = 33,
	DietaryFolate = 49,
	DietaryIodine = 53,
	DietaryIron = 45,
	DietaryMagnesium = 54,
	DietaryManganese = 58,
	DietaryMolybdenum = 60,
	DietaryNiacin = 48,
	DietaryPantothenicAcid = 51,
	DietaryPhosphorus = 52,
	DietaryPotassium = 62,
	DietaryProtein = 36,
	DietaryRiboflavin = 47,
	DietarySelenium = 56,
	DietarySodium = 31,
	DietarySugar = 34,
	DietaryThiamin = 46,
	DietaryVitaminA = 37,
	DietaryVitaminB12 = 39,
	DietaryVitaminB6 = 38,
	DietaryVitaminC = 40,
	DietaryVitaminD = 41,
	DietaryVitaminE = 42,
	DietaryVitaminK = 43,
	DietaryWater = 65,
	DietaryZinc = 55,
	DistanceCycling = 8,
	DistanceDownhillSnowSports = 75,
	DistanceSwimming = 71,
	DistanceWalkingRunning = 7,
	DistanceWheelchair = 69,
	ElectrodermalActivity = 67,
	EnvironmentalAudioExposure = 81,
	FlightsClimbed = 11,
	ForcedExpiratoryVolume1 = 20,
	ForcedVitalCapacity = 19,
	HeadphoneAudioExposure = 82,
	HeartRate = 5,
	HeartRateVariabilitySdnn = 79,
	Height = 2,
	InhalerUsage = 23,
	InsulinDelivery = 76,
	LeanBodyMass = 4,
	NikeFuel = 12,
	NumberOfTimesFallen = 22,
	OxygenSaturation = 13,
	PeakExpiratoryFlowRate = 21,
	PeripheralPerfusionIndex = 18,
	PushCount = 70,
	RespiratoryRate = 24,
	RestingHeartRate = 77,
	SixMinuteWalkTestDistance = 83,
	StairAscentSpeed = 84,
	StairDescentSpeed = 85,
	StepCount = 6,
	SwimmingStrokeCount = 72,
	UVExposure = 66,
	VO2Max = 74,
	WaistCircumference = 73,
	WalkingAsymmetryPercentage = 86,
	WalkingDoubleSupportPercentage = 87,
	WalkingHeartRateAverage = 78,
	WalkingSpeed = 88,
	WalkingStepLength = 89,
}

New Type: HealthKit.HKQuantityTypeIdentifierExtensions

public static class HKQuantityTypeIdentifierExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HKQuantityTypeIdentifier self);
	public static HKQuantityTypeIdentifier GetValue (Foundation.NSString constant);
}

New Type: HealthKit.HKQuantityTypeIdentifierKey

public static class HKQuantityTypeIdentifierKey {
	// properties
	public static Foundation.NSString ActiveEnergyBurned { get; }
	public static Foundation.NSString AppleExerciseTime { get; }
	public static Foundation.NSString BasalBodyTemperature { get; }
	public static Foundation.NSString BasalEnergyBurned { get; }
	public static Foundation.NSString BloodAlcoholContent { get; }
	public static Foundation.NSString BloodGlucose { get; }
	public static Foundation.NSString BloodPressureDiastolic { get; }
	public static Foundation.NSString BloodPressureSystolic { get; }
	public static Foundation.NSString BodyFatPercentage { get; }
	public static Foundation.NSString BodyMass { get; }
	public static Foundation.NSString BodyMassIndex { get; }
	public static Foundation.NSString BodyTemperature { get; }
	public static Foundation.NSString DietaryBiotin { get; }
	public static Foundation.NSString DietaryCaffeine { get; }
	public static Foundation.NSString DietaryCalcium { get; }
	public static Foundation.NSString DietaryCarbohydrates { get; }
	public static Foundation.NSString DietaryChloride { get; }
	public static Foundation.NSString DietaryCholesterol { get; }
	public static Foundation.NSString DietaryChromium { get; }
	public static Foundation.NSString DietaryCopper { get; }
	public static Foundation.NSString DietaryEnergyConsumed { get; }
	public static Foundation.NSString DietaryFatMonounsaturated { get; }
	public static Foundation.NSString DietaryFatPolyunsaturated { get; }
	public static Foundation.NSString DietaryFatSaturated { get; }
	public static Foundation.NSString DietaryFatTotal { get; }
	public static Foundation.NSString DietaryFiber { get; }
	public static Foundation.NSString DietaryFolate { get; }
	public static Foundation.NSString DietaryIodine { get; }
	public static Foundation.NSString DietaryIron { get; }
	public static Foundation.NSString DietaryMagnesium { get; }
	public static Foundation.NSString DietaryManganese { get; }
	public static Foundation.NSString DietaryMolybdenum { get; }
	public static Foundation.NSString DietaryNiacin { get; }
	public static Foundation.NSString DietaryPantothenicAcid { get; }
	public static Foundation.NSString DietaryPhosphorus { get; }
	public static Foundation.NSString DietaryPotassium { get; }
	public static Foundation.NSString DietaryProtein { get; }
	public static Foundation.NSString DietaryRiboflavin { get; }
	public static Foundation.NSString DietarySelenium { get; }
	public static Foundation.NSString DietarySodium { get; }
	public static Foundation.NSString DietarySugar { get; }
	public static Foundation.NSString DietaryThiamin { get; }
	public static Foundation.NSString DietaryVitaminA { get; }
	public static Foundation.NSString DietaryVitaminB12 { get; }
	public static Foundation.NSString DietaryVitaminB6 { get; }
	public static Foundation.NSString DietaryVitaminC { get; }
	public static Foundation.NSString DietaryVitaminD { get; }
	public static Foundation.NSString DietaryVitaminE { get; }
	public static Foundation.NSString DietaryVitaminK { get; }
	public static Foundation.NSString DietaryWater { get; }
	public static Foundation.NSString DietaryZinc { get; }
	public static Foundation.NSString DistanceCycling { get; }
	public static Foundation.NSString DistanceDownhillSnowSports { get; }
	public static Foundation.NSString DistanceSwimming { get; }
	public static Foundation.NSString DistanceWalkingRunning { get; }
	public static Foundation.NSString DistanceWheelchair { get; }
	public static Foundation.NSString ElectrodermalActivity { get; }
	public static Foundation.NSString FlightsClimbed { get; }
	public static Foundation.NSString ForcedExpiratoryVolume1 { get; }
	public static Foundation.NSString ForcedVitalCapacity { get; }
	public static Foundation.NSString HeartRate { get; }
	public static Foundation.NSString HeartRateVariabilitySdnn { get; }
	public static Foundation.NSString Height { get; }
	public static Foundation.NSString InhalerUsage { get; }
	public static Foundation.NSString InsulinDelivery { get; }
	public static Foundation.NSString LeanBodyMass { get; }
	public static Foundation.NSString NikeFuel { get; }
	public static Foundation.NSString NumberOfTimesFallen { get; }
	public static Foundation.NSString OxygenSaturation { get; }
	public static Foundation.NSString PeakExpiratoryFlowRate { get; }
	public static Foundation.NSString PeripheralPerfusionIndex { get; }
	public static Foundation.NSString PushCount { get; }
	public static Foundation.NSString RespiratoryRate { get; }
	public static Foundation.NSString RestingHeartRate { get; }
	public static Foundation.NSString StepCount { get; }
	public static Foundation.NSString SwimmingStrokeCount { get; }
	public static Foundation.NSString UVExposure { get; }
	public static Foundation.NSString VO2Max { get; }
	public static Foundation.NSString WaistCircumference { get; }
	public static Foundation.NSString WalkingHeartRateAverage { get; }
}

New Type: HealthKit.HKQuery

public class HKQuery : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKQuery (Foundation.NSObjectFlag t);
	protected HKQuery (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKObjectType ObjectType { get; }
	public virtual Foundation.NSPredicate Predicate { get; }
	public virtual HKSampleType SampleType { get; }
	// methods
	public static Foundation.NSPredicate GetPredicateForActivitySummariesBetween (Foundation.NSDateComponents startDateComponents, Foundation.NSDateComponents endDateComponents);
	public static Foundation.NSPredicate GetPredicateForActivitySummary (Foundation.NSDateComponents dateComponents);
	public static Foundation.NSPredicate GetPredicateForCategorySamples (Foundation.NSPredicateOperatorType operatorType, nint value);
	public static Foundation.NSPredicate GetPredicateForClinicalRecords (HKFhirResourceType resourceType);
	public static Foundation.NSPredicate GetPredicateForClinicalRecords (HKSource source, HKFhirResourceType resourceType, string identifier);
	public static Foundation.NSPredicate GetPredicateForDuration (Foundation.NSPredicateOperatorType operatorType, double duration);
	public static Foundation.NSPredicate GetPredicateForElectrocardiograms (HKElectrocardiogramClassification classification);
	public static Foundation.NSPredicate GetPredicateForElectrocardiograms (HKElectrocardiogramSymptomsStatus symptomsStatus);
	public static Foundation.NSPredicate GetPredicateForMetadataKey (Foundation.NSString metadataKey);
	public static Foundation.NSPredicate GetPredicateForMetadataKey (Foundation.NSString metadataKey, Foundation.NSObject[] allowedValues);
	public static Foundation.NSPredicate GetPredicateForMetadataKey (Foundation.NSString metadataKey, Foundation.NSPredicateOperatorType operatorType, Foundation.NSObject value);
	public static Foundation.NSPredicate GetPredicateForObject (Foundation.NSUuid objectUuid);
	public static Foundation.NSPredicate GetPredicateForObjects (Foundation.NSSet objectUuids);
	public static Foundation.NSPredicate GetPredicateForObjects (HKElectrocardiogram electrocardiogram);
	public static Foundation.NSPredicate GetPredicateForObjectsFromDevices (Foundation.NSSet<HKDevice> devices);
	public static Foundation.NSPredicate GetPredicateForObjectsFromSource (HKSource source);
	public static Foundation.NSPredicate GetPredicateForObjectsFromSourceRevisions (Foundation.NSSet<HKSourceRevision> sourceRevisions);
	public static Foundation.NSPredicate GetPredicateForObjectsFromSources (Foundation.NSSet sources);
	public static Foundation.NSPredicate GetPredicateForObjectsFromWorkout (HKWorkout workout);
	public static Foundation.NSPredicate GetPredicateForObjectsWithDeviceProperty (string key, Foundation.NSSet<Foundation.NSString> allowedValues);
	public static Foundation.NSPredicate GetPredicateForQuantitySamples (Foundation.NSPredicateOperatorType operatorType, HKQuantity quantity);
	public static Foundation.NSPredicate GetPredicateForSamples (Foundation.NSDate startDate, Foundation.NSDate endDate, HKQueryOptions options);
	public static Foundation.NSPredicate GetPredicateForTotalDistance (Foundation.NSPredicateOperatorType operatorType, HKQuantity totalDistance);
	public static Foundation.NSPredicate GetPredicateForTotalEnergyBurned (Foundation.NSPredicateOperatorType operatorType, HKQuantity totalEnergyBurned);
	public static Foundation.NSPredicate GetPredicateForTotalFlightsClimbed (Foundation.NSPredicateOperatorType operatorType, HKQuantity totalFlightsClimbed);
	public static Foundation.NSPredicate GetPredicateForTotalSwimmingStrokeCount (Foundation.NSPredicateOperatorType operatorType, HKQuantity totalSwimmingStrokeCount);
	public static Foundation.NSPredicate GetPredicateForWorkouts (HKWorkoutActivityType workoutActivityType);
	public static Foundation.NSPredicate PredicateForObjectsWithNoCorrelation ();
}

New Type: HealthKit.HKQueryAnchor

public class HKQueryAnchor : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKQueryAnchor (Foundation.NSCoder coder);
	protected HKQueryAnchor (Foundation.NSObjectFlag t);
	protected HKQueryAnchor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static HKQueryAnchor Create (nuint value);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKQueryOptions

[Serializable]
public enum HKQueryOptions {
	None = 0,
	StrictEndDate = 2,
	StrictStartDate = 1,
}

New Type: HealthKit.HKSample

public class HKSample : HealthKit.HKObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSample (Foundation.NSCoder coder);
	protected HKSample (Foundation.NSObjectFlag t);
	protected HKSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate EndDate { get; }
	public virtual bool HasUndeterminedDuration { get; }
	public virtual HKSampleType SampleType { get; }
	public static Foundation.NSString SortIdentifierEndDate { get; }
	public static Foundation.NSString SortIdentifierStartDate { get; }
	public virtual Foundation.NSDate StartDate { get; }
}

New Type: HealthKit.HKSampleQuery

public class HKSampleQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKSampleQuery (Foundation.NSObjectFlag t);
	protected HKSampleQuery (IntPtr handle);
	public HKSampleQuery (HKSampleType sampleType, Foundation.NSPredicate predicate, nuint limit, Foundation.NSSortDescriptor[] sortDescriptors, HKSampleQueryResultsHandler resultsHandler);
	// fields
	public static const int NoLimit;
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Limit { get; }
	public virtual Foundation.NSSortDescriptor[] SortDescriptors { get; }
}

New Type: HealthKit.HKSampleQueryResultsHandler

public sealed delegate HKSampleQueryResultsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKSampleQueryResultsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKSampleQuery query, HKSample[] results, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKSampleQuery query, HKSample[] results, Foundation.NSError error);
}

New Type: HealthKit.HKSampleType

public abstract class HKSampleType : HealthKit.HKObjectType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKSampleType (Foundation.NSCoder coder);
	protected HKSampleType (Foundation.NSObjectFlag t);
	protected HKSampleType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsMaximumDurationRestricted { get; }
	public virtual bool IsMinimumDurationRestricted { get; }
	public virtual double MaximumAllowedDuration { get; }
	public virtual double MinimumAllowedDuration { get; }
}

New Type: HealthKit.HKSeriesBuilder

public class HKSeriesBuilder : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSeriesBuilder (Foundation.NSCoder coder);
	protected HKSeriesBuilder (Foundation.NSObjectFlag t);
	protected HKSeriesBuilder (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Discard ();
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKSeriesSample

public class HKSeriesSample : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSeriesSample (Foundation.NSCoder coder);
	protected HKSeriesSample (Foundation.NSObjectFlag t);
	protected HKSeriesSample (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Count { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: HealthKit.HKSeriesType

public class HKSeriesType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSeriesType (Foundation.NSCoder coder);
	protected HKSeriesType (Foundation.NSObjectFlag t);
	protected HKSeriesType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static HKSeriesType HeartbeatSeriesType { get; }
	public static HKSeriesType WorkoutRouteType { get; }
}

New Type: HealthKit.HKSource

public class HKSource : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSource (Foundation.NSCoder coder);
	protected HKSource (Foundation.NSObjectFlag t);
	protected HKSource (IntPtr handle);
	// properties
	public virtual string BundleIdentifier { get; }
	public override IntPtr ClassHandle { get; }
	public static HKSource GetDefaultSource { get; }
	public virtual string Name { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKSourceQuery

public class HKSourceQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKSourceQuery (Foundation.NSObjectFlag t);
	protected HKSourceQuery (IntPtr handle);
	public HKSourceQuery (HKSampleType sampleType, Foundation.NSPredicate objectPredicate, HKSourceQueryCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKSourceQueryCompletionHandler

public sealed delegate HKSourceQueryCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKSourceQueryCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKSourceQuery query, Foundation.NSSet sources, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKSourceQuery query, Foundation.NSSet sources, Foundation.NSError error);
}

New Type: HealthKit.HKSourceRevision

public class HKSourceRevision : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKSourceRevision (Foundation.NSCoder coder);
	protected HKSourceRevision (Foundation.NSObjectFlag t);
	protected HKSourceRevision (IntPtr handle);
	public HKSourceRevision (HKSource source, string version);
	public HKSourceRevision (HKSource source, string version, string productType, Foundation.NSOperatingSystemVersion operatingSystemVersion);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSOperatingSystemVersion OperatingSystemVersion { get; }
	public virtual string ProductType { get; }
	public virtual HKSource Source { get; }
	public virtual string Version { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKSourceRevisionInfo

public static class HKSourceRevisionInfo {
	// properties
	public static Foundation.NSString AnyProductType { get; }
	public static Foundation.NSString AnyVersion { get; }
}

New Type: HealthKit.HKStatistics

public class HKStatistics : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKStatistics (Foundation.NSCoder coder);
	protected HKStatistics (Foundation.NSObjectFlag t);
	protected HKStatistics (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity Duration { get; }
	public virtual Foundation.NSDate EndDate { get; }
	public virtual HKQuantity MostRecentQuantity { get; }
	public virtual Foundation.NSDateInterval MostRecentQuantityDateInterval { get; }
	public virtual HKQuantityType QuantityType { get; }
	public virtual HKSource[] Sources { get; }
	public virtual Foundation.NSDate StartDate { get; }
	// methods
	public virtual HKQuantity AverageQuantity ();
	public virtual HKQuantity AverageQuantity (HKSource source);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual HKQuantity GetDuration (HKSource source);
	public virtual HKQuantity GetMostRecentQuantity (HKSource source);
	public virtual Foundation.NSDateInterval GetMostRecentQuantityDateInterval (HKSource source);
	public virtual HKQuantity MaximumQuantity ();
	public virtual HKQuantity MaximumQuantity (HKSource source);
	public virtual HKQuantity MinimumQuantity ();
	public virtual HKQuantity MinimumQuantity (HKSource source);
	public virtual HKQuantity SumQuantity ();
	public virtual HKQuantity SumQuantity (HKSource source);
}

New Type: HealthKit.HKStatisticsCollection

public class HKStatisticsCollection : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKStatisticsCollection (Foundation.NSObjectFlag t);
	protected HKStatisticsCollection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet Sources { get; }
	public virtual HKStatistics[] Statistics { get; }
	// methods
	public virtual void EnumerateStatistics (Foundation.NSDate startDate, Foundation.NSDate endDate, HKStatisticsCollectionEnumerator handler);
	public virtual HKStatistics GetStatistics (Foundation.NSDate date);
}

New Type: HealthKit.HKStatisticsCollectionEnumerator

public sealed delegate HKStatisticsCollectionEnumerator : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKStatisticsCollectionEnumerator (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKStatistics result, bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKStatistics result, bool stop);
}

New Type: HealthKit.HKStatisticsCollectionQuery

public class HKStatisticsCollectionQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKStatisticsCollectionQuery (Foundation.NSObjectFlag t);
	protected HKStatisticsCollectionQuery (IntPtr handle);
	public HKStatisticsCollectionQuery (HKQuantityType quantityType, Foundation.NSPredicate quantitySamplePredicate, HKStatisticsOptions options, Foundation.NSDate anchorDate, Foundation.NSDateComponents intervalComponents);
	// properties
	public virtual Foundation.NSDate AnchorDate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HKStatisticsCollectionQueryInitialResultsHandler InitialResultsHandler { get; set; }
	public virtual Foundation.NSDateComponents IntervalComponents { get; }
	public virtual HKStatisticsOptions Options { get; }
	public virtual HKStatisticsCollectionQueryInitialResultsHandler StatisticsUpdateHandler { get; set; }
	public virtual HKStatisticsCollectionQueryStatisticsUpdateHandler StatisticsUpdated { get; set; }
	// methods
	public virtual void SetInitialResultsHandler (HKStatisticsCollectionQueryInitialResultsHandler handler);
	public virtual void SetStatisticsUpdateHandler (HKStatisticsCollectionQueryInitialResultsHandler handler);
}

New Type: HealthKit.HKStatisticsCollectionQueryInitialResultsHandler

public sealed delegate HKStatisticsCollectionQueryInitialResultsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKStatisticsCollectionQueryInitialResultsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKStatisticsCollectionQuery query, HKStatisticsCollection result, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKStatisticsCollectionQuery query, HKStatisticsCollection result, Foundation.NSError error);
}

New Type: HealthKit.HKStatisticsCollectionQueryStatisticsUpdateHandler

public sealed delegate HKStatisticsCollectionQueryStatisticsUpdateHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKStatisticsCollectionQueryStatisticsUpdateHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKStatisticsCollectionQuery query, HKStatistics statistics, HKStatisticsCollection collection, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKStatisticsCollectionQuery query, HKStatistics statistics, HKStatisticsCollection collection, Foundation.NSError error);
}

New Type: HealthKit.HKStatisticsOptions

[Serializable]
public enum HKStatisticsOptions {
	CumulativeSum = 16,
	DiscreteAverage = 2,
	DiscreteMax = 8,
	DiscreteMin = 4,
	Duration = 64,
	MostRecent = 32,
	None = 0,
	SeparateBySource = 1,
}

New Type: HealthKit.HKStatisticsQuery

public class HKStatisticsQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKStatisticsQuery (Foundation.NSObjectFlag t);
	protected HKStatisticsQuery (IntPtr handle);
	public HKStatisticsQuery (HKQuantityType quantityType, Foundation.NSPredicate quantitySamplePredicate, HKStatisticsOptions options, HKStatisticsQueryHandler handler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKStatisticsQueryHandler

public sealed delegate HKStatisticsQueryHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKStatisticsQueryHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKStatisticsQuery query, HKStatistics result, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKStatisticsQuery query, HKStatistics result, Foundation.NSError error);
}

New Type: HealthKit.HKStoreSampleAddedCallback

public sealed delegate HKStoreSampleAddedCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKStoreSampleAddedCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: HealthKit.HKSwimmingStrokeStyle

[Serializable]
public enum HKSwimmingStrokeStyle {
	Backstroke = 3,
	Breaststroke = 4,
	Butterfly = 5,
	Freestyle = 2,
	Mixed = 1,
	Unknown = 0,
}

New Type: HealthKit.HKUnit

public class HKUnit : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKUnit (Foundation.NSCoder coder);
	protected HKUnit (Foundation.NSObjectFlag t);
	protected HKUnit (IntPtr handle);
	// fields
	public static const double MolarMassBloodGlucose;
	// properties
	public static HKUnit Atmosphere { get; }
	public static HKUnit Calorie { get; }
	public static HKUnit CentimeterOfWater { get; }
	public override IntPtr ClassHandle { get; }
	public static HKUnit Count { get; }
	public static HKUnit CupImperialUnit { get; }
	public static HKUnit CupUSUnit { get; }
	public static HKUnit Day { get; }
	public static HKUnit DecibelAWeightedSoundPressureLevelUnit { get; }
	public static HKUnit DecibelHearingLevelUnit { get; }
	public static HKUnit DegreeCelsius { get; }
	public static HKUnit DegreeFahrenheit { get; }
	public static HKUnit FluidOunceImperialUnit { get; }
	public static HKUnit FluidOunceUSUnit { get; }
	public static HKUnit Foot { get; }
	public static HKUnit Gram { get; }
	public static HKUnit HertzUnit { get; }
	public static HKUnit Hour { get; }
	public static HKUnit Inch { get; }
	public static HKUnit InchesOfMercury { get; }
	public static HKUnit InternationalUnit { get; }
	public virtual bool IsNull { get; }
	public static HKUnit Joule { get; }
	public static HKUnit Kelvin { get; }
	public static HKUnit Kilocalorie { get; }
	public static HKUnit LargeCalorie { get; }
	public static HKUnit Liter { get; }
	public static HKUnit Meter { get; }
	public static HKUnit Mile { get; }
	public static HKUnit MillimeterOfMercury { get; }
	public static HKUnit Minute { get; }
	public static HKUnit Ounce { get; }
	public static HKUnit Pascal { get; }
	public static HKUnit Percent { get; }
	public static HKUnit PintImperialUnit { get; }
	public static HKUnit PintUSUnit { get; }
	public static HKUnit Pound { get; }
	public static HKUnit Second { get; }
	public static HKUnit Siemen { get; }
	public static HKUnit SmallCalorie { get; }
	public static HKUnit Stone { get; }
	public virtual string UnitString { get; }
	public static HKUnit Volt { get; }
	public static HKUnit Yard { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static HKUnit CreateJouleUnit (HKMetricPrefix prefix);
	public static HKUnit CreateLiterUnit (HKMetricPrefix prefix);
	public static HKUnit CreateMeterUnit (HKMetricPrefix prefix);
	public static HKUnit CreateMoleUnit (double gramsPerMole);
	public static HKUnit CreateMoleUnit (HKMetricPrefix prefix, double gramsPerMole);
	public static HKUnit CreatePascalUnit (HKMetricPrefix prefix);
	public static HKUnit CreateSecondUnit (HKMetricPrefix prefix);
	public static HKUnit CreateSiemenUnit (HKMetricPrefix prefix);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static HKUnit FromEnergyFormatterUnit (Foundation.NSEnergyFormatterUnit energyFormatterUnit);
	public static HKUnit FromGramUnit (HKMetricPrefix prefix);
	public static HKUnit FromLengthFormatterUnit (Foundation.NSLengthFormatterUnit lengthFormatterUnit);
	public static HKUnit FromMassFormatterUnit (Foundation.NSMassFormatterUnit massFormatterUnit);
	public static HKUnit FromString (string aString);
	public static Foundation.NSEnergyFormatterUnit GetEnergyFormatterUnit (HKUnit unit);
	public static HKUnit GetHertzUnit (HKMetricPrefix prefix);
	public static Foundation.NSLengthFormatterUnit GetLengthFormatterUnit (HKUnit unit);
	public static Foundation.NSMassFormatterUnit GetMassFormatterUnit (HKUnit unit);
	public static HKUnit GetVolt (HKMetricPrefix prefix);
	public virtual HKUnit ReciprocalUnit ();
	public virtual HKUnit UnitDividedBy (HKUnit unit);
	public virtual HKUnit UnitMultipliedBy (HKUnit unit);
	public virtual HKUnit UnitRaisedToPower (nint power);
}

New Type: HealthKit.HKUpdateFrequency

[Serializable]
public enum HKUpdateFrequency {
	Daily = 3,
	Hourly = 2,
	Immediate = 1,
	Weekly = 4,
}

New Type: HealthKit.HKVO2MaxTestType

[Serializable]
public enum HKVO2MaxTestType {
	MaxExercise = 1,
	PredictionNonExercise = 3,
	PredictionSubMaxExercise = 2,
}

New Type: HealthKit.HKWeatherCondition

[Serializable]
public enum HKWeatherCondition {
	Blustery = 9,
	Clear = 1,
	Cloudy = 5,
	Drizzle = 21,
	Dust = 11,
	Fair = 2,
	Foggy = 6,
	FreezingDrizzle = 15,
	FreezingRain = 16,
	Hail = 13,
	Haze = 7,
	Hurricane = 26,
	MixedRainAndHail = 17,
	MixedRainAndSleet = 19,
	MixedRainAndSnow = 18,
	MixedSnowAndSleet = 20,
	MostlyCloudy = 4,
	None = 0,
	PartlyCloudy = 3,
	ScatteredShowers = 22,
	Showers = 23,
	Sleet = 14,
	Smoky = 10,
	Snow = 12,
	Thunderstorms = 24,
	Tornado = 27,
	TropicalStorm = 25,
	Windy = 8,
}

New Type: HealthKit.HKWheelchairUse

[Serializable]
public enum HKWheelchairUse {
	No = 1,
	NotSet = 0,
	Yes = 2,
}

New Type: HealthKit.HKWheelchairUseObject

public class HKWheelchairUseObject : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWheelchairUseObject ();
	public HKWheelchairUseObject (Foundation.NSCoder coder);
	protected HKWheelchairUseObject (Foundation.NSObjectFlag t);
	protected HKWheelchairUseObject (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKWheelchairUse WheelchairUse { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKWorkout

public class HKWorkout : HealthKit.HKSample, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkout (Foundation.NSCoder coder);
	protected HKWorkout (Foundation.NSObjectFlag t);
	protected HKWorkout (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Duration { get; }
	public static Foundation.NSString SortIdentifierDuration { get; }
	public static Foundation.NSString SortIdentifierTotalDistance { get; }
	public static Foundation.NSString SortIdentifierTotalEnergyBurned { get; }
	public static Foundation.NSString SortIdentifierTotalFlightsClimbed { get; }
	public static Foundation.NSString SortIdentifierTotalSwimmingStrokeCount { get; }
	public virtual HKQuantity TotalDistance { get; }
	public virtual HKQuantity TotalEnergyBurned { get; }
	public virtual HKQuantity TotalFlightsClimbed { get; }
	public virtual HKQuantity TotalSwimmingStrokeCount { get; }
	public virtual HKWorkoutActivityType WorkoutActivityType { get; }
	public virtual HKWorkoutEvent[] WorkoutEvents { get; }
	// methods
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, Foundation.NSDictionary metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKMetadata metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, double duration, HKQuantity totalEnergyBurned, HKQuantity totalDistance, Foundation.NSDictionary metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, double duration, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKMetadata metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKDevice device, Foundation.NSDictionary metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKDevice device, HKMetadata metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, double duration, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKDevice device, Foundation.NSDictionary metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, double duration, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKDevice device, HKMetadata metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKQuantity totalSwimmingStrokeCount, HKDevice device, Foundation.NSDictionary metadata);
	public static HKWorkout Create (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKQuantity totalSwimmingStrokeCount, HKDevice device, HKMetadata metadata);
	public static HKWorkout CreateFlightsClimbedWorkout (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKQuantity totalFlightsClimbed, HKDevice device, Foundation.NSDictionary metadata);
	public static HKWorkout CreateFlightsClimbedWorkout (HKWorkoutActivityType workoutActivityType, Foundation.NSDate startDate, Foundation.NSDate endDate, HKWorkoutEvent[] workoutEvents, HKQuantity totalEnergyBurned, HKQuantity totalDistance, HKQuantity totalFlightsClimbed, HKDevice device, HKMetadata metadata);
}

New Type: HealthKit.HKWorkoutActivityType

[Serializable]
public enum HKWorkoutActivityType {
	AmericanFootball = 1,
	Archery = 2,
	AustralianFootball = 3,
	Badminton = 4,
	Barre = 58,
	Baseball = 5,
	Basketball = 6,
	Bowling = 7,
	Boxing = 8,
	CardioDance = 77,
	Climbing = 9,
	Cooldown = 80,
	CoreTraining = 59,
	Cricket = 10,
	CrossCountrySkiing = 60,
	CrossTraining = 11,
	Curling = 12,
	Cycling = 13,
	Dance = 14,
	DanceInspiredTraining = 15,
	DiscSports = 75,
	DownhillSkiing = 61,
	Elliptical = 16,
	EquestrianSports = 17,
	Fencing = 18,
	Fishing = 19,
	FitnessGaming = 76,
	Flexibility = 62,
	FunctionalStrengthTraining = 20,
	Golf = 21,
	Gymnastics = 22,
	HandCycling = 74,
	Handball = 23,
	HighIntensityIntervalTraining = 63,
	Hiking = 24,
	Hockey = 25,
	Hunting = 26,
	JumpRope = 64,
	Kickboxing = 65,
	Lacrosse = 27,
	MartialArts = 28,
	MindAndBody = 29,
	MixedCardio = 73,
	MixedMetabolicCardioTraining = 30,
	Other = 3000,
	PaddleSports = 31,
	Pickleball = 79,
	Pilates = 66,
	Play = 32,
	PreparationAndRecovery = 33,
	Racquetball = 34,
	Rowing = 35,
	Rugby = 36,
	Running = 37,
	Sailing = 38,
	SkatingSports = 39,
	SnowSports = 40,
	Snowboarding = 67,
	Soccer = 41,
	SocialDance = 78,
	Softball = 42,
	Squash = 43,
	StairClimbing = 44,
	Stairs = 68,
	StepTraining = 69,
	SurfingSports = 45,
	Swimming = 46,
	TableTennis = 47,
	TaiChi = 72,
	Tennis = 48,
	TrackAndField = 49,
	TraditionalStrengthTraining = 50,
	Volleyball = 51,
	Walking = 52,
	WaterFitness = 53,
	WaterPolo = 54,
	WaterSports = 55,
	WheelchairRunPace = 71,
	WheelchairWalkPace = 70,
	Wrestling = 56,
	Yoga = 57,
}

New Type: HealthKit.HKWorkoutBuilder

public class HKWorkoutBuilder : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HKWorkoutBuilder (Foundation.NSObjectFlag t);
	protected HKWorkoutBuilder (IntPtr handle);
	public HKWorkoutBuilder (HKHealthStore healthStore, HKWorkoutConfiguration configuration, HKDevice device);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HKDevice Device { get; }
	public virtual Foundation.NSDate EndDate { get; }
	public HKMetadata Metadata { get; }
	protected virtual Foundation.NSDictionary NativeMetadata { get; }
	public virtual Foundation.NSDate StartDate { get; }
	public virtual HKWorkoutConfiguration WorkoutConfiguration { get; }
	public virtual HKWorkoutEvent[] WorkoutEvents { get; }
	// methods
	protected virtual void Add (Foundation.NSDictionary metadata, HKWorkoutBuilderCompletionHandler completionHandler);
	public void Add (HKMetadata metadata, HKWorkoutBuilderCompletionHandler completionHandler);
	public virtual void Add (HKSample[] samples, HKWorkoutBuilderCompletionHandler completionHandler);
	public virtual void Add (HKWorkoutEvent[] workoutEvents, HKWorkoutBuilderCompletionHandler completionHandler);
	protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (Foundation.NSDictionary metadata);
	public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKMetadata metadata);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKSample[] samples);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddAsync (HKWorkoutEvent[] workoutEvents);
	public virtual void BeginCollection (Foundation.NSDate startDate, HKWorkoutBuilderCompletionHandler completionHandler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> BeginCollectionAsync (Foundation.NSDate startDate);
	public virtual void DiscardWorkout ();
	public virtual void EndCollection (Foundation.NSDate endDate, HKWorkoutBuilderCompletionHandler completionHandler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> EndCollectionAsync (Foundation.NSDate endDate);
	public virtual void FinishWorkout (HKWorkoutBuilderCompletionHandler completionHandler);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> FinishWorkoutAsync ();
	public virtual double GetElapsedTime (Foundation.NSDate date);
	public virtual HKSeriesBuilder GetSeriesBuilder (HKSeriesType seriesType);
	public virtual HKStatistics GetStatistics (HKQuantityType quantityType);
}

New Type: HealthKit.HKWorkoutBuilderCompletionHandler

public sealed delegate HKWorkoutBuilderCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKWorkoutBuilderCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: HealthKit.HKWorkoutConfiguration

public class HKWorkoutConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutConfiguration ();
	public HKWorkoutConfiguration (Foundation.NSCoder coder);
	protected HKWorkoutConfiguration (Foundation.NSObjectFlag t);
	protected HKWorkoutConfiguration (IntPtr handle);
	// properties
	public virtual HKWorkoutActivityType ActivityType { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual HKQuantity LapLength { get; set; }
	public virtual HKWorkoutSessionLocationType LocationType { get; set; }
	public virtual HKWorkoutSwimmingLocationType SwimmingLocationType { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKWorkoutEvent

public class HKWorkoutEvent : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutEvent (Foundation.NSCoder coder);
	protected HKWorkoutEvent (Foundation.NSObjectFlag t);
	protected HKWorkoutEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate Date { get; }
	public virtual Foundation.NSDateInterval DateInterval { get; }
	public HKMetadata Metadata { get; }
	public virtual HKWorkoutEventType Type { get; }
	public virtual Foundation.NSDictionary WeakMetadata { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static HKWorkoutEvent Create (HKWorkoutEventType type, Foundation.NSDate date);
	public static HKWorkoutEvent Create (HKWorkoutEventType type, Foundation.NSDate date, Foundation.NSDictionary metadata);
	public static HKWorkoutEvent Create (HKWorkoutEventType type, Foundation.NSDate date, HKMetadata metadata);
	public static HKWorkoutEvent Create (HKWorkoutEventType type, Foundation.NSDateInterval dateInterval, Foundation.NSDictionary metadata);
	public static HKWorkoutEvent Create (HKWorkoutEventType type, Foundation.NSDateInterval dateInterval, HKMetadata metadata);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: HealthKit.HKWorkoutEventType

[Serializable]
public enum HKWorkoutEventType {
	Lap = 3,
	Marker = 4,
	MotionPaused = 5,
	MotionResumed = 6,
	Pause = 1,
	PauseOrResumeRequest = 8,
	Resume = 2,
	Segment = 7,
}

New Type: HealthKit.HKWorkoutRoute

public class HKWorkoutRoute : HealthKit.HKSeriesSample, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutRoute (Foundation.NSCoder coder);
	protected HKWorkoutRoute (Foundation.NSObjectFlag t);
	protected HKWorkoutRoute (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString TypeIdentifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: HealthKit.HKWorkoutRouteBuilder

public class HKWorkoutRouteBuilder : HealthKit.HKSeriesBuilder, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutRouteBuilder (Foundation.NSCoder coder);
	protected HKWorkoutRouteBuilder (Foundation.NSObjectFlag t);
	protected HKWorkoutRouteBuilder (IntPtr handle);
	public HKWorkoutRouteBuilder (HKHealthStore healthStore, HKDevice device);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	protected virtual void AddMetadata (Foundation.NSDictionary metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
	public void AddMetadata (HKMetadata metadata, HKWorkoutRouteBuilderAddMetadataHandler completion);
	protected virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (Foundation.NSDictionary metadata);
	public System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> AddMetadataAsync (HKMetadata metadata);
	protected virtual void FinishRoute (HKWorkout workout, Foundation.NSDictionary metadata, System.Action<HKWorkoutRoute,Foundation.NSError> completion);
	public void FinishRoute (HKWorkout workout, HKMetadata metadata, System.Action<HKWorkoutRoute,Foundation.NSError> completion);
	protected virtual System.Threading.Tasks.Task<HKWorkoutRoute> FinishRouteAsync (HKWorkout workout, Foundation.NSDictionary metadata);
	public System.Threading.Tasks.Task<HKWorkoutRoute> FinishRouteAsync (HKWorkout workout, HKMetadata metadata);
	public virtual void InsertRouteData (CoreLocation.CLLocation[] routeData, System.Action<System.Boolean,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<System.Tuple<System.Boolean,Foundation.NSError>> InsertRouteDataAsync (CoreLocation.CLLocation[] routeData);
}

New Type: HealthKit.HKWorkoutRouteBuilderAddMetadataHandler

public sealed delegate HKWorkoutRouteBuilderAddMetadataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKWorkoutRouteBuilderAddMetadataHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool success, Foundation.NSError error);
}

New Type: HealthKit.HKWorkoutRouteBuilderDataHandler

public sealed delegate HKWorkoutRouteBuilderDataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public HKWorkoutRouteBuilderDataHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (HKWorkoutRouteQuery query, CoreLocation.CLLocation[] routeData, bool done, Foundation.NSError error);
}

New Type: HealthKit.HKWorkoutRouteQuery

public class HKWorkoutRouteQuery : HealthKit.HKQuery, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutRouteQuery ();
	protected HKWorkoutRouteQuery (Foundation.NSObjectFlag t);
	protected HKWorkoutRouteQuery (IntPtr handle);
	public HKWorkoutRouteQuery (HKWorkoutRoute workoutRoute, HKWorkoutRouteBuilderDataHandler dataHandler);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HealthKit.HKWorkoutSessionLocationType

[Serializable]
public enum HKWorkoutSessionLocationType {
	Indoor = 2,
	Outdoor = 3,
	Unknown = 1,
}

New Type: HealthKit.HKWorkoutSwimmingLocationType

[Serializable]
public enum HKWorkoutSwimmingLocationType {
	OpenWater = 2,
	Pool = 1,
	Unknown = 0,
}

New Type: HealthKit.HKWorkoutType

public class HKWorkoutType : HealthKit.HKSampleType, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HKWorkoutType (Foundation.NSCoder coder);
	protected HKWorkoutType (Foundation.NSObjectFlag t);
	protected HKWorkoutType (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString Identifier { get; }
}

New Namespace HealthKitUI

New Type: HealthKitUI.HKActivityRingView

public class HKActivityRingView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public HKActivityRingView (CoreGraphics.CGRect frame);
	public HKActivityRingView (Foundation.NSCoder coder);
	protected HKActivityRingView (Foundation.NSObjectFlag t);
	protected HKActivityRingView (IntPtr handle);
	// properties
	public virtual HealthKit.HKActivitySummary ActivitySummary { get; set; }
	public static HKActivityRingView.HKActivityRingViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static HKActivityRingView.HKActivityRingViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static HKActivityRingView.HKActivityRingViewAppearance GetAppearance<T> ();
	public static HKActivityRingView.HKActivityRingViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static HKActivityRingView.HKActivityRingViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static HKActivityRingView.HKActivityRingViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static HKActivityRingView.HKActivityRingViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetActivitySummary (HealthKit.HKActivitySummary activitySummary, bool animated);

	// inner types
	public class HKActivityRingViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected HKActivityRingView.HKActivityRingViewAppearance (IntPtr handle);
	}
}

New Namespace HomeKit

New Type: HomeKit.HMAccessControl

public class HMAccessControl : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMAccessControl (Foundation.NSObjectFlag t);
	protected HMAccessControl (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMAccessory

public class HMAccessory : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAccessory ();
	protected HMAccessory (Foundation.NSObjectFlag t);
	protected HMAccessory (IntPtr handle);
	// properties
	public virtual bool Blocked { get; }
	public virtual bool Bridged { get; }
	public virtual HMCameraProfile[] CameraProfiles { get; }
	public virtual HMAccessoryCategory Category { get; }
	public override IntPtr ClassHandle { get; }
	public IHMAccessoryDelegate Delegate { get; set; }
	public virtual string FirmwareVersion { get; }
	public virtual Foundation.NSUuid Identifier { get; }
	public virtual Foundation.NSUuid[] IdentifiersForBridgedAccessories { get; }
	public virtual string Manufacturer { get; }
	public virtual string Model { get; }
	public virtual string Name { get; }
	public virtual HMAccessoryProfile[] Profiles { get; }
	public virtual bool Reachable { get; }
	public virtual HMRoom Room { get; }
	public virtual HMService[] Services { get; }
	public virtual bool SupportsIdentify { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	public virtual Foundation.NSUuid[] UniqueIdentifiersForBridgedAccessories { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<HMAccessoryProfileEventArgs> DidAddProfile;
	public event System.EventHandler<HMAccessoryProfileEventArgs> DidRemoveProfile;
	public event System.EventHandler<HMAccessoryUpdateEventArgs> DidUpdateAssociatedServiceType;
	public event System.EventHandler<HMAccessoryFirmwareVersionEventArgs> DidUpdateFirmwareVersion;
	public event System.EventHandler DidUpdateName;
	public event System.EventHandler<HMAccessoryUpdateEventArgs> DidUpdateNameForService;
	public event System.EventHandler DidUpdateReachability;
	public event System.EventHandler DidUpdateServices;
	public event System.EventHandler<HMAccessoryServiceUpdateCharacteristicEventArgs> DidUpdateValueForCharacteristic;
	// methods
	protected override void Dispose (bool disposing);
	public virtual void Identify (System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task IdentifyAsync ();
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMAccessoryBrowser

public class HMAccessoryBrowser : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAccessoryBrowser ();
	protected HMAccessoryBrowser (Foundation.NSObjectFlag t);
	protected HMAccessoryBrowser (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IHMAccessoryBrowserDelegate Delegate { get; set; }
	public virtual HMAccessory[] DiscoveredAccessories { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<HMAccessoryBrowserEventArgs> DidFindNewAccessory;
	public event System.EventHandler<HMAccessoryBrowserEventArgs> DidRemoveNewAccessory;
	// methods
	protected override void Dispose (bool disposing);
	public virtual void StartSearchingForNewAccessories ();
	public virtual void StopSearchingForNewAccessories ();
}

New Type: HomeKit.HMAccessoryBrowserDelegate

public class HMAccessoryBrowserDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMAccessoryBrowserDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAccessoryBrowserDelegate ();
	protected HMAccessoryBrowserDelegate (Foundation.NSObjectFlag t);
	protected HMAccessoryBrowserDelegate (IntPtr handle);
	// methods
	public virtual void DidFindNewAccessory (HMAccessoryBrowser browser, HMAccessory accessory);
	public virtual void DidRemoveNewAccessory (HMAccessoryBrowser browser, HMAccessory accessory);
}

New Type: HomeKit.HMAccessoryBrowserDelegate_Extensions

public static class HMAccessoryBrowserDelegate_Extensions {
	// methods
	public static void DidFindNewAccessory (this IHMAccessoryBrowserDelegate This, HMAccessoryBrowser browser, HMAccessory accessory);
	public static void DidRemoveNewAccessory (this IHMAccessoryBrowserDelegate This, HMAccessoryBrowser browser, HMAccessory accessory);
}

New Type: HomeKit.HMAccessoryBrowserEventArgs

public class HMAccessoryBrowserEventArgs : System.EventArgs {
	// constructors
	public HMAccessoryBrowserEventArgs (HMAccessory accessory);
	// properties
	public HMAccessory Accessory { get; set; }
}

New Type: HomeKit.HMAccessoryCategory

public class HMAccessoryCategory : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMAccessoryCategory (Foundation.NSObjectFlag t);
	protected HMAccessoryCategory (IntPtr handle);
	// properties
	public HMAccessoryCategoryType CategoryType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string LocalizedDescription { get; }
	public virtual Foundation.NSString WeakCategoryType { get; }
}

New Type: HomeKit.HMAccessoryCategoryType

[Serializable]
public enum HMAccessoryCategoryType {
	AirConditioner = 20,
	AirDehumidifier = 22,
	AirHeater = 19,
	AirHumidifier = 21,
	AirPurifier = 18,
	Bridge = 2,
	Door = 3,
	DoorLock = 4,
	DoorOpener = 6,
	Fan = 5,
	Faucet = 24,
	GarageDoorOpener = 6,
	IPCamera = 16,
	Lightbulb = 7,
	Other = 0,
	Outlet = 8,
	ProgrammableSwitch = 9,
	RangeExtender = 15,
	SecuritySystem = 1,
	Sensor = 10,
	ShowerHead = 25,
	Sprinkler = 23,
	Switch = 11,
	Thermostat = 12,
	VideoDoorbell = 17,
	Window = 13,
	WindowCovering = 14,
}

New Type: HomeKit.HMAccessoryCategoryTypeExtensions

public static class HMAccessoryCategoryTypeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HMAccessoryCategoryType self);
	public static HMAccessoryCategoryType GetValue (Foundation.NSString constant);
}

New Type: HomeKit.HMAccessoryDelegate

public class HMAccessoryDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMAccessoryDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAccessoryDelegate ();
	protected HMAccessoryDelegate (Foundation.NSObjectFlag t);
	protected HMAccessoryDelegate (IntPtr handle);
	// methods
	public virtual void DidAddProfile (HMAccessory accessory, HMAccessoryProfile profile);
	public virtual void DidRemoveProfile (HMAccessory accessory, HMAccessoryProfile profile);
	public virtual void DidUpdateAssociatedServiceType (HMAccessory accessory, HMService service);
	public virtual void DidUpdateFirmwareVersion (HMAccessory accessory, string firmwareVersion);
	public virtual void DidUpdateName (HMAccessory accessory);
	public virtual void DidUpdateNameForService (HMAccessory accessory, HMService service);
	public virtual void DidUpdateReachability (HMAccessory accessory);
	public virtual void DidUpdateServices (HMAccessory accessory);
	public virtual void DidUpdateValueForCharacteristic (HMAccessory accessory, HMService service, HMCharacteristic characteristic);
}

New Type: HomeKit.HMAccessoryDelegate_Extensions

public static class HMAccessoryDelegate_Extensions {
	// methods
	public static void DidAddProfile (this IHMAccessoryDelegate This, HMAccessory accessory, HMAccessoryProfile profile);
	public static void DidRemoveProfile (this IHMAccessoryDelegate This, HMAccessory accessory, HMAccessoryProfile profile);
	public static void DidUpdateAssociatedServiceType (this IHMAccessoryDelegate This, HMAccessory accessory, HMService service);
	public static void DidUpdateFirmwareVersion (this IHMAccessoryDelegate This, HMAccessory accessory, string firmwareVersion);
	public static void DidUpdateName (this IHMAccessoryDelegate This, HMAccessory accessory);
	public static void DidUpdateNameForService (this IHMAccessoryDelegate This, HMAccessory accessory, HMService service);
	public static void DidUpdateReachability (this IHMAccessoryDelegate This, HMAccessory accessory);
	public static void DidUpdateServices (this IHMAccessoryDelegate This, HMAccessory accessory);
	public static void DidUpdateValueForCharacteristic (this IHMAccessoryDelegate This, HMAccessory accessory, HMService service, HMCharacteristic characteristic);
}

New Type: HomeKit.HMAccessoryFirmwareVersionEventArgs

public class HMAccessoryFirmwareVersionEventArgs : System.EventArgs {
	// constructors
	public HMAccessoryFirmwareVersionEventArgs (string firmwareVersion);
	// properties
	public string FirmwareVersion { get; set; }
}

New Type: HomeKit.HMAccessoryOwnershipToken

public class HMAccessoryOwnershipToken : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAccessoryOwnershipToken (Foundation.NSData data);
	protected HMAccessoryOwnershipToken (Foundation.NSObjectFlag t);
	protected HMAccessoryOwnershipToken (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMAccessoryProfile

public class HMAccessoryProfile : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMAccessoryProfile (Foundation.NSObjectFlag t);
	protected HMAccessoryProfile (IntPtr handle);
	// properties
	public virtual HMAccessory Accessory { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HMService[] Services { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: HomeKit.HMAccessoryProfileEventArgs

public class HMAccessoryProfileEventArgs : System.EventArgs {
	// constructors
	public HMAccessoryProfileEventArgs (HMAccessoryProfile profile);
	// properties
	public HMAccessoryProfile Profile { get; set; }
}

New Type: HomeKit.HMAccessoryServiceUpdateCharacteristicEventArgs

public class HMAccessoryServiceUpdateCharacteristicEventArgs : System.EventArgs {
	// constructors
	public HMAccessoryServiceUpdateCharacteristicEventArgs (HMService service, HMCharacteristic characteristic);
	// properties
	public HMCharacteristic Characteristic { get; set; }
	public HMService Service { get; set; }
}

New Type: HomeKit.HMAccessorySetupPayload

public class HMAccessorySetupPayload : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMAccessorySetupPayload (Foundation.NSObjectFlag t);
	public HMAccessorySetupPayload (Foundation.NSUrl setupPayloadUrl);
	protected HMAccessorySetupPayload (IntPtr handle);
	public HMAccessorySetupPayload (Foundation.NSUrl setupPayloadUrl, HMAccessoryOwnershipToken ownershipToken);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMAccessoryUpdateEventArgs

public class HMAccessoryUpdateEventArgs : System.EventArgs {
	// constructors
	public HMAccessoryUpdateEventArgs (HMService service);
	// properties
	public HMService Service { get; set; }
}

New Type: HomeKit.HMAction

public class HMAction : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMAction ();
	protected HMAction (Foundation.NSObjectFlag t);
	protected HMAction (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
}

New Type: HomeKit.HMActionSet

public class HMActionSet : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMActionSet (Foundation.NSObjectFlag t);
	protected HMActionSet (IntPtr handle);
	// properties
	public HMActionSetType ActionSetType { get; }
	public virtual Foundation.NSSet Actions { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool Executing { get; }
	public virtual Foundation.NSDate LastExecutionDate { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public virtual void AddAction (HMAction action, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddActionAsync (HMAction action);
	public virtual void RemoveAction (HMAction action, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveActionAsync (HMAction action);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMActionSetType

[Serializable]
public enum HMActionSetType {
	HomeArrival = 3,
	HomeDeparture = 2,
	Sleep = 1,
	TriggerOwned = 5,
	Unknown = -1,
	UserDefined = 4,
	WakeUp = 0,
}

New Type: HomeKit.HMAddAccessoryRequest

public class HMAddAccessoryRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMAddAccessoryRequest (Foundation.NSObjectFlag t);
	protected HMAddAccessoryRequest (IntPtr handle);
	// properties
	public virtual HMAccessoryCategory AccessoryCategory { get; }
	public virtual string AccessoryName { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HMHome Home { get; }
	public virtual bool RequiresSetupPayloadUrl { get; }
	// methods
	public virtual HMAccessorySetupPayload GetPayload (HMAccessoryOwnershipToken ownershipToken);
	public virtual HMAccessorySetupPayload GetPayload (Foundation.NSUrl setupPayloadUrl, HMAccessoryOwnershipToken ownershipToken);
}

New Type: HomeKit.HMCalendarEvent

public class HMCalendarEvent : HomeKit.HMTimeEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCalendarEvent (Foundation.NSDateComponents fireDateComponents);
	protected HMCalendarEvent (Foundation.NSObjectFlag t);
	protected HMCalendarEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDateComponents FireDateComponents { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMCameraAudioControl

public class HMCameraAudioControl : HomeKit.HMCameraControl, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCameraAudioControl (Foundation.NSObjectFlag t);
	protected HMCameraAudioControl (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMCharacteristic Mute { get; }
	public virtual HMCharacteristic Volume { get; }
}

New Type: HomeKit.HMCameraAudioStreamSetting

[Serializable]
public enum HMCameraAudioStreamSetting {
	BidirectionalAudioAllowed = 3,
	IncomingAudioAllowed = 2,
	Muted = 1,
}

New Type: HomeKit.HMCameraControl

public class HMCameraControl : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraControl ();
	protected HMCameraControl (Foundation.NSObjectFlag t);
	protected HMCameraControl (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMCameraProfile

public class HMCameraProfile : HomeKit.HMAccessoryProfile, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCameraProfile (Foundation.NSObjectFlag t);
	protected HMCameraProfile (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMCameraAudioControl MicrophoneControl { get; }
	public virtual HMCameraSettingsControl SettingsControl { get; }
	public virtual HMCameraSnapshotControl SnapshotControl { get; }
	public virtual HMCameraAudioControl SpeakerControl { get; }
	public virtual HMCameraStreamControl StreamControl { get; }
}

New Type: HomeKit.HMCameraSettingsControl

public class HMCameraSettingsControl : HomeKit.HMCameraControl, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCameraSettingsControl (Foundation.NSObjectFlag t);
	protected HMCameraSettingsControl (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMCharacteristic CurrentHorizontalTilt { get; }
	public virtual HMCharacteristic CurrentVerticalTilt { get; }
	public virtual HMCharacteristic DigitalZoom { get; }
	public virtual HMCharacteristic ImageMirroring { get; }
	public virtual HMCharacteristic ImageRotation { get; }
	public virtual HMCharacteristic NightVision { get; }
	public virtual HMCharacteristic OpticalZoom { get; }
	public virtual HMCharacteristic TargetHorizontalTilt { get; }
	public virtual HMCharacteristic TargetVerticalTilt { get; }
}

New Type: HomeKit.HMCameraSnapshot

public class HMCameraSnapshot : HomeKit.HMCameraSource, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraSnapshot ();
	protected HMCameraSnapshot (Foundation.NSObjectFlag t);
	protected HMCameraSnapshot (IntPtr handle);
	// properties
	public virtual Foundation.NSDate CaptureDate { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMCameraSnapshotControl

public class HMCameraSnapshotControl : HomeKit.HMCameraControl, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraSnapshotControl ();
	protected HMCameraSnapshotControl (Foundation.NSObjectFlag t);
	protected HMCameraSnapshotControl (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IHMCameraSnapshotControlDelegate Delegate { get; set; }
	public virtual HMCameraSnapshot MostRecentSnapshot { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void TakeSnapshot ();
}

New Type: HomeKit.HMCameraSnapshotControlDelegate

public class HMCameraSnapshotControlDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMCameraSnapshotControlDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraSnapshotControlDelegate ();
	protected HMCameraSnapshotControlDelegate (Foundation.NSObjectFlag t);
	protected HMCameraSnapshotControlDelegate (IntPtr handle);
	// methods
	public virtual void DidTakeSnapshot (HMCameraSnapshotControl cameraSnapshotControl, HMCameraSnapshot snapshot, Foundation.NSError error);
	public virtual void DidUpdateMostRecentSnapshot (HMCameraSnapshotControl cameraSnapshotControl);
}

New Type: HomeKit.HMCameraSnapshotControlDelegate_Extensions

public static class HMCameraSnapshotControlDelegate_Extensions {
	// methods
	public static void DidTakeSnapshot (this IHMCameraSnapshotControlDelegate This, HMCameraSnapshotControl cameraSnapshotControl, HMCameraSnapshot snapshot, Foundation.NSError error);
	public static void DidUpdateMostRecentSnapshot (this IHMCameraSnapshotControlDelegate This, HMCameraSnapshotControl cameraSnapshotControl);
}

New Type: HomeKit.HMCameraSource

public abstract class HMCameraSource : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCameraSource ();
	protected HMCameraSource (Foundation.NSObjectFlag t);
	protected HMCameraSource (IntPtr handle);
	// properties
	public virtual double AspectRatio { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMCameraStream

public class HMCameraStream : HomeKit.HMCameraSource, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraStream ();
	protected HMCameraStream (Foundation.NSObjectFlag t);
	protected HMCameraStream (IntPtr handle);
	// properties
	public virtual HMCameraAudioStreamSetting AudioStreamSetting { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void UpdateAudioStreamSetting (HMCameraAudioStreamSetting audioStreamSetting, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateAudioStreamSettingAsync (HMCameraAudioStreamSetting audioStreamSetting);
}

New Type: HomeKit.HMCameraStreamControl

public class HMCameraStreamControl : HomeKit.HMCameraControl, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraStreamControl ();
	protected HMCameraStreamControl (Foundation.NSObjectFlag t);
	protected HMCameraStreamControl (IntPtr handle);
	// properties
	public virtual HMCameraStream CameraStream { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IHMCameraStreamControlDelegate Delegate { get; set; }
	public virtual HMCameraStreamState StreamState { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void StartStream ();
	public virtual void StopStream ();
}

New Type: HomeKit.HMCameraStreamControlDelegate

public class HMCameraStreamControlDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMCameraStreamControlDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCameraStreamControlDelegate ();
	protected HMCameraStreamControlDelegate (Foundation.NSObjectFlag t);
	protected HMCameraStreamControlDelegate (IntPtr handle);
	// methods
	public virtual void DidStartStream (HMCameraStreamControl cameraStreamControl);
	public virtual void DidStopStream (HMCameraStreamControl cameraStreamControl, Foundation.NSError error);
}

New Type: HomeKit.HMCameraStreamControlDelegate_Extensions

public static class HMCameraStreamControlDelegate_Extensions {
	// methods
	public static void DidStartStream (this IHMCameraStreamControlDelegate This, HMCameraStreamControl cameraStreamControl);
	public static void DidStopStream (this IHMCameraStreamControlDelegate This, HMCameraStreamControl cameraStreamControl, Foundation.NSError error);
}

New Type: HomeKit.HMCameraStreamState

[Serializable]
public enum HMCameraStreamState {
	NotStreaming = 4,
	Starting = 1,
	Stopping = 3,
	Streaming = 2,
}

New Type: HomeKit.HMCameraView

public class HMCameraView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public HMCameraView ();
	public HMCameraView (CoreGraphics.CGRect frame);
	public HMCameraView (Foundation.NSCoder coder);
	protected HMCameraView (Foundation.NSObjectFlag t);
	protected HMCameraView (IntPtr handle);
	// properties
	public static HMCameraView.HMCameraViewAppearance Appearance { get; }
	public virtual HMCameraSource CameraSource { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static HMCameraView.HMCameraViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static HMCameraView.HMCameraViewAppearance GetAppearance<T> ();
	public static HMCameraView.HMCameraViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static HMCameraView.HMCameraViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static HMCameraView.HMCameraViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static HMCameraView.HMCameraViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);

	// inner types
	public class HMCameraViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected HMCameraView.HMCameraViewAppearance (IntPtr handle);
	}
}

New Type: HomeKit.HMCharacteristic

public class HMCharacteristic : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCharacteristic ();
	protected HMCharacteristic (Foundation.NSObjectFlag t);
	protected HMCharacteristic (IntPtr handle);
	// properties
	public HMCharacteristicType CharacteristicType { get; }
	public override IntPtr ClassHandle { get; }
	public bool Hidden { get; }
	public static Foundation.NSString KeyPath { get; }
	public virtual string LocalizedDescription { get; }
	public virtual HMCharacteristicMetadata Metadata { get; }
	public virtual bool NotificationEnabled { get; }
	public virtual Foundation.NSString[] Properties { get; }
	public bool Readable { get; }
	public virtual HMService Service { get; }
	public bool SupportsEventNotification { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	public virtual Foundation.NSObject Value { get; }
	public static Foundation.NSString ValueKeyPath { get; }
	public virtual Foundation.NSString WeakCharacteristicType { get; }
	public bool Writable { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void EnableNotification (bool enable, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task EnableNotificationAsync (bool enable);
	public virtual void ReadValue (System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task ReadValueAsync ();
	public virtual void UpdateAuthorizationData (Foundation.NSData data, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateAuthorizationDataAsync (Foundation.NSData data);
	public virtual void WriteValue (Foundation.NSObject value, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task WriteValueAsync (Foundation.NSObject value);
}

New Type: HomeKit.HMCharacteristicEvent

public class HMCharacteristicEvent : HomeKit.HMEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCharacteristicEvent (Foundation.NSObjectFlag t);
	protected HMCharacteristicEvent (IntPtr handle);
	public HMCharacteristicEvent (HMCharacteristic characteristic, Foundation.INSCopying triggerValue);
	// properties
	public virtual HMCharacteristic Characteristic { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.INSCopying TriggerValue { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
	public virtual void UpdateTriggerValue (Foundation.INSCopying triggerValue, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateTriggerValueAsync (Foundation.INSCopying triggerValue);
}

New Type: HomeKit.HMCharacteristicMetadata

public class HMCharacteristicMetadata : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMCharacteristicMetadata ();
	protected HMCharacteristicMetadata (Foundation.NSObjectFlag t);
	protected HMCharacteristicMetadata (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public HMCharacteristicMetadataFormat Format { get; }
	public virtual string ManufacturerDescription { get; }
	public virtual Foundation.NSNumber MaxLength { get; }
	public virtual Foundation.NSNumber MaximumValue { get; }
	public virtual Foundation.NSNumber MinimumValue { get; }
	public virtual Foundation.NSNumber StepValue { get; }
	public HMCharacteristicMetadataUnits Units { get; }
	public virtual Foundation.NSNumber[] ValidValues { get; }
}

New Type: HomeKit.HMCharacteristicMetadataFormat

[Serializable]
public enum HMCharacteristicMetadataFormat {
	Array = 5,
	Bool = 1,
	Data = 11,
	Dictionary = 6,
	Float = 3,
	Int = 2,
	None = 0,
	String = 4,
	Tlv8 = 12,
	UInt16 = 8,
	UInt32 = 9,
	UInt64 = 10,
	UInt8 = 7,
}

New Type: HomeKit.HMCharacteristicMetadataUnits

[Serializable]
public enum HMCharacteristicMetadataUnits {
	ArcDegree = 4,
	Celsius = 1,
	Fahrenheit = 2,
	Lux = 6,
	MicrogramsPerCubicMeter = 8,
	None = 0,
	PartsPerMillion = 7,
	Percentage = 3,
	Seconds = 5,
}

New Type: HomeKit.HMCharacteristicProperties

public class HMCharacteristicProperties {
	// constructors
	public HMCharacteristicProperties ();
	// properties
	public bool Readable { get; set; }
	public bool SupportsBonjourNotification { get; set; }
	public bool SupportsChangeNumber { get; set; }
	public bool SupportsEventNotification { get; set; }
	public bool Writable { get; set; }
}

New Type: HomeKit.HMCharacteristicThresholdRangeEvent

public class HMCharacteristicThresholdRangeEvent : HomeKit.HMEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCharacteristicThresholdRangeEvent (Foundation.NSObjectFlag t);
	protected HMCharacteristicThresholdRangeEvent (IntPtr handle);
	public HMCharacteristicThresholdRangeEvent (HMCharacteristic characteristic, HMNumberRange thresholdRange);
	// properties
	public virtual HMCharacteristic Characteristic { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual HMNumberRange ThresholdRange { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMCharacteristicType

[Serializable]
public enum HMCharacteristicType {
	Active = 85,
	AdminOnlyAccess = 29,
	AirParticulateDensity = 36,
	AirParticulateSize = 37,
	AirQuality = 38,
	AudioFeedback = 28,
	BatteryLevel = 39,
	Brightness = 4,
	CarbonDioxideDetected = 40,
	CarbonDioxideLevel = 41,
	CarbonDioxidePeakLevel = 42,
	CarbonMonoxideDetected = 43,
	CarbonMonoxideLevel = 44,
	CarbonMonoxidePeakLevel = 45,
	ChargingState = 46,
	ColorTemperature = 115,
	ContactState = 47,
	CoolingThreshold = 10,
	CurrentAirPurifierState = 86,
	CurrentDoorState = 15,
	CurrentFanState = 88,
	CurrentHeaterCoolerState = 89,
	CurrentHeatingCooling = 8,
	CurrentHorizontalTilt = 49,
	CurrentHumidifierDehumidifierState = 90,
	CurrentLightLevel = 50,
	CurrentLockMechanismState = 31,
	CurrentPosition = 51,
	CurrentRelativeHumidity = 13,
	CurrentSecuritySystemState = 48,
	CurrentSlatState = 91,
	CurrentTemperature = 6,
	CurrentTilt = 102,
	CurrentVerticalTilt = 52,
	DehumidifierThreshold = 110,
	DigitalZoom = 82,
	FilterChangeIndication = 93,
	FilterLifeLevel = 94,
	FilterResetChangeIndication = 95,
	FirmwareVersion = 53,
	HardwareVersion = 54,
	HeatingCoolingStatus = 12,
	HeatingThreshold = 11,
	HoldPosition = 55,
	Hue = 2,
	HumidifierThreshold = 111,
	Identify = 22,
	ImageMirroring = 84,
	ImageRotation = 83,
	InUse = 117,
	InputEvent = 56,
	IsConfigured = 121,
	LabelIndex = 114,
	LabelNamespace = 113,
	LeakDetected = 57,
	LockManagementAutoSecureTimeout = 35,
	LockManagementControlPoint = 34,
	LockMechanismLastKnownAction = 33,
	LockPhysicalControls = 96,
	Logs = 27,
	Manufacturer = 19,
	Model = 20,
	MotionDetected = 30,
	Mute = 79,
	Name = 18,
	NightVision = 80,
	NitrogenDioxideDensity = 105,
	None = 0,
	ObstructionDetected = 17,
	OccupancyDetected = 58,
	OpticalZoom = 81,
	OutletInUse = 25,
	OutputState = 59,
	OzoneDensity = 104,
	PM10Density = 108,
	PM2_5Density = 107,
	PositionState = 60,
	PowerState = 1,
	ProgramMode = 116,
	RemainingDuration = 119,
	RotationDirection = 23,
	RotationSpeed = 24,
	Saturation = 3,
	SecuritySystemAlarmType = 112,
	SelectedStreamConfiguration = 77,
	SerialNumber = 21,
	SetDuration = 118,
	SetupStreamEndpoint = 73,
	SlatType = 101,
	SmokeDetected = 61,
	SoftwareVersion = 62,
	StatusActive = 63,
	StatusFault = 64,
	StatusJammed = 65,
	StatusLowBattery = 66,
	StatusTampered = 67,
	StreamingStatus = 72,
	SulphurDioxideDensity = 106,
	SupportedAudioStreamConfiguration = 75,
	SupportedRtpConfiguration = 76,
	SupportedVideoStreamConfiguration = 74,
	SwingMode = 97,
	TargetAirPurifierState = 87,
	TargetDoorState = 16,
	TargetFanState = 100,
	TargetHeaterCoolerState = 98,
	TargetHeatingCooling = 9,
	TargetHorizontalTilt = 69,
	TargetHumidifierDehumidifierState = 99,
	TargetLockMechanismState = 32,
	TargetPosition = 70,
	TargetRelativeHumidity = 14,
	TargetSecuritySystemState = 68,
	TargetTemperature = 7,
	TargetTilt = 103,
	TargetVerticalTilt = 71,
	TemperatureUnits = 5,
	ValveType = 120,
	Version = 26,
	VolatileOrganicCompoundDensity = 109,
	Volume = 78,
	WaterLevel = 92,
}

New Type: HomeKit.HMCharacteristicTypeExtensions

public static class HMCharacteristicTypeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HMCharacteristicType self);
	public static HMCharacteristicType GetValue (Foundation.NSString constant);
}

New Type: HomeKit.HMCharacteristicValueActivationState

[Serializable]
public enum HMCharacteristicValueActivationState {
	Active = 1,
	Inactive = 0,
}

New Type: HomeKit.HMCharacteristicValueAirParticulate

[Serializable]
public enum HMCharacteristicValueAirParticulate {
	Size10 = 1,
	Size2_5 = 0,
}

New Type: HomeKit.HMCharacteristicValueAirQuality

[Serializable]
public enum HMCharacteristicValueAirQuality {
	Excellent = 1,
	Fair = 3,
	Good = 2,
	Inferior = 4,
	Poor = 5,
	Unknown = 0,
}

New Type: HomeKit.HMCharacteristicValueBatteryStatus

[Serializable]
public enum HMCharacteristicValueBatteryStatus {
	Low = 1,
	Normal = 0,
}

New Type: HomeKit.HMCharacteristicValueCarbonDioxideDetectionStatus

[Serializable]
public enum HMCharacteristicValueCarbonDioxideDetectionStatus {
	Detected = 1,
	NotDetected = 0,
}

New Type: HomeKit.HMCharacteristicValueCarbonMonoxideDetectionStatus

[Serializable]
public enum HMCharacteristicValueCarbonMonoxideDetectionStatus {
	Detected = 1,
	NotDetected = 0,
}

New Type: HomeKit.HMCharacteristicValueChargingState

[Serializable]
public enum HMCharacteristicValueChargingState {
	InProgress = 1,
	None = 0,
	NotChargeable = 2,
}

New Type: HomeKit.HMCharacteristicValueConfigurationState

[Serializable]
public enum HMCharacteristicValueConfigurationState {
	Configured = 1,
	NotConfigured = 0,
}

New Type: HomeKit.HMCharacteristicValueContactState

[Serializable]
public enum HMCharacteristicValueContactState {
	Detected = 0,
	None = 1,
}

New Type: HomeKit.HMCharacteristicValueCurrentAirPurifierState

[Serializable]
public enum HMCharacteristicValueCurrentAirPurifierState {
	Active = 2,
	Idle = 1,
	Inactive = 0,
}

New Type: HomeKit.HMCharacteristicValueCurrentFanState

[Serializable]
public enum HMCharacteristicValueCurrentFanState {
	Active = 2,
	Idle = 1,
	Inactive = 0,
}

New Type: HomeKit.HMCharacteristicValueCurrentHeaterCoolerState

[Serializable]
public enum HMCharacteristicValueCurrentHeaterCoolerState {
	Cooling = 3,
	Heating = 2,
	Idle = 1,
	Inactive = 0,
}

New Type: HomeKit.HMCharacteristicValueCurrentHeatingCooling

[Serializable]
public enum HMCharacteristicValueCurrentHeatingCooling {
	Cool = 2,
	Heat = 1,
	Off = 0,
}

New Type: HomeKit.HMCharacteristicValueCurrentHumidifierDehumidifierState

[Serializable]
public enum HMCharacteristicValueCurrentHumidifierDehumidifierState {
	Dehumidifying = 3,
	Humidifying = 2,
	Idle = 1,
	Inactive = 0,
}

New Type: HomeKit.HMCharacteristicValueCurrentSecuritySystemState

[Serializable]
public enum HMCharacteristicValueCurrentSecuritySystemState {
	AwayArm = 1,
	Disarmed = 3,
	NightArm = 2,
	StayArm = 0,
	Triggered = 4,
}

New Type: HomeKit.HMCharacteristicValueCurrentSlatState

[Serializable]
public enum HMCharacteristicValueCurrentSlatState {
	Jammed = 1,
	Oscillating = 2,
	Stationary = 0,
}

New Type: HomeKit.HMCharacteristicValueDoorState

[Serializable]
public enum HMCharacteristicValueDoorState {
	Closed = 1,
	Closing = 3,
	Open = 0,
	Opening = 2,
	Stopped = 4,
}

New Type: HomeKit.HMCharacteristicValueFilterChange

[Serializable]
public enum HMCharacteristicValueFilterChange {
	Needed = 1,
	NotNeeded = 0,
}

New Type: HomeKit.HMCharacteristicValueHeatingCooling

[Serializable]
public enum HMCharacteristicValueHeatingCooling {
	Auto = 3,
	Cool = 2,
	Heat = 1,
	Off = 0,
}

New Type: HomeKit.HMCharacteristicValueInputEvent

[Serializable]
public enum HMCharacteristicValueInputEvent {
	DoublePress = 1,
	LongPress = 2,
	SinglePress = 0,
}

New Type: HomeKit.HMCharacteristicValueJammedStatus

[Serializable]
public enum HMCharacteristicValueJammedStatus {
	Jammed = 1,
	None = 0,
}

New Type: HomeKit.HMCharacteristicValueLabelNamespace

[Serializable]
public enum HMCharacteristicValueLabelNamespace {
	Dot = 0,
	Numeral = 1,
}

New Type: HomeKit.HMCharacteristicValueLeakStatus

[Serializable]
public enum HMCharacteristicValueLeakStatus {
	Detected = 1,
	None = 0,
}

New Type: HomeKit.HMCharacteristicValueLockMechanism

[Serializable]
public enum HMCharacteristicValueLockMechanism {
	LastKnownActionSecuredRemotely = 6,
	LastKnownActionSecuredUsingPhysicalMovement = 9,
	LastKnownActionSecuredUsingPhysicalMovementExterior = 2,
	LastKnownActionSecuredUsingPhysicalMovementInterior = 0,
	LastKnownActionSecuredWithAutomaticSecureTimeout = 8,
	LastKnownActionSecuredWithKeypad = 4,
	LastKnownActionUnsecuredRemotely = 7,
	LastKnownActionUnsecuredUsingPhysicalMovement = 10,
	LastKnownActionUnsecuredUsingPhysicalMovementExterior = 3,
	LastKnownActionUnsecuredUsingPhysicalMovementInterior = 1,
	LastKnownActionUnsecuredWithKeypad = 5,
}

New Type: HomeKit.HMCharacteristicValueLockMechanismState

[Serializable]
public enum HMCharacteristicValueLockMechanismState {
	Jammed = 2,
	Secured = 1,
	Unknown = 3,
	Unsecured = 0,
}

New Type: HomeKit.HMCharacteristicValueLockPhysicalControlsState

[Serializable]
public enum HMCharacteristicValueLockPhysicalControlsState {
	Locked = 1,
	NotLocked = 0,
}

New Type: HomeKit.HMCharacteristicValueOccupancyStatus

[Serializable]
public enum HMCharacteristicValueOccupancyStatus {
	NotOccupied = 0,
	Occupied = 1,
}

New Type: HomeKit.HMCharacteristicValuePositionState

[Serializable]
public enum HMCharacteristicValuePositionState {
	Closing = 0,
	Opening = 1,
	Stopped = 2,
}

New Type: HomeKit.HMCharacteristicValueProgramMode

[Serializable]
public enum HMCharacteristicValueProgramMode {
	NotScheduled = 0,
	ScheduleOverriddenToManual = 2,
	Scheduled = 1,
}

New Type: HomeKit.HMCharacteristicValueRotationDirection

[Serializable]
public enum HMCharacteristicValueRotationDirection {
	Clockwise = 0,
	CounterClockwise = 1,
}

New Type: HomeKit.HMCharacteristicValueSecuritySystemAlarmType

[Serializable]
public enum HMCharacteristicValueSecuritySystemAlarmType {
	NoAlarm = 0,
	Unknown = 1,
}

New Type: HomeKit.HMCharacteristicValueSlatType

[Serializable]
public enum HMCharacteristicValueSlatType {
	Horizontal = 0,
	Vertical = 1,
}

New Type: HomeKit.HMCharacteristicValueSmokeDetectionStatus

[Serializable]
public enum HMCharacteristicValueSmokeDetectionStatus {
	Detected = 1,
	None = 0,
}

New Type: HomeKit.HMCharacteristicValueStatusFault

[Serializable]
public enum HMCharacteristicValueStatusFault {
	GeneralFault = 1,
	NoFault = 0,
}

New Type: HomeKit.HMCharacteristicValueSwingMode

[Serializable]
public enum HMCharacteristicValueSwingMode {
	Disabled = 0,
	Enabled = 1,
}

New Type: HomeKit.HMCharacteristicValueTamperedStatus

[Serializable]
public enum HMCharacteristicValueTamperedStatus {
	None = 0,
	Tampered = 1,
}

New Type: HomeKit.HMCharacteristicValueTargetAirPurifierState

[Serializable]
public enum HMCharacteristicValueTargetAirPurifierState {
	Automatic = 1,
	Manual = 0,
}

New Type: HomeKit.HMCharacteristicValueTargetDoorState

[Serializable]
public enum HMCharacteristicValueTargetDoorState {
	Closed = 1,
	Open = 0,
}

New Type: HomeKit.HMCharacteristicValueTargetFanState

[Serializable]
public enum HMCharacteristicValueTargetFanState {
	Automatic = 1,
	Manual = 0,
}

New Type: HomeKit.HMCharacteristicValueTargetHeaterCoolerState

[Serializable]
public enum HMCharacteristicValueTargetHeaterCoolerState {
	Automatic = 0,
	Cool = 2,
	Heat = 1,
}

New Type: HomeKit.HMCharacteristicValueTargetHumidifierDehumidifierState

[Serializable]
public enum HMCharacteristicValueTargetHumidifierDehumidifierState {
	Automatic = 0,
	Dehumidify = 2,
	Humidify = 1,
}

New Type: HomeKit.HMCharacteristicValueTargetLockMechanismState

[Serializable]
public enum HMCharacteristicValueTargetLockMechanismState {
	Secured = 1,
	Unsecured = 0,
}

New Type: HomeKit.HMCharacteristicValueTargetSecuritySystemState

[Serializable]
public enum HMCharacteristicValueTargetSecuritySystemState {
	AwayArm = 1,
	Disarm = 3,
	NightArm = 2,
	StayArm = 0,
}

New Type: HomeKit.HMCharacteristicValueTemperatureUnit

[Serializable]
public enum HMCharacteristicValueTemperatureUnit {
	Celsius = 0,
	Fahrenheit = 1,
}

New Type: HomeKit.HMCharacteristicValueUsageState

[Serializable]
public enum HMCharacteristicValueUsageState {
	InUse = 1,
	NotInUse = 0,
}

New Type: HomeKit.HMCharacteristicValueValveType

[Serializable]
public enum HMCharacteristicValueValveType {
	GenericValve = 0,
	Irrigation = 1,
	ShowerHead = 2,
	WaterFaucet = 3,
}

New Type: HomeKit.HMCharacteristicWriteAction

public class HMCharacteristicWriteAction : HomeKit.HMAction, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMCharacteristicWriteAction (Foundation.NSObjectFlag t);
	protected HMCharacteristicWriteAction (IntPtr handle);
	public HMCharacteristicWriteAction (HMCharacteristic characteristic, Foundation.NSObject targetValue);
	// properties
	public virtual HMCharacteristic Characteristic { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject TargetValue { get; }
	// methods
	public virtual void UpdateTargetValue (Foundation.NSObject targetValue, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateTargetValueAsync (Foundation.NSObject targetValue);
}

New Type: HomeKit.HMDurationEvent

public class HMDurationEvent : HomeKit.HMTimeEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMDurationEvent (Foundation.NSObjectFlag t);
	public HMDurationEvent (double duration);
	protected HMDurationEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Duration { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMError

[Serializable]
public enum HMError {
	AccessDenied = 10,
	AccessoryCommunicationFailure = 101,
	AccessoryDiscoveryFailed = 57,
	AccessoryIsBlocked = 61,
	AccessoryIsBusy = 14,
	AccessoryNotReachable = 4,
	AccessoryOutOfCompliance = 66,
	AccessoryOutOfResources = 16,
	AccessoryPairingFailed = 18,
	AccessoryPoweredOff = 9,
	AccessoryResponseError = 59,
	AccessorySentInvalidResponse = 50,
	ActionInAnotherActionSet = 30,
	ActionSetExecutionFailed = 63,
	ActionSetExecutionInProgress = 65,
	ActionSetExecutionPartialSuccess = 64,
	AddAccessoryFailed = 79,
	AlreadyExists = 1,
	BridgedAccessoryNotReachable = 88,
	CannotActivateTriggerTooFarInFuture = 71,
	CannotRemoveBuiltinActionSet = 83,
	CannotRemoveNonBridgeAccessory = 34,
	CannotUnblockNonBridgeAccessory = 81,
	ClientRequestError = 58,
	CloudDataSyncInProgress = 77,
	CommunicationFailure = 54,
	DataResetFailure = 67,
	DateMustBeOnSpecifiedBoundaries = 70,
	DeviceLocked = 82,
	EnterpriseNetworkNotSupported = 99,
	FailedToJoinNetwork = 102,
	FireDateInPast = 28,
	GenericError = 52,
	HomeAccessNotAuthorized = 47,
	HomeWithSimilarNameExists = 32,
	IncompatibleAccessory = 93,
	IncompatibleHomeHub = 92,
	IncompatibleNetwork = 90,
	InsufficientPrivileges = 17,
	InvalidAssociatedServiceType = 62,
	InvalidClass = 22,
	InvalidDataFormatSpecified = 19,
	InvalidMessageSize = 56,
	InvalidOrMissingAuthorizationData = 87,
	InvalidParameter = 3,
	InvalidValueType = 43,
	KeychainSyncNotEnabled = 76,
	LocationForHomeDisabled = 84,
	MaximumAccessoriesOfTypeInHome = 97,
	MaximumObjectLimitReached = 49,
	MessageAuthenticationFailed = 55,
	MissingEntitlement = 80,
	MissingParameter = 27,
	NameContainsProhibitedCharacters = 35,
	NameDoesNotEndWithValidCharacters = 60,
	NameDoesNotStartWithValidCharacters = 36,
	NetworkUnavailable = 78,
	NilParameter = 20,
	NoActionsInActionSet = 25,
	NoHomeHub = 91,
	NoRegisteredActionSets = 26,
	NotAuthorizedForLocationServices = 85,
	NotAuthorizedForMicrophoneAccess = 89,
	NotFound = 2,
	NotSignedIntoiCloud = 75,
	NotificationAlreadyEnabled = 68,
	NotificationNotSupported = 7,
	ObjectAlreadyAssociatedToHome = 13,
	ObjectAssociatedToAnotherHome = 11,
	ObjectNotAssociatedToAnyHome = 12,
	ObjectWithSimilarNameExists = 95,
	ObjectWithSimilarNameExistsInHome = 31,
	OperationCancelled = 23,
	OperationInProgress = 15,
	OperationNotSupported = 48,
	OperationTimedOut = 8,
	OwnershipFailure = 96,
	ReadOnlyCharacteristic = 5,
	ReadWriteFailure = 74,
	ReadWritePartialSuccess = 73,
	RecurrenceMustBeOnSpecifiedBoundaries = 69,
	RecurrenceTooLarge = 72,
	RecurrenceTooSmall = 42,
	ReferToUserManual = 86,
	RenameWithSimilarName = 33,
	RoomForHomeCannotBeInZone = 24,
	RoomForHomeCannotBeUpdated = 29,
	SecurityFailure = 53,
	StringLongerThanMaximum = 46,
	StringShorterThanMinimum = 51,
	TimedOutWaitingForAccessory = 100,
	UnconfiguredParameter = 21,
	UnexpectedError = -1,
	UserDeclinedAddingUser = 38,
	UserDeclinedInvite = 40,
	UserDeclinedRemovingUser = 39,
	UserIDNotEmailAddress = 37,
	UserManagementFailed = 41,
	ValueHigherThanMaximum = 45,
	ValueLowerThanMinimum = 44,
	WiFiCredentialGenerationFailed = 98,
	WriteOnlyCharacteristic = 6,
}

New Type: HomeKit.HMErrors

public static class HMErrors {
	// properties
	public static Foundation.NSString HMErrorDomain { get; }
}

New Type: HomeKit.HMEvent

public class HMEvent : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMEvent ();
	protected HMEvent (Foundation.NSObjectFlag t);
	protected HMEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public static bool IsSupported (HMHome home);
}

New Type: HomeKit.HMEventTrigger

public class HMEventTrigger : HomeKit.HMTrigger, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMEventTrigger (Foundation.NSObjectFlag t);
	protected HMEventTrigger (IntPtr handle);
	public HMEventTrigger (string name, HMEvent[] events, Foundation.NSPredicate predicate);
	public HMEventTrigger (string name, HMEvent[] events, HMEvent[] endEvents, Foundation.NSDateComponents[] recurrences, Foundation.NSPredicate predicate);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMEvent[] EndEvents { get; }
	public virtual HMEvent[] Events { get; }
	public virtual bool ExecuteOnce { get; }
	public virtual Foundation.NSPredicate Predicate { get; }
	public virtual Foundation.NSDateComponents[] Recurrences { get; }
	public virtual HMEventTriggerActivationState TriggerActivationState { get; }
	// methods
	public virtual void AddEvent (HMEvent event, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddEventAsync (HMEvent event);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTrigger (HMPresenceEvent presenceEvent);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTrigger (HMCharacteristic characteristic, Foundation.NSPredicateOperatorType operatorType, Foundation.NSObject value);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringAfterDate (Foundation.NSDateComponents dateComponents);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringAfterSignificantEvent (HMSignificantTimeEvent significantEvent);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringAfterSignificantEvent (HMSignificantEvent significantEvent, Foundation.NSDateComponents offset);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringBeforeDate (Foundation.NSDateComponents dateComponents);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringBeforeSignificantEvent (HMSignificantTimeEvent significantEvent);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringBeforeSignificantEvent (HMSignificantEvent significantEvent, Foundation.NSDateComponents offset);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringBetweenDates (Foundation.NSDateComponents firstDateComponents, Foundation.NSDateComponents secondDateComponents);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringBetweenSignificantEvent (HMSignificantTimeEvent firstSignificantEvent, HMSignificantTimeEvent secondSignificantEvent);
	public static Foundation.NSPredicate CreatePredicateForEvaluatingTriggerOccurringOnDate (Foundation.NSDateComponents dateComponents);
	public virtual void RemoveEvent (HMEvent event, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveEventAsync (HMEvent event);
	public virtual void UpdateEndEvents (HMEvent[] endEvents, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateEndEventsAsync (HMEvent[] endEvents);
	public virtual void UpdateEvents (HMEvent[] events, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateEventsAsync (HMEvent[] events);
	public virtual void UpdateExecuteOnce (bool executeOnce, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateExecuteOnceAsync (bool executeOnce);
	public virtual void UpdatePredicate (Foundation.NSPredicate predicate, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdatePredicateAsync (Foundation.NSPredicate predicate);
	public virtual void UpdateRecurrences (Foundation.NSDateComponents[] recurrences, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateRecurrencesAsync (Foundation.NSDateComponents[] recurrences);
}

New Type: HomeKit.HMEventTriggerActivationState

[Serializable]
public enum HMEventTriggerActivationState {
	Disabled = 0,
	DisabledNoCompatibleHomeHub = 2,
	DisabledNoHomeHub = 1,
	DisabledNoLocationServicesAuthorization = 3,
	Enabled = 4,
}

New Type: HomeKit.HMHome

public class HMHome : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMHome (Foundation.NSObjectFlag t);
	protected HMHome (IntPtr handle);
	// properties
	public virtual HMAccessory[] Accessories { get; }
	public virtual HMActionSet[] ActionSets { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HMUser CurrentUser { get; }
	public IHMHomeDelegate Delegate { get; set; }
	public virtual HMHomeHubState HomeHubState { get; }
	public virtual string Name { get; }
	public virtual bool Primary { get; }
	public virtual HMRoom[] Rooms { get; }
	public virtual HMServiceGroup[] ServiceGroups { get; }
	public virtual bool SupportsAddingNetworkRouter { get; }
	public virtual HMTrigger[] Triggers { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	public static Foundation.NSString UserFailedAccessoriesKey { get; }
	public virtual HMUser[] Users { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	public virtual HMZone[] Zones { get; }
	// events
	public event System.EventHandler<HMHomeAccessoryEventArgs> DidAddAccessory;
	public event System.EventHandler<HMHomeActionSetEventArgs> DidAddActionSet;
	public event System.EventHandler<HMHomeRoomEventArgs> DidAddRoom;
	public event System.EventHandler<HMHomeRoomZoneEventArgs> DidAddRoomToZone;
	public event System.EventHandler<HMHomeServiceServiceGroupEventArgs> DidAddService;
	public event System.EventHandler<HMHomeServiceGroupEventArgs> DidAddServiceGroup;
	public event System.EventHandler<HMHomeTriggerEventArgs> DidAddTrigger;
	public event System.EventHandler<HMHomeUserEventArgs> DidAddUser;
	public event System.EventHandler<HMHomeZoneEventArgs> DidAddZone;
	public event System.EventHandler<HMHomeErrorAccessoryEventArgs> DidEncounterError;
	public event System.EventHandler<HMHomeAccessoryEventArgs> DidRemoveAccessory;
	public event System.EventHandler<HMHomeActionSetEventArgs> DidRemoveActionSet;
	public event System.EventHandler<HMHomeRoomEventArgs> DidRemoveRoom;
	public event System.EventHandler<HMHomeRoomZoneEventArgs> DidRemoveRoomFromZone;
	public event System.EventHandler<HMHomeServiceServiceGroupEventArgs> DidRemoveService;
	public event System.EventHandler<HMHomeServiceGroupEventArgs> DidRemoveServiceGroup;
	public event System.EventHandler<HMHomeTriggerEventArgs> DidRemoveTrigger;
	public event System.EventHandler<HMHomeUserEventArgs> DidRemoveUser;
	public event System.EventHandler<HMHomeZoneEventArgs> DidRemoveZone;
	public event System.EventHandler<HMHomeAccessoryEventArgs> DidUnblockAccessory;
	public event System.EventHandler DidUpdateAccessControlForCurrentUser;
	public event System.EventHandler<HMHomeActionSetEventArgs> DidUpdateActionsForActionSet;
	public event System.EventHandler<HMHomeHubStateEventArgs> DidUpdateHomeHubState;
	public event System.EventHandler<HMHomeActionSetEventArgs> DidUpdateNameForActionSet;
	public event System.EventHandler DidUpdateNameForHome;
	public event System.EventHandler<HMHomeRoomEventArgs> DidUpdateNameForRoom;
	public event System.EventHandler<HMHomeServiceGroupEventArgs> DidUpdateNameForServiceGroup;
	public event System.EventHandler<HMHomeTriggerEventArgs> DidUpdateNameForTrigger;
	public event System.EventHandler<HMHomeZoneEventArgs> DidUpdateNameForZone;
	public event System.EventHandler<HMHomeRoomAccessoryEventArgs> DidUpdateRoom;
	public event System.EventHandler DidUpdateSupportedFeatures;
	public event System.EventHandler<HMHomeTriggerEventArgs> DidUpdateTrigger;
	// methods
	public virtual void AddAccessory (HMAccessory accessory, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddAccessoryAsync (HMAccessory accessory);
	public virtual void AddActionSet (string actionSetName, System.Action<HMActionSet,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMActionSet> AddActionSetAsync (string actionSetName);
	public virtual void AddAndSetupAccessories (System.Action<Foundation.NSError> completion);
	public virtual void AddAndSetupAccessories (HMAccessorySetupPayload payload, System.Action<HMAccessory[],Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddAndSetupAccessoriesAsync ();
	public virtual System.Threading.Tasks.Task<HMAccessory[]> AddAndSetupAccessoriesAsync (HMAccessorySetupPayload payload);
	public virtual void AddRoom (string roomName, System.Action<HMRoom,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMRoom> AddRoomAsync (string roomName);
	public virtual void AddServiceGroup (string serviceGroupName, System.Action<HMServiceGroup,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMServiceGroup> AddServiceGroupAsync (string serviceGroupName);
	public virtual void AddTrigger (HMTrigger trigger, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddTriggerAsync (HMTrigger trigger);
	public virtual void AddUser (System.Action<HMUser,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMUser> AddUserAsync ();
	public virtual void AddZone (string zoneName, System.Action<HMZone,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMZone> AddZoneAsync (string zoneName);
	public virtual void AssignAccessory (HMAccessory accessory, HMRoom room, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AssignAccessoryAsync (HMAccessory accessory, HMRoom room);
	protected override void Dispose (bool disposing);
	public virtual void ExecuteActionSet (HMActionSet actionSet, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task ExecuteActionSetAsync (HMActionSet actionSet);
	public virtual HMActionSet GetBuiltinActionSet (string actionSetType);
	public virtual HMHomeAccessControl GetHomeAccessControl (HMUser user);
	public virtual HMRoom GetRoomForEntireHome ();
	public virtual HMService[] GetServices (Foundation.NSString[] serviceTypes);
	public HMService[] GetServices (HMServiceType serviceTypes);
	public virtual void ManageUsers (System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task ManageUsersAsync ();
	public virtual void RemoveAccessory (HMAccessory accessory, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveAccessoryAsync (HMAccessory accessory);
	public virtual void RemoveActionSet (HMActionSet actionSet, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveActionSetAsync (HMActionSet actionSet);
	public virtual void RemoveRoom (HMRoom room, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveRoomAsync (HMRoom room);
	public virtual void RemoveServiceGroup (HMServiceGroup group, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveServiceGroupAsync (HMServiceGroup group);
	public virtual void RemoveTrigger (HMTrigger trigger, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveTriggerAsync (HMTrigger trigger);
	public virtual void RemoveUser (HMUser user, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveUserAsync (HMUser user);
	public virtual void RemoveZone (HMZone zone, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveZoneAsync (HMZone zone);
	public virtual void UnblockAccessory (HMAccessory accessory, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UnblockAccessoryAsync (HMAccessory accessory);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMHomeAccessControl

public class HMHomeAccessControl : HomeKit.HMAccessControl, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMHomeAccessControl (Foundation.NSObjectFlag t);
	protected HMHomeAccessControl (IntPtr handle);
	// properties
	public virtual bool Administrator { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMHomeAccessoryEventArgs

public class HMHomeAccessoryEventArgs : System.EventArgs {
	// constructors
	public HMHomeAccessoryEventArgs (HMAccessory accessory);
	// properties
	public HMAccessory Accessory { get; set; }
}

New Type: HomeKit.HMHomeActionSetEventArgs

public class HMHomeActionSetEventArgs : System.EventArgs {
	// constructors
	public HMHomeActionSetEventArgs (HMActionSet actionSet);
	// properties
	public HMActionSet ActionSet { get; set; }
}

New Type: HomeKit.HMHomeDelegate

public class HMHomeDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMHomeDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMHomeDelegate ();
	protected HMHomeDelegate (Foundation.NSObjectFlag t);
	protected HMHomeDelegate (IntPtr handle);
	// methods
	public virtual void DidAddAccessory (HMHome home, HMAccessory accessory);
	public virtual void DidAddActionSet (HMHome home, HMActionSet actionSet);
	public virtual void DidAddRoom (HMHome home, HMRoom room);
	public virtual void DidAddRoomToZone (HMHome home, HMRoom room, HMZone zone);
	public virtual void DidAddService (HMHome home, HMService service, HMServiceGroup group);
	public virtual void DidAddServiceGroup (HMHome home, HMServiceGroup group);
	public virtual void DidAddTrigger (HMHome home, HMTrigger trigger);
	public virtual void DidAddUser (HMHome home, HMUser user);
	public virtual void DidAddZone (HMHome home, HMZone zone);
	public virtual void DidEncounterError (HMHome home, Foundation.NSError error, HMAccessory accessory);
	public virtual void DidRemoveAccessory (HMHome home, HMAccessory accessory);
	public virtual void DidRemoveActionSet (HMHome home, HMActionSet actionSet);
	public virtual void DidRemoveRoom (HMHome home, HMRoom room);
	public virtual void DidRemoveRoomFromZone (HMHome home, HMRoom room, HMZone zone);
	public virtual void DidRemoveService (HMHome home, HMService service, HMServiceGroup group);
	public virtual void DidRemoveServiceGroup (HMHome home, HMServiceGroup group);
	public virtual void DidRemoveTrigger (HMHome home, HMTrigger trigger);
	public virtual void DidRemoveUser (HMHome home, HMUser user);
	public virtual void DidRemoveZone (HMHome home, HMZone zone);
	public virtual void DidUnblockAccessory (HMHome home, HMAccessory accessory);
	public virtual void DidUpdateAccessControlForCurrentUser (HMHome home);
	public virtual void DidUpdateActionsForActionSet (HMHome home, HMActionSet actionSet);
	public virtual void DidUpdateHomeHubState (HMHome home, HMHomeHubState homeHubState);
	public virtual void DidUpdateNameForActionSet (HMHome home, HMActionSet actionSet);
	public virtual void DidUpdateNameForHome (HMHome home);
	public virtual void DidUpdateNameForRoom (HMHome home, HMRoom room);
	public virtual void DidUpdateNameForServiceGroup (HMHome home, HMServiceGroup group);
	public virtual void DidUpdateNameForTrigger (HMHome home, HMTrigger trigger);
	public virtual void DidUpdateNameForZone (HMHome home, HMZone zone);
	public virtual void DidUpdateRoom (HMHome home, HMRoom room, HMAccessory accessory);
	public virtual void DidUpdateSupportedFeatures (HMHome home);
	public virtual void DidUpdateTrigger (HMHome home, HMTrigger trigger);
}

New Type: HomeKit.HMHomeDelegate_Extensions

public static class HMHomeDelegate_Extensions {
	// methods
	public static void DidAddAccessory (this IHMHomeDelegate This, HMHome home, HMAccessory accessory);
	public static void DidAddActionSet (this IHMHomeDelegate This, HMHome home, HMActionSet actionSet);
	public static void DidAddRoom (this IHMHomeDelegate This, HMHome home, HMRoom room);
	public static void DidAddRoomToZone (this IHMHomeDelegate This, HMHome home, HMRoom room, HMZone zone);
	public static void DidAddService (this IHMHomeDelegate This, HMHome home, HMService service, HMServiceGroup group);
	public static void DidAddServiceGroup (this IHMHomeDelegate This, HMHome home, HMServiceGroup group);
	public static void DidAddTrigger (this IHMHomeDelegate This, HMHome home, HMTrigger trigger);
	public static void DidAddUser (this IHMHomeDelegate This, HMHome home, HMUser user);
	public static void DidAddZone (this IHMHomeDelegate This, HMHome home, HMZone zone);
	public static void DidEncounterError (this IHMHomeDelegate This, HMHome home, Foundation.NSError error, HMAccessory accessory);
	public static void DidRemoveAccessory (this IHMHomeDelegate This, HMHome home, HMAccessory accessory);
	public static void DidRemoveActionSet (this IHMHomeDelegate This, HMHome home, HMActionSet actionSet);
	public static void DidRemoveRoom (this IHMHomeDelegate This, HMHome home, HMRoom room);
	public static void DidRemoveRoomFromZone (this IHMHomeDelegate This, HMHome home, HMRoom room, HMZone zone);
	public static void DidRemoveService (this IHMHomeDelegate This, HMHome home, HMService service, HMServiceGroup group);
	public static void DidRemoveServiceGroup (this IHMHomeDelegate This, HMHome home, HMServiceGroup group);
	public static void DidRemoveTrigger (this IHMHomeDelegate This, HMHome home, HMTrigger trigger);
	public static void DidRemoveUser (this IHMHomeDelegate This, HMHome home, HMUser user);
	public static void DidRemoveZone (this IHMHomeDelegate This, HMHome home, HMZone zone);
	public static void DidUnblockAccessory (this IHMHomeDelegate This, HMHome home, HMAccessory accessory);
	public static void DidUpdateAccessControlForCurrentUser (this IHMHomeDelegate This, HMHome home);
	public static void DidUpdateActionsForActionSet (this IHMHomeDelegate This, HMHome home, HMActionSet actionSet);
	public static void DidUpdateHomeHubState (this IHMHomeDelegate This, HMHome home, HMHomeHubState homeHubState);
	public static void DidUpdateNameForActionSet (this IHMHomeDelegate This, HMHome home, HMActionSet actionSet);
	public static void DidUpdateNameForHome (this IHMHomeDelegate This, HMHome home);
	public static void DidUpdateNameForRoom (this IHMHomeDelegate This, HMHome home, HMRoom room);
	public static void DidUpdateNameForServiceGroup (this IHMHomeDelegate This, HMHome home, HMServiceGroup group);
	public static void DidUpdateNameForTrigger (this IHMHomeDelegate This, HMHome home, HMTrigger trigger);
	public static void DidUpdateNameForZone (this IHMHomeDelegate This, HMHome home, HMZone zone);
	public static void DidUpdateRoom (this IHMHomeDelegate This, HMHome home, HMRoom room, HMAccessory accessory);
	public static void DidUpdateSupportedFeatures (this IHMHomeDelegate This, HMHome home);
	public static void DidUpdateTrigger (this IHMHomeDelegate This, HMHome home, HMTrigger trigger);
}

New Type: HomeKit.HMHomeErrorAccessoryEventArgs

public class HMHomeErrorAccessoryEventArgs : System.EventArgs {
	// constructors
	public HMHomeErrorAccessoryEventArgs (Foundation.NSError error, HMAccessory accessory);
	// properties
	public HMAccessory Accessory { get; set; }
	public Foundation.NSError Error { get; set; }
}

New Type: HomeKit.HMHomeHubState

[Serializable]
public enum HMHomeHubState {
	Connected = 1,
	Disconnected = 2,
	NotAvailable = 0,
}

New Type: HomeKit.HMHomeHubStateEventArgs

public class HMHomeHubStateEventArgs : System.EventArgs {
	// constructors
	public HMHomeHubStateEventArgs (HMHomeHubState homeHubState);
	// properties
	public HMHomeHubState HomeHubState { get; set; }
}

New Type: HomeKit.HMHomeManager

public class HMHomeManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMHomeManager ();
	protected HMHomeManager (Foundation.NSObjectFlag t);
	protected HMHomeManager (IntPtr handle);
	// properties
	public virtual HMHomeManagerAuthorizationStatus AuthorizationStatus { get; }
	public override IntPtr ClassHandle { get; }
	public IHMHomeManagerDelegate Delegate { get; set; }
	public virtual HMHome[] Homes { get; }
	public virtual HMHome PrimaryHome { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<HMHomeManagerEventArgs> DidAddHome;
	public event System.EventHandler<HMHomeManagerAddAccessoryRequestEventArgs> DidReceiveAddAccessoryRequest;
	public event System.EventHandler<HMHomeManagerEventArgs> DidRemoveHome;
	public event System.EventHandler<HMHomeManagerAuthorizationStatusEventArgs> DidUpdateAuthorizationStatus;
	public event System.EventHandler DidUpdateHomes;
	public event System.EventHandler DidUpdatePrimaryHome;
	// methods
	public virtual void AddHome (string homeName, System.Action<HMHome,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<HMHome> AddHomeAsync (string homeName);
	protected override void Dispose (bool disposing);
	public virtual void RemoveHome (HMHome home, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveHomeAsync (HMHome home);
	public virtual void UpdatePrimaryHome (HMHome home, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdatePrimaryHomeAsync (HMHome home);
}

New Type: HomeKit.HMHomeManagerAddAccessoryRequestEventArgs

public class HMHomeManagerAddAccessoryRequestEventArgs : System.EventArgs {
	// constructors
	public HMHomeManagerAddAccessoryRequestEventArgs (HMAddAccessoryRequest request);
	// properties
	public HMAddAccessoryRequest Request { get; set; }
}

New Type: HomeKit.HMHomeManagerAuthorizationStatus

[Serializable]
public enum HMHomeManagerAuthorizationStatus {
	Authorized = 4,
	Determined = 1,
	Restricted = 2,
}

New Type: HomeKit.HMHomeManagerAuthorizationStatusEventArgs

public class HMHomeManagerAuthorizationStatusEventArgs : System.EventArgs {
	// constructors
	public HMHomeManagerAuthorizationStatusEventArgs (HMHomeManagerAuthorizationStatus status);
	// properties
	public HMHomeManagerAuthorizationStatus Status { get; set; }
}

New Type: HomeKit.HMHomeManagerDelegate

public class HMHomeManagerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMHomeManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMHomeManagerDelegate ();
	protected HMHomeManagerDelegate (Foundation.NSObjectFlag t);
	protected HMHomeManagerDelegate (IntPtr handle);
	// methods
	public virtual void DidAddHome (HMHomeManager manager, HMHome home);
	public virtual void DidReceiveAddAccessoryRequest (HMHomeManager manager, HMAddAccessoryRequest request);
	public virtual void DidRemoveHome (HMHomeManager manager, HMHome home);
	public virtual void DidUpdateAuthorizationStatus (HMHomeManager manager, HMHomeManagerAuthorizationStatus status);
	public virtual void DidUpdateHomes (HMHomeManager manager);
	public virtual void DidUpdatePrimaryHome (HMHomeManager manager);
}

New Type: HomeKit.HMHomeManagerDelegate_Extensions

public static class HMHomeManagerDelegate_Extensions {
	// methods
	public static void DidAddHome (this IHMHomeManagerDelegate This, HMHomeManager manager, HMHome home);
	public static void DidReceiveAddAccessoryRequest (this IHMHomeManagerDelegate This, HMHomeManager manager, HMAddAccessoryRequest request);
	public static void DidRemoveHome (this IHMHomeManagerDelegate This, HMHomeManager manager, HMHome home);
	public static void DidUpdateAuthorizationStatus (this IHMHomeManagerDelegate This, HMHomeManager manager, HMHomeManagerAuthorizationStatus status);
	public static void DidUpdateHomes (this IHMHomeManagerDelegate This, HMHomeManager manager);
	public static void DidUpdatePrimaryHome (this IHMHomeManagerDelegate This, HMHomeManager manager);
}

New Type: HomeKit.HMHomeManagerEventArgs

public class HMHomeManagerEventArgs : System.EventArgs {
	// constructors
	public HMHomeManagerEventArgs (HMHome home);
	// properties
	public HMHome Home { get; set; }
}

New Type: HomeKit.HMHomeRoomAccessoryEventArgs

public class HMHomeRoomAccessoryEventArgs : System.EventArgs {
	// constructors
	public HMHomeRoomAccessoryEventArgs (HMRoom room, HMAccessory accessory);
	// properties
	public HMAccessory Accessory { get; set; }
	public HMRoom Room { get; set; }
}

New Type: HomeKit.HMHomeRoomEventArgs

public class HMHomeRoomEventArgs : System.EventArgs {
	// constructors
	public HMHomeRoomEventArgs (HMRoom room);
	// properties
	public HMRoom Room { get; set; }
}

New Type: HomeKit.HMHomeRoomZoneEventArgs

public class HMHomeRoomZoneEventArgs : System.EventArgs {
	// constructors
	public HMHomeRoomZoneEventArgs (HMRoom room, HMZone zone);
	// properties
	public HMRoom Room { get; set; }
	public HMZone Zone { get; set; }
}

New Type: HomeKit.HMHomeServiceGroupEventArgs

public class HMHomeServiceGroupEventArgs : System.EventArgs {
	// constructors
	public HMHomeServiceGroupEventArgs (HMServiceGroup group);
	// properties
	public HMServiceGroup Group { get; set; }
}

New Type: HomeKit.HMHomeServiceServiceGroupEventArgs

public class HMHomeServiceServiceGroupEventArgs : System.EventArgs {
	// constructors
	public HMHomeServiceServiceGroupEventArgs (HMService service, HMServiceGroup group);
	// properties
	public HMServiceGroup Group { get; set; }
	public HMService Service { get; set; }
}

New Type: HomeKit.HMHomeTriggerEventArgs

public class HMHomeTriggerEventArgs : System.EventArgs {
	// constructors
	public HMHomeTriggerEventArgs (HMTrigger trigger);
	// properties
	public HMTrigger Trigger { get; set; }
}

New Type: HomeKit.HMHomeUserEventArgs

public class HMHomeUserEventArgs : System.EventArgs {
	// constructors
	public HMHomeUserEventArgs (HMUser user);
	// properties
	public HMUser User { get; set; }
}

New Type: HomeKit.HMHomeZoneEventArgs

public class HMHomeZoneEventArgs : System.EventArgs {
	// constructors
	public HMHomeZoneEventArgs (HMZone zone);
	// properties
	public HMZone Zone { get; set; }
}

New Type: HomeKit.HMLocationEvent

public class HMLocationEvent : HomeKit.HMEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMLocationEvent (CoreLocation.CLRegion region);
	protected HMLocationEvent (Foundation.NSObjectFlag t);
	protected HMLocationEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreLocation.CLRegion Region { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
	public virtual void UpdateRegion (CoreLocation.CLRegion region, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateRegionAsync (CoreLocation.CLRegion region);
}

New Type: HomeKit.HMMutableCalendarEvent

public class HMMutableCalendarEvent : HomeKit.HMCalendarEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMutableCalendarEvent (Foundation.NSDateComponents fireDateComponents);
	protected HMMutableCalendarEvent (Foundation.NSObjectFlag t);
	protected HMMutableCalendarEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override Foundation.NSDateComponents FireDateComponents { get; set; }
}

New Type: HomeKit.HMMutableCharacteristicEvent

public class HMMutableCharacteristicEvent : HomeKit.HMCharacteristicEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMMutableCharacteristicEvent (Foundation.NSObjectFlag t);
	protected HMMutableCharacteristicEvent (IntPtr handle);
	public HMMutableCharacteristicEvent (HMCharacteristic characteristic, Foundation.INSCopying triggerValue);
	// properties
	public override HMCharacteristic Characteristic { get; set; }
	public override IntPtr ClassHandle { get; }
	public override Foundation.INSCopying TriggerValue { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMMutableCharacteristicThresholdRangeEvent

public class HMMutableCharacteristicThresholdRangeEvent : HomeKit.HMCharacteristicThresholdRangeEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMMutableCharacteristicThresholdRangeEvent (Foundation.NSObjectFlag t);
	protected HMMutableCharacteristicThresholdRangeEvent (IntPtr handle);
	public HMMutableCharacteristicThresholdRangeEvent (HMCharacteristic characteristic, HMNumberRange thresholdRange);
	// properties
	public override HMCharacteristic Characteristic { get; set; }
	public override IntPtr ClassHandle { get; }
	public override HMNumberRange ThresholdRange { get; set; }
}

New Type: HomeKit.HMMutableDurationEvent

public class HMMutableDurationEvent : HomeKit.HMDurationEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMMutableDurationEvent (Foundation.NSObjectFlag t);
	public HMMutableDurationEvent (double duration);
	protected HMMutableDurationEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override double Duration { get; set; }
}

New Type: HomeKit.HMMutableLocationEvent

public class HMMutableLocationEvent : HomeKit.HMLocationEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMutableLocationEvent (CoreLocation.CLRegion region);
	protected HMMutableLocationEvent (Foundation.NSObjectFlag t);
	protected HMMutableLocationEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public override CoreLocation.CLRegion Region { get; set; }
}

New Type: HomeKit.HMMutablePresenceEvent

public class HMMutablePresenceEvent : HomeKit.HMPresenceEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMMutablePresenceEvent (Foundation.NSObjectFlag t);
	protected HMMutablePresenceEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual HMPresenceEventType PresenceEventType { get; set; }
	public virtual HMPresenceEventUserType PresenceUserType { get; set; }
}

New Type: HomeKit.HMMutableSignificantTimeEvent

public class HMMutableSignificantTimeEvent : HomeKit.HMSignificantTimeEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMMutableSignificantTimeEvent ();
	protected HMMutableSignificantTimeEvent (Foundation.NSObjectFlag t);
	protected HMMutableSignificantTimeEvent (IntPtr handle);
	public HMMutableSignificantTimeEvent (Foundation.NSString significantEvent, Foundation.NSDateComponents offset);
	public HMMutableSignificantTimeEvent (HMSignificantEvent significantEvent, Foundation.NSDateComponents offset);
	// properties
	public override IntPtr ClassHandle { get; }
	public override Foundation.NSDateComponents Offset { get; set; }
	public virtual HMSignificantEvent SignificantEvent { get; set; }
	public override Foundation.NSString WeakSignificantEvent { get; set; }
}

New Type: HomeKit.HMNetworkConfigurationProfile

public class HMNetworkConfigurationProfile : HomeKit.HMAccessoryProfile, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMNetworkConfigurationProfile (Foundation.NSObjectFlag t);
	protected HMNetworkConfigurationProfile (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IHMNetworkConfigurationProfileDelegate Delegate { get; set; }
	public virtual bool NetworkAccessRestricted { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: HomeKit.HMNetworkConfigurationProfileDelegate

public class HMNetworkConfigurationProfileDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IHMNetworkConfigurationProfileDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMNetworkConfigurationProfileDelegate ();
	protected HMNetworkConfigurationProfileDelegate (Foundation.NSObjectFlag t);
	protected HMNetworkConfigurationProfileDelegate (IntPtr handle);
	// methods
	public virtual void DidUpdateNetworkAccessMode (HMNetworkConfigurationProfile profile);
}

New Type: HomeKit.HMNetworkConfigurationProfileDelegate_Extensions

public static class HMNetworkConfigurationProfileDelegate_Extensions {
	// methods
	public static void DidUpdateNetworkAccessMode (this IHMNetworkConfigurationProfileDelegate This, HMNetworkConfigurationProfile profile);
}

New Type: HomeKit.HMNumberRange

public class HMNumberRange : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMNumberRange (Foundation.NSObjectFlag t);
	protected HMNumberRange (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber Max { get; }
	public virtual Foundation.NSNumber Min { get; }
	// methods
	public static HMNumberRange FromMax (Foundation.NSNumber maxValue);
	public static HMNumberRange FromMin (Foundation.NSNumber minValue);
	public static HMNumberRange FromRange (Foundation.NSNumber minValue, Foundation.NSNumber maxValue);
}

New Type: HomeKit.HMPresenceEvent

public class HMPresenceEvent : HomeKit.HMEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMPresenceEvent (Foundation.NSObjectFlag t);
	protected HMPresenceEvent (IntPtr handle);
	public HMPresenceEvent (HMPresenceEventType presenceEventType, HMPresenceEventUserType presenceUserType);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString KeyPath { get; }
	public virtual HMPresenceEventType PresenceEventType { get; set; }
	public virtual HMPresenceEventUserType PresenceUserType { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMPresenceEventType

[Serializable]
public enum HMPresenceEventType {
	AtHome = 3,
	EveryEntry = 1,
	EveryExit = 2,
	FirstEntry = 3,
	LastExit = 4,
	NotAtHome = 4,
}

New Type: HomeKit.HMPresenceEventUserType

[Serializable]
public enum HMPresenceEventUserType {
	CurrentUser = 1,
	CustomUsers = 3,
	HomeUsers = 2,
}

New Type: HomeKit.HMRoom

public class HMRoom : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMRoom (Foundation.NSObjectFlag t);
	protected HMRoom (IntPtr handle);
	// properties
	public virtual HMAccessory[] Accessories { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMService

public class HMService : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMService ();
	protected HMService (Foundation.NSObjectFlag t);
	protected HMService (IntPtr handle);
	// properties
	public virtual HMAccessory Accessory { get; }
	public virtual string AssociatedServiceType { get; }
	public virtual HMCharacteristic[] Characteristics { get; }
	public override IntPtr ClassHandle { get; }
	public virtual HMService[] LinkedServices { get; }
	public virtual string LocalizedDescription { get; }
	public virtual string Name { get; }
	public virtual bool PrimaryService { get; }
	public HMServiceType ServiceType { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	public virtual bool UserInteractive { get; }
	public virtual Foundation.NSString WeakServiceType { get; }
	// methods
	protected override void Dispose (bool disposing);
	public void UpdateAssociatedServiceType (HMServiceType serviceType, System.Action<Foundation.NSError> completion);
	public virtual void UpdateAssociatedServiceType (string serviceType, System.Action<Foundation.NSError> completion);
	public System.Threading.Tasks.Task UpdateAssociatedServiceTypeAsync (HMServiceType serviceType);
	public virtual System.Threading.Tasks.Task UpdateAssociatedServiceTypeAsync (string serviceType);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public System.Threading.Tasks.Task UpdateNameAsync (HMServiceType serviceType);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMServiceGroup

public class HMServiceGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMServiceGroup (Foundation.NSObjectFlag t);
	protected HMServiceGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual HMService[] Services { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public virtual void AddService (HMService service, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddServiceAsync (HMService service);
	public virtual void RemoveService (HMService service, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveServiceAsync (HMService service);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMServiceType

[Serializable]
public enum HMServiceType {
	AccessoryInformation = 5,
	AirPurifier = 33,
	AirQualitySensor = 10,
	Battery = 11,
	CameraControl = 29,
	CameraRtpStreamManagement = 28,
	CarbonDioxideSensor = 12,
	CarbonMonoxideSensor = 13,
	ContactSensor = 14,
	Door = 15,
	Doorbell = 32,
	Fan = 6,
	Faucet = 42,
	FilterMaintenance = 35,
	GarageDoorOpener = 4,
	HeaterCooler = 36,
	HumidifierDehumidifier = 37,
	HumiditySensor = 16,
	IrrigationSystem = 40,
	Label = 39,
	LeakSensor = 17,
	LightBulb = 1,
	LightSensor = 18,
	LockManagement = 9,
	LockMechanism = 8,
	Microphone = 30,
	MotionSensor = 19,
	None = 0,
	OccupancySensor = 20,
	Outlet = 7,
	SecuritySystem = 21,
	Slats = 38,
	SmokeSensor = 24,
	Speaker = 31,
	StatefulProgrammableSwitch = 22,
	StatelessProgrammableSwitch = 23,
	Switch = 2,
	TemperatureSensor = 25,
	Thermostat = 3,
	Valve = 41,
	VentilationFan = 34,
	Window = 26,
	WindowCovering = 27,
}

New Type: HomeKit.HMServiceTypeExtensions

public static class HMServiceTypeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HMServiceType self);
	public static HMServiceType GetValue (Foundation.NSString constant);
}

New Type: HomeKit.HMSignificantEvent

[Serializable]
public enum HMSignificantEvent {
	Sunrise = 0,
	Sunset = 1,
}

New Type: HomeKit.HMSignificantEventExtensions

public static class HMSignificantEventExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HMSignificantEvent self);
	public static HMSignificantEvent GetValue (Foundation.NSString constant);
}

New Type: HomeKit.HMSignificantTimeEvent

public class HMSignificantTimeEvent : HomeKit.HMTimeEvent, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMSignificantTimeEvent (Foundation.NSObjectFlag t);
	protected HMSignificantTimeEvent (IntPtr handle);
	public HMSignificantTimeEvent (Foundation.NSString significantEvent, Foundation.NSDateComponents offset);
	public HMSignificantTimeEvent (HMSignificantEvent significantEvent, Foundation.NSDateComponents offset);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDateComponents Offset { get; set; }
	public virtual HMSignificantEvent SignificantEvent { get; set; }
	public virtual Foundation.NSString WeakSignificantEvent { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: HomeKit.HMTimeEvent

public class HMTimeEvent : HomeKit.HMEvent, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public HMTimeEvent ();
	protected HMTimeEvent (Foundation.NSObjectFlag t);
	protected HMTimeEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: HomeKit.HMTimerTrigger

public class HMTimerTrigger : HomeKit.HMTrigger, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMTimerTrigger (Foundation.NSObjectFlag t);
	protected HMTimerTrigger (IntPtr handle);
	public HMTimerTrigger (string name, Foundation.NSDate fireDate, Foundation.NSTimeZone timeZone, Foundation.NSDateComponents recurrence, Foundation.NSCalendar recurrenceCalendar);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate FireDate { get; }
	public virtual Foundation.NSDateComponents Recurrence { get; }
	public virtual Foundation.NSCalendar RecurrenceCalendar { get; }
	public virtual Foundation.NSTimeZone TimeZone { get; }
	// methods
	public virtual void UpdateFireDate (Foundation.NSDate fireDate, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateFireDateAsync (Foundation.NSDate fireDate);
	public virtual void UpdateRecurrence (Foundation.NSDateComponents recurrence, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateRecurrenceAsync (Foundation.NSDateComponents recurrence);
	public virtual void UpdateTimeZone (Foundation.NSTimeZone timeZone, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateTimeZoneAsync (Foundation.NSTimeZone timeZone);
}

New Type: HomeKit.HMTrigger

public class HMTrigger : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMTrigger (Foundation.NSObjectFlag t);
	protected HMTrigger (IntPtr handle);
	// properties
	public virtual HMActionSet[] ActionSets { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; }
	public virtual Foundation.NSDate LastFireDate { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public virtual void AddActionSet (HMActionSet actionSet, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddActionSetAsync (HMActionSet actionSet);
	public virtual void Enable (bool enable, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task EnableAsync (bool enable);
	public virtual void RemoveActionSet (HMActionSet actionSet, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveActionSetAsync (HMActionSet actionSet);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.HMUser

public class HMUser : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMUser (Foundation.NSObjectFlag t);
	protected HMUser (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
}

New Type: HomeKit.HMZone

public class HMZone : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected HMZone (Foundation.NSObjectFlag t);
	protected HMZone (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual HMRoom[] Rooms { get; }
	public virtual Foundation.NSUuid UniqueIdentifier { get; }
	// methods
	public virtual void AddRoom (HMRoom room, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task AddRoomAsync (HMRoom room);
	public virtual void RemoveRoom (HMRoom room, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task RemoveRoomAsync (HMRoom room);
	public virtual void UpdateName (string name, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task UpdateNameAsync (string name);
}

New Type: HomeKit.IHMAccessoryBrowserDelegate

public interface IHMAccessoryBrowserDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMAccessoryDelegate

public interface IHMAccessoryDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMCameraSnapshotControlDelegate

public interface IHMCameraSnapshotControlDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMCameraStreamControlDelegate

public interface IHMCameraStreamControlDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMHomeDelegate

public interface IHMHomeDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMHomeManagerDelegate

public interface IHMHomeManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: HomeKit.IHMNetworkConfigurationProfileDelegate

public interface IHMNetworkConfigurationProfileDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Namespace IdentityLookupUI

New Type: IdentityLookupUI.ILClassificationUIExtensionContext

public class ILClassificationUIExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ILClassificationUIExtensionContext ();
	protected ILClassificationUIExtensionContext (Foundation.NSObjectFlag t);
	protected ILClassificationUIExtensionContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool ReadyForClassificationResponse { get; set; }
}

New Type: IdentityLookupUI.ILClassificationUIExtensionViewController

public class ILClassificationUIExtensionViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ILClassificationUIExtensionViewController ();
	public ILClassificationUIExtensionViewController (Foundation.NSCoder coder);
	protected ILClassificationUIExtensionViewController (Foundation.NSObjectFlag t);
	protected ILClassificationUIExtensionViewController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual ILClassificationUIExtensionContext ExtensionContext { get; }
	// methods
	public virtual IdentityLookup.ILClassificationResponse GetClassificationResponse (IdentityLookup.ILClassificationRequest request);
	public virtual void Prepare (IdentityLookup.ILClassificationRequest request);
}

New Namespace IntentsUI

New Type: IntentsUI.IINUIAddVoiceShortcutButtonDelegate

public interface IINUIAddVoiceShortcutButtonDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
	public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
}

New Type: IntentsUI.IINUIAddVoiceShortcutViewControllerDelegate

public interface IINUIAddVoiceShortcutViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidCancel (INUIAddVoiceShortcutViewController controller);
	public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.IINUIEditVoiceShortcutViewControllerDelegate

public interface IINUIEditVoiceShortcutViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidCancel (INUIEditVoiceShortcutViewController controller);
	public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier);
	public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.IINUIHostedViewControlling

public interface IINUIHostedViewControlling : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void Configure (Intents.INInteraction interaction, INUIHostedViewContext context, System.Action<CoreGraphics.CGSize> completion);
}

New Type: IntentsUI.IINUIHostedViewSiriProviding

public interface IINUIHostedViewSiriProviding : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: IntentsUI.INUIAddVoiceShortcutButton

public class INUIAddVoiceShortcutButton : UIKit.UIButton, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityContentSizeCategoryImageAdjusting, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContextMenuInteractionDelegate, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUISpringLoadedInteractionSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public INUIAddVoiceShortcutButton (Foundation.NSCoder coder);
	protected INUIAddVoiceShortcutButton (Foundation.NSObjectFlag t);
	public INUIAddVoiceShortcutButton (INUIAddVoiceShortcutButtonStyle style);
	protected INUIAddVoiceShortcutButton (IntPtr handle);
	// properties
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat CornerRadius { get; set; }
	public IINUIAddVoiceShortcutButtonDelegate Delegate { get; set; }
	public virtual Intents.INShortcut Shortcut { get; set; }
	public virtual INUIAddVoiceShortcutButtonStyle Style { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> ();
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetStyle (INUIAddVoiceShortcutButtonStyle style);

	// inner types
	public class INUIAddVoiceShortcutButtonAppearance : UIKit.UIButton+UIButtonAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected INUIAddVoiceShortcutButton.INUIAddVoiceShortcutButtonAppearance (IntPtr handle);
	}
}

New Type: IntentsUI.INUIAddVoiceShortcutButtonDelegate

public abstract class INUIAddVoiceShortcutButtonDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIAddVoiceShortcutButtonDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INUIAddVoiceShortcutButtonDelegate ();
	protected INUIAddVoiceShortcutButtonDelegate (Foundation.NSObjectFlag t);
	protected INUIAddVoiceShortcutButtonDelegate (IntPtr handle);
	// methods
	public virtual void PresentAddVoiceShortcut (INUIAddVoiceShortcutViewController addVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
	public virtual void PresentEditVoiceShortcut (INUIEditVoiceShortcutViewController editVoiceShortcutViewController, INUIAddVoiceShortcutButton addVoiceShortcutButton);
}

New Type: IntentsUI.INUIAddVoiceShortcutButtonStyle

[Serializable]
public enum INUIAddVoiceShortcutButtonStyle {
	Automatic = 4,
	AutomaticOutLine = 5,
	Black = 2,
	BlackOutline = 3,
	White = 0,
	WhiteOutline = 1,
}

New Type: IntentsUI.INUIAddVoiceShortcutViewController

public class INUIAddVoiceShortcutViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public INUIAddVoiceShortcutViewController (Foundation.NSCoder coder);
	protected INUIAddVoiceShortcutViewController (Foundation.NSObjectFlag t);
	public INUIAddVoiceShortcutViewController (Intents.INShortcut shortcut);
	protected INUIAddVoiceShortcutViewController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IINUIAddVoiceShortcutViewControllerDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: IntentsUI.INUIAddVoiceShortcutViewControllerDelegate

public abstract class INUIAddVoiceShortcutViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIAddVoiceShortcutViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INUIAddVoiceShortcutViewControllerDelegate ();
	protected INUIAddVoiceShortcutViewControllerDelegate (Foundation.NSObjectFlag t);
	protected INUIAddVoiceShortcutViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidCancel (INUIAddVoiceShortcutViewController controller);
	public virtual void DidFinish (INUIAddVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.INUIEditVoiceShortcutViewController

public class INUIEditVoiceShortcutViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public INUIEditVoiceShortcutViewController (Foundation.NSCoder coder);
	protected INUIEditVoiceShortcutViewController (Foundation.NSObjectFlag t);
	public INUIEditVoiceShortcutViewController (Intents.INVoiceShortcut voiceShortcut);
	protected INUIEditVoiceShortcutViewController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IINUIEditVoiceShortcutViewControllerDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: IntentsUI.INUIEditVoiceShortcutViewControllerDelegate

public abstract class INUIEditVoiceShortcutViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IINUIEditVoiceShortcutViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INUIEditVoiceShortcutViewControllerDelegate ();
	protected INUIEditVoiceShortcutViewControllerDelegate (Foundation.NSObjectFlag t);
	protected INUIEditVoiceShortcutViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidCancel (INUIEditVoiceShortcutViewController controller);
	public virtual void DidDelete (INUIEditVoiceShortcutViewController controller, Foundation.NSUuid deletedVoiceShortcutIdentifier);
	public virtual void DidUpdate (INUIEditVoiceShortcutViewController controller, Intents.INVoiceShortcut voiceShortcut, Foundation.NSError error);
}

New Type: IntentsUI.INUIHostedViewContext

[Serializable]
public enum INUIHostedViewContext {
	MapsCard = 1,
	SiriSnippet = 0,
}

New Type: IntentsUI.INUIHostedViewControllingConfigureViewHandler

public sealed delegate INUIHostedViewControllingConfigureViewHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public INUIHostedViewControllingConfigureViewHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool success, Foundation.NSSet<Intents.INParameter> configuredParameters, CoreGraphics.CGSize desiredSize, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool success, Foundation.NSSet<Intents.INParameter> configuredParameters, CoreGraphics.CGSize desiredSize);
}

New Type: IntentsUI.INUIHostedViewControlling_Extensions

public static class INUIHostedViewControlling_Extensions {
	// methods
	public static void ConfigureView (this IINUIHostedViewControlling This, Foundation.NSSet<Intents.INParameter> parameters, Intents.INInteraction interaction, INUIInteractiveBehavior interactiveBehavior, INUIHostedViewContext context, INUIHostedViewControllingConfigureViewHandler completionHandler);
}

New Type: IntentsUI.INUIHostedViewSiriProviding_Extensions

public static class INUIHostedViewSiriProviding_Extensions {
	// methods
	public static bool GetDisplaysMap (this IINUIHostedViewSiriProviding This);
	public static bool GetDisplaysMessage (this IINUIHostedViewSiriProviding This);
	public static bool GetDisplaysPaymentTransaction (this IINUIHostedViewSiriProviding This);
}

New Type: IntentsUI.INUIInteractiveBehavior

[Serializable]
public enum INUIInteractiveBehavior {
	GenericAction = 3,
	Launch = 2,
	NextView = 1,
	None = 0,
}

New Type: IntentsUI.NSExtensionContext_INUIHostedViewControlling

public static class NSExtensionContext_INUIHostedViewControlling {
	// methods
	public static CoreGraphics.CGSize GetHostedViewMaximumAllowedSize (this Foundation.NSExtensionContext This);
	public static CoreGraphics.CGSize GetHostedViewMinimumAllowedSize (this Foundation.NSExtensionContext This);
	public static string GetInterfaceParametersDescription (this Foundation.NSExtensionContext This);
}

New Namespace MediaSetup

New Type: MediaSetup.IMSAuthenticationPresentationContext

public interface IMSAuthenticationPresentationContext : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIKit.UIWindow PresentationAnchor { get; }
}

New Type: MediaSetup.MSServiceAccount

public class MSServiceAccount : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSServiceAccount (Foundation.NSObjectFlag t);
	protected MSServiceAccount (IntPtr handle);
	public MSServiceAccount (string serviceName, string accountName);
	// properties
	public virtual string AccountName { get; }
	public virtual string AuthorizationScope { get; set; }
	public virtual Foundation.NSUrl AuthorizationTokenUrl { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string ClientId { get; set; }
	public virtual string ClientSecret { get; set; }
	public virtual Foundation.NSUrl ConfigurationUrl { get; set; }
	public virtual string ServiceName { get; }
}

New Type: MediaSetup.MSSetupSession

public class MSSetupSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSSetupSession (Foundation.NSObjectFlag t);
	public MSSetupSession (MSServiceAccount serviceAccount);
	protected MSSetupSession (IntPtr handle);
	// properties
	public virtual MSServiceAccount Account { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IMSAuthenticationPresentationContext PresentationContext { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual bool Start (out Foundation.NSError error);
}

New Namespace MessageUI

New Type: MessageUI.IMFMailComposeViewControllerDelegate

public interface IMFMailComposeViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable, UIKit.IUINavigationControllerDelegate {
}

New Type: MessageUI.IMFMessageComposeViewControllerDelegate

public interface IMFMessageComposeViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void Finished (MFMessageComposeViewController controller, MessageComposeResult result);
}

New Type: MessageUI.MFComposeResultEventArgs

public class MFComposeResultEventArgs : System.EventArgs {
	// constructors
	public MFComposeResultEventArgs (MFMailComposeViewController controller, MFMailComposeResult result, Foundation.NSError error);
	// properties
	public MFMailComposeViewController Controller { get; }
	public Foundation.NSError Error { get; }
	public MFMailComposeResult Result { get; }
}

New Type: MessageUI.MFMailComposeErrorCode

[Serializable]
public enum MFMailComposeErrorCode {
	SaveFailed = 0,
	SendFailed = 1,
}

New Type: MessageUI.MFMailComposeErrorCodeExtensions

public static class MFMailComposeErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this MFMailComposeErrorCode self);
}

New Type: MessageUI.MFMailComposeResult

[Serializable]
public enum MFMailComposeResult {
	Cancelled = 0,
	Failed = 3,
	Saved = 1,
	Sent = 2,
}

New Type: MessageUI.MFMailComposeViewController

public class MFMailComposeViewController : UIKit.UINavigationController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MFMailComposeViewController ();
	public MFMailComposeViewController (Foundation.NSCoder coder);
	protected MFMailComposeViewController (Foundation.NSObjectFlag t);
	protected MFMailComposeViewController (IntPtr handle);
	// properties
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance Appearance { get; }
	public static bool CanSendMail { get; }
	public override IntPtr ClassHandle { get; }
	public IMFMailComposeViewControllerDelegate MailComposeDelegate { get; set; }
	public virtual Foundation.NSObject WeakMailComposeDelegate { get; set; }
	// events
	public event System.EventHandler<MFComposeResultEventArgs> Finished;
	// methods
	public virtual void AddAttachmentData (Foundation.NSData attachment, string mimeType, string fileName);
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance GetAppearance<T> ();
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static MFMailComposeViewController.MFMailComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void SetBccRecipients (string[] bccRecipients);
	public virtual void SetCcRecipients (string[] ccRecipients);
	public virtual void SetMessageBody (string body, bool isHtml);
	public virtual void SetPreferredSendingEmailAddress (string emailAddress);
	public virtual void SetSubject (string subject);
	public virtual void SetToRecipients (string[] recipients);

	// inner types
	public class MFMailComposeViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected MFMailComposeViewController.MFMailComposeViewControllerAppearance (IntPtr handle);
	}
}

New Type: MessageUI.MFMailComposeViewControllerDelegate

public class MFMailComposeViewControllerDelegate : UIKit.UINavigationControllerDelegate, Foundation.INSObjectProtocol, IMFMailComposeViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUINavigationControllerDelegate {
	// constructors
	public MFMailComposeViewControllerDelegate ();
	protected MFMailComposeViewControllerDelegate (Foundation.NSObjectFlag t);
	protected MFMailComposeViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void Finished (MFMailComposeViewController controller, MFMailComposeResult result, Foundation.NSError error);
}

New Type: MessageUI.MFMailComposeViewControllerDelegate_Extensions

public static class MFMailComposeViewControllerDelegate_Extensions {
	// methods
	public static void Finished (this IMFMailComposeViewControllerDelegate This, MFMailComposeViewController controller, MFMailComposeResult result, Foundation.NSError error);
}

New Type: MessageUI.MFMessageAvailabilityChangedEventArgs

public class MFMessageAvailabilityChangedEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public MFMessageAvailabilityChangedEventArgs (Foundation.NSNotification notification);
	// properties
	public bool TextMessageAvailability { get; }
}

New Type: MessageUI.MFMessageComposeResultEventArgs

public class MFMessageComposeResultEventArgs : System.EventArgs {
	// constructors
	public MFMessageComposeResultEventArgs (MFMessageComposeViewController controller, MessageComposeResult result);
	// properties
	public MFMessageComposeViewController Controller { get; }
	public MessageComposeResult Result { get; }
}

New Type: MessageUI.MFMessageComposeViewController

public class MFMessageComposeViewController : UIKit.UINavigationController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MFMessageComposeViewController ();
	public MFMessageComposeViewController (Foundation.NSCoder coder);
	protected MFMessageComposeViewController (Foundation.NSObjectFlag t);
	protected MFMessageComposeViewController (IntPtr handle);
	// properties
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance Appearance { get; }
	public static Foundation.NSString AttachmentAlternateFilename { get; }
	public static Foundation.NSString AttachmentURL { get; }
	public virtual string Body { get; set; }
	public static bool CanSendAttachments { get; }
	public static bool CanSendSubject { get; }
	public static bool CanSendText { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Messages.MSMessage Message { get; set; }
	public IMFMessageComposeViewControllerDelegate MessageComposeDelegate { get; set; }
	public virtual string[] Recipients { get; set; }
	public virtual string Subject { get; set; }
	public static Foundation.NSString TextMessageAvailabilityDidChangeNotification { get; }
	public static Foundation.NSString TextMessageAvailabilityKey { get; }
	public virtual Foundation.NSObject WeakMessageComposeDelegate { get; set; }
	// events
	public event System.EventHandler<MFMessageComposeResultEventArgs> Finished;
	// methods
	public virtual bool AddAttachment (Foundation.NSUrl attachmentURL, string alternateFilename);
	public virtual bool AddAttachment (Foundation.NSData attachmentData, string uti, string filename);
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void DisableUserAttachments ();
	protected override void Dispose (bool disposing);
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance GetAppearance<T> ();
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static MFMessageComposeViewController.MFMessageComposeViewControllerAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual Foundation.NSDictionary[] GetAttachments ();
	public static bool IsSupportedAttachment (string uti);

	// inner types
	public class MFMessageComposeViewControllerAppearance : UIKit.UIAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected MFMessageComposeViewController.MFMessageComposeViewControllerAppearance (IntPtr handle);
	}
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveTextMessageAvailabilityDidChange (System.EventHandler<MFMessageAvailabilityChangedEventArgs> handler);
		public static Foundation.NSObject ObserveTextMessageAvailabilityDidChange (Foundation.NSObject objectToObserve, System.EventHandler<MFMessageAvailabilityChangedEventArgs> handler);
	}
}

New Type: MessageUI.MFMessageComposeViewControllerDelegate

public abstract class MFMessageComposeViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, IMFMessageComposeViewControllerDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MFMessageComposeViewControllerDelegate ();
	protected MFMessageComposeViewControllerDelegate (Foundation.NSObjectFlag t);
	protected MFMessageComposeViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void Finished (MFMessageComposeViewController controller, MessageComposeResult result);
}

New Type: MessageUI.MessageComposeResult

[Serializable]
public enum MessageComposeResult {
	Cancelled = 0,
	Failed = 2,
	Sent = 1,
}

New Namespace Messages

New Type: Messages.IMSMessagesAppTranscriptPresentation

public interface IMSMessagesAppTranscriptPresentation : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual CoreGraphics.CGSize GetContentSizeThatFits (CoreGraphics.CGSize size);
}

New Type: Messages.IMSStickerBrowserViewDataSource

public interface IMSStickerBrowserViewDataSource : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual nint GetNumberOfStickers (MSStickerBrowserView stickerBrowserView);
	public virtual MSSticker GetSticker (MSStickerBrowserView stickerBrowserView, nint index);
}

New Type: Messages.MSConversation

public class MSConversation : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MSConversation ();
	protected MSConversation (Foundation.NSObjectFlag t);
	protected MSConversation (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUuid LocalParticipantIdentifier { get; }
	public virtual Foundation.NSUuid[] RemoteParticipantIdentifiers { get; }
	public virtual MSMessage SelectedMessage { get; }
	// methods
	public virtual void InsertAttachment (Foundation.NSUrl url, string filename, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task InsertAttachmentAsync (Foundation.NSUrl url, string filename);
	public virtual void InsertMessage (MSMessage message, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task InsertMessageAsync (MSMessage message);
	public virtual void InsertSticker (MSSticker sticker, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task InsertStickerAsync (MSSticker sticker);
	public virtual void InsertText (string text, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task InsertTextAsync (string text);
	public virtual void SendAttachment (Foundation.NSUrl url, string filename, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendAttachmentAsync (Foundation.NSUrl url, string filename);
	public virtual void SendMessage (MSMessage message, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendMessageAsync (MSMessage message);
	public virtual void SendSticker (MSSticker sticker, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendStickerAsync (MSSticker sticker);
	public virtual void SendText (string text, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendTextAsync (string text);
}

New Type: Messages.MSMessage

public class MSMessage : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MSMessage ();
	public MSMessage (Foundation.NSCoder coder);
	protected MSMessage (Foundation.NSObjectFlag t);
	public MSMessage (MSSession session);
	protected MSMessage (IntPtr handle);
	// properties
	public virtual string AccessibilityLabel { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; set; }
	public virtual MSMessageLayout Layout { get; set; }
	public virtual bool Pending { get; }
	public virtual Foundation.NSUuid SenderParticipantIdentifier { get; }
	public virtual MSSession Session { get; }
	public virtual bool ShouldExpire { get; set; }
	public virtual string SummaryText { get; set; }
	public virtual Foundation.NSUrl Url { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Messages.MSMessageErrorCode

[Serializable]
public enum MSMessageErrorCode {
	APIUnavailableInPresentationContext = 11,
	FileNotFound = 1,
	FileUnreadable = 2,
	ImproperFileType = 3,
	ImproperFileUrl = 4,
	SendWhileNotVisible = 10,
	SendWithoutRecentInteraction = 9,
	StickerFileImproperFileAttributes = 5,
	StickerFileImproperFileFormat = 7,
	StickerFileImproperFileSize = 6,
	Unknown = -1,
	UrlExceedsMaxSize = 8,
}

New Type: Messages.MSMessageErrorCodeExtensions

public static class MSMessageErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this MSMessageErrorCode self);
}

New Type: Messages.MSMessageLayout

public abstract class MSMessageLayout : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSMessageLayout (Foundation.NSObjectFlag t);
	protected MSMessageLayout (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Messages.MSMessageLiveLayout

public class MSMessageLiveLayout : Messages.MSMessageLayout, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSMessageLiveLayout (Foundation.NSObjectFlag t);
	public MSMessageLiveLayout (MSMessageTemplateLayout alternateLayout);
	protected MSMessageLiveLayout (IntPtr handle);
	// properties
	public virtual MSMessageTemplateLayout AlternateLayout { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: Messages.MSMessageTemplateLayout

public class MSMessageTemplateLayout : Messages.MSMessageLayout, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MSMessageTemplateLayout ();
	protected MSMessageTemplateLayout (Foundation.NSObjectFlag t);
	protected MSMessageTemplateLayout (IntPtr handle);
	// properties
	public virtual string Caption { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIImage Image { get; set; }
	public virtual string ImageSubtitle { get; set; }
	public virtual string ImageTitle { get; set; }
	public virtual Foundation.NSUrl MediaFileUrl { get; set; }
	public virtual string Subcaption { get; set; }
	public virtual string TrailingCaption { get; set; }
	public virtual string TrailingSubcaption { get; set; }
}

New Type: Messages.MSMessagesAppPresentationContext

[Serializable]
public enum MSMessagesAppPresentationContext {
	Media = 1,
	Messages = 0,
}

New Type: Messages.MSMessagesAppPresentationStyle

[Serializable]
public enum MSMessagesAppPresentationStyle {
	Compact = 0,
	Expanded = 1,
	Transcript = 2,
}

New Type: Messages.MSMessagesAppViewController

public class MSMessagesAppViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, IMSMessagesAppTranscriptPresentation, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MSMessagesAppViewController ();
	public MSMessagesAppViewController (Foundation.NSCoder coder);
	protected MSMessagesAppViewController (Foundation.NSObjectFlag t);
	protected MSMessagesAppViewController (IntPtr handle);
	public MSMessagesAppViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public virtual MSConversation ActiveConversation { get; }
	public override IntPtr ClassHandle { get; }
	public virtual MSMessagesAppPresentationContext PresentationContext { get; }
	public virtual MSMessagesAppPresentationStyle PresentationStyle { get; }
	// methods
	public virtual void DidBecomeActive (MSConversation conversation);
	public virtual void DidCancelSendingMessage (MSMessage message, MSConversation conversation);
	public virtual void DidReceiveMessage (MSMessage message, MSConversation conversation);
	public virtual void DidResignActive (MSConversation conversation);
	public virtual void DidSelectMessage (MSMessage message, MSConversation conversation);
	public virtual void DidStartSendingMessage (MSMessage message, MSConversation conversation);
	public virtual void DidTransition (MSMessagesAppPresentationStyle presentationStyle);
	public virtual void Dismiss ();
	public virtual CoreGraphics.CGSize GetContentSizeThatFits (CoreGraphics.CGSize size);
	public virtual void Request (MSMessagesAppPresentationStyle presentationStyle);
	public virtual void WillBecomeActive (MSConversation conversation);
	public virtual void WillResignActive (MSConversation conversation);
	public virtual void WillSelectMessage (MSMessage message, MSConversation conversation);
	public virtual void WillTransition (MSMessagesAppPresentationStyle presentationStyle);
}

New Type: Messages.MSSession

public class MSSession : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MSSession ();
	public MSSession (Foundation.NSCoder coder);
	protected MSSession (Foundation.NSObjectFlag t);
	protected MSSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Messages.MSSticker

public class MSSticker : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSSticker (Foundation.NSObjectFlag t);
	protected MSSticker (IntPtr handle);
	public MSSticker (Foundation.NSUrl fileUrl, string localizedDescription, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl ImageFileUrl { get; }
	public virtual string LocalizedDescription { get; }
}

New Type: Messages.MSStickerBrowserView

public class MSStickerBrowserView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MSStickerBrowserView ();
	public MSStickerBrowserView (CoreGraphics.CGRect frame);
	public MSStickerBrowserView (Foundation.NSCoder coder);
	protected MSStickerBrowserView (Foundation.NSObjectFlag t);
	protected MSStickerBrowserView (IntPtr handle);
	public MSStickerBrowserView (CoreGraphics.CGRect frame, MSStickerSize stickerSize);
	// properties
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual UIKit.UIEdgeInsets ContentInset { get; set; }
	public virtual CoreGraphics.CGPoint ContentOffset { get; set; }
	public virtual IMSStickerBrowserViewDataSource DataSource { get; set; }
	public virtual MSStickerSize StickerSize { get; }
	// methods
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	protected override void Dispose (bool disposing);
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance GetAppearance<T> ();
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static MSStickerBrowserView.MSStickerBrowserViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void ReloadData ();
	public virtual void SetContentOffset (CoreGraphics.CGPoint contentOffset, bool animated);

	// inner types
	public class MSStickerBrowserViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected MSStickerBrowserView.MSStickerBrowserViewAppearance (IntPtr handle);
	}
}

New Type: Messages.MSStickerBrowserViewController

public class MSStickerBrowserViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, IMSStickerBrowserViewDataSource, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MSStickerBrowserViewController ();
	public MSStickerBrowserViewController (Foundation.NSCoder coder);
	protected MSStickerBrowserViewController (Foundation.NSObjectFlag t);
	public MSStickerBrowserViewController (MSStickerSize stickerSize);
	protected MSStickerBrowserViewController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MSStickerBrowserView StickerBrowserView { get; }
	public virtual MSStickerSize StickerSize { get; }
	// methods
	public virtual nint GetNumberOfStickers (MSStickerBrowserView stickerBrowserView);
	public virtual MSSticker GetSticker (MSStickerBrowserView stickerBrowserView, nint index);
}

New Type: Messages.MSStickerBrowserViewDataSource

public abstract class MSStickerBrowserViewDataSource : Foundation.NSObject, Foundation.INSObjectProtocol, IMSStickerBrowserViewDataSource, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MSStickerBrowserViewDataSource ();
	protected MSStickerBrowserViewDataSource (Foundation.NSObjectFlag t);
	protected MSStickerBrowserViewDataSource (IntPtr handle);
	// methods
	public virtual nint GetNumberOfStickers (MSStickerBrowserView stickerBrowserView);
	public virtual MSSticker GetSticker (MSStickerBrowserView stickerBrowserView, nint index);
}

New Type: Messages.MSStickerSize

[Serializable]
public enum MSStickerSize {
	Large = 2,
	Regular = 1,
	Small = 0,
}

New Type: Messages.MSStickerView

public class MSStickerView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public MSStickerView ();
	public MSStickerView (CoreGraphics.CGRect frame);
	public MSStickerView (Foundation.NSCoder coder);
	protected MSStickerView (Foundation.NSObjectFlag t);
	protected MSStickerView (IntPtr handle);
	public MSStickerView (CoreGraphics.CGRect frame, MSSticker sticker);
	// properties
	public virtual double AnimationDuration { get; }
	public static MSStickerView.MSStickerViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool IsAnimating { get; }
	public virtual MSSticker Sticker { get; set; }
	// methods
	public static MSStickerView.MSStickerViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static MSStickerView.MSStickerViewAppearance GetAppearance<T> ();
	public static MSStickerView.MSStickerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static MSStickerView.MSStickerViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static MSStickerView.MSStickerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static MSStickerView.MSStickerViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public virtual void StartAnimating ();
	public virtual void StopAnimating ();

	// inner types
	public class MSStickerViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected MSStickerView.MSStickerViewAppearance (IntPtr handle);
	}
}

New Namespace NewsstandKit

New Type: NewsstandKit.NKAssetDownload

public class NKAssetDownload : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NKAssetDownload (Foundation.NSObjectFlag t);
	protected NKAssetDownload (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
	public virtual NKIssue Issue { get; }
	public virtual Foundation.NSUrlRequest UrlRequest { get; }
	public virtual Foundation.NSDictionary UserInfo { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual Foundation.NSUrlConnection DownloadWithDelegate (Foundation.INSUrlConnectionDownloadDelegate downloadDelegate);
}

New Type: NewsstandKit.NKIssue

public class NKIssue : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NKIssue (Foundation.NSObjectFlag t);
	protected NKIssue (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl ContentUrl { get; }
	public virtual Foundation.NSDate Date { get; }
	public static Foundation.NSString DownloadCompletedNotification { get; }
	public virtual NKAssetDownload[] DownloadingAssets { get; }
	public virtual string Name { get; }
	public virtual NKIssueContentStatus Status { get; }
	// methods
	public virtual NKAssetDownload AddAsset (Foundation.NSUrlRequest request);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveDownloadCompleted (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDownloadCompleted (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: NewsstandKit.NKIssueContentStatus

[Serializable]
public enum NKIssueContentStatus {
	Available = 2,
	Downloading = 1,
	None = 0,
}

New Type: NewsstandKit.NKLibrary

public class NKLibrary : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NKLibrary (Foundation.NSObjectFlag t);
	protected NKLibrary (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NKIssue CurrentlyReadingIssue { get; set; }
	public virtual NKAssetDownload[] DownloadingAssets { get; }
	public virtual NKIssue[] Issues { get; }
	public static NKLibrary SharedLibrary { get; }
	// methods
	public virtual NKIssue AddIssue (string name, Foundation.NSDate date);
	public virtual NKIssue GetIssue (string name);
	public virtual void RemoveIssue (NKIssue issue);
}

New Namespace NotificationCenter

New Type: NotificationCenter.INCWidgetProviding

public interface INCWidgetProviding : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: NotificationCenter.NCUpdateResult

[Serializable]
public enum NCUpdateResult {
	Failed = 2,
	NewData = 0,
	NoData = 1,
}

New Type: NotificationCenter.NCWidgetController

public class NCWidgetController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NCWidgetController (Foundation.NSObjectFlag t);
	protected NCWidgetController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static NCWidgetController GetWidgetController ();
	public virtual void SetHasContent (bool flag, string bundleID);
}

New Type: NotificationCenter.NCWidgetDisplayMode

[Serializable]
public enum NCWidgetDisplayMode {
	Compact = 0,
	Expanded = 1,
}

New Type: NotificationCenter.NCWidgetProviding

public class NCWidgetProviding : Foundation.NSObject, Foundation.INSObjectProtocol, INCWidgetProviding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NCWidgetProviding ();
	protected NCWidgetProviding (Foundation.NSObjectFlag t);
	protected NCWidgetProviding (IntPtr handle);
	// methods
	public virtual UIKit.UIEdgeInsets GetWidgetMarginInsets (UIKit.UIEdgeInsets defaultMarginInsets);
	public virtual void WidgetActiveDisplayModeDidChange (NCWidgetDisplayMode activeDisplayMode, CoreGraphics.CGSize maxSize);
	public virtual void WidgetPerformUpdate (System.Action<NCUpdateResult> completionHandler);
}

New Type: NotificationCenter.NCWidgetProviding_Extensions

public static class NCWidgetProviding_Extensions {
	// methods
	public static UIKit.UIEdgeInsets GetWidgetMarginInsets (this INCWidgetProviding This, UIKit.UIEdgeInsets defaultMarginInsets);
	public static void WidgetActiveDisplayModeDidChange (this INCWidgetProviding This, NCWidgetDisplayMode activeDisplayMode, CoreGraphics.CGSize maxSize);
	public static void WidgetPerformUpdate (this INCWidgetProviding This, System.Action<NCUpdateResult> completionHandler);
}

New Type: NotificationCenter.NSExtensionContext_NCWidgetAdditions

public static class NSExtensionContext_NCWidgetAdditions {
	// methods
	public static NCWidgetDisplayMode GetWidgetActiveDisplayMode (this Foundation.NSExtensionContext This);
	public static NCWidgetDisplayMode GetWidgetLargestAvailableDisplayMode (this Foundation.NSExtensionContext This);
	public static CoreGraphics.CGSize GetWidgetMaximumSize (this Foundation.NSExtensionContext This, NCWidgetDisplayMode displayMode);
	public static void SetWidgetLargestAvailableDisplayMode (this Foundation.NSExtensionContext This, NCWidgetDisplayMode mode);
}

New Type: NotificationCenter.UIVibrancyEffect_NotificationCenter

public static class UIVibrancyEffect_NotificationCenter {
}

New Namespace OpenGLES

New Type: OpenGLES.EAGLColorFormat

public static class EAGLColorFormat {
	// fields
	public static Foundation.NSString RGB565;
	public static Foundation.NSString RGBA8;
}

New Type: OpenGLES.EAGLContext

public class EAGLContext : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public EAGLContext ();
	protected EAGLContext (Foundation.NSObjectFlag t);
	public EAGLContext (EAGLRenderingAPI api);
	protected EAGLContext (IntPtr handle);
	public EAGLContext (EAGLRenderingAPI api, EAGLSharegroup sharegroup);
	// properties
	public virtual EAGLRenderingAPI API { get; }
	public override IntPtr ClassHandle { get; }
	public static EAGLContext CurrentContext { get; }
	public virtual string DebugLabel { get; set; }
	public virtual bool IsMultiThreaded { get; set; }
	public virtual EAGLSharegroup ShareGroup { get; }
	// methods
	public static void EAGLGetVersion (out nuint major, out nuint minor);
	public virtual bool PresentRenderBuffer (nuint target);
	public virtual bool PresentRenderBuffer (nuint target, double presentationTime);
	public virtual bool PresentRenderBuffer (nuint target, double presentationTime, EAGLContext.PresentationMode mode);
	public virtual bool RenderBufferStorage (nuint target, CoreAnimation.CAEAGLLayer drawable);
	public static bool SetCurrentContext (EAGLContext context);
	public virtual bool TexImage (IOSurface.IOSurface ioSurface, nuint target, nuint internalFormat, uint width, uint height, nuint format, nuint type, uint plane);

	// inner types
	[Serializable]
	public enum PresentationMode {
		AfterMinimumDuration = 1,
		AtTime = 0,
	}
}

New Type: OpenGLES.EAGLDrawableProperty

public static class EAGLDrawableProperty {
	// fields
	public static Foundation.NSString ColorFormat;
	public static Foundation.NSString RetainedBacking;
}

New Type: OpenGLES.EAGLRenderingAPI

[Serializable]
public enum EAGLRenderingAPI {
	OpenGLES1 = 1,
	OpenGLES2 = 2,
	OpenGLES3 = 3,
}

New Type: OpenGLES.EAGLSharegroup

public class EAGLSharegroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EAGLSharegroup (Foundation.NSObjectFlag t);
	protected EAGLSharegroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string DebugLabel { get; set; }
}

New Type: OpenGLES.IEAGLDrawable

public interface IEAGLDrawable : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSDictionary DrawableProperties { get; set; }
}

New Namespace PassKit

New Type: PassKit.PKIssuerProvisioningExtensionHandler

public class PKIssuerProvisioningExtensionHandler : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKIssuerProvisioningExtensionHandler (Foundation.NSObjectFlag t);
	protected PKIssuerProvisioningExtensionHandler (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void GenerateAddPaymentPassRequest (string identifier, PKAddPaymentPassRequestConfiguration configuration, Foundation.NSData[] certificates, Foundation.NSData nonce, Foundation.NSData nonceSignature, System.Action<PKAddPaymentPassRequest> completion);
	public virtual System.Threading.Tasks.Task<PKAddPaymentPassRequest> GenerateAddPaymentPassRequestAsync (string identifier, PKAddPaymentPassRequestConfiguration configuration, Foundation.NSData[] certificates, Foundation.NSData nonce, Foundation.NSData nonceSignature);
	public virtual void GetStatus (System.Action<PKIssuerProvisioningExtensionStatus> completion);
	public virtual System.Threading.Tasks.Task<PKIssuerProvisioningExtensionStatus> GetStatusAsync ();
	public virtual void PassEntries (System.Action<PKIssuerProvisioningExtensionPassEntry[]> completion);
	public virtual System.Threading.Tasks.Task<PKIssuerProvisioningExtensionPassEntry[]> PassEntriesAsync ();
	public virtual void RemotePassEntries (System.Action<PKIssuerProvisioningExtensionPassEntry[]> completion);
	public virtual System.Threading.Tasks.Task<PKIssuerProvisioningExtensionPassEntry[]> RemotePassEntriesAsync ();
}

New Type: PassKit.PKPaymentShippingAddressSelectedEventArgs

public class PKPaymentShippingAddressSelectedEventArgs : System.EventArgs {
	// constructors
	public PKPaymentShippingAddressSelectedEventArgs (AddressBook.ABRecord address, PKPaymentShippingAddressSelected completion);
	// properties
	public AddressBook.ABRecord Address { get; set; }
	public PKPaymentShippingAddressSelected Completion { get; set; }
}

New Namespace PdfKit

New Type: PdfKit.PdfPrintScalingMode

[Serializable]
public enum PdfPrintScalingMode {
	DownToFit = 2,
	None = 0,
	ToFit = 1,
}

New Namespace PhotosUI

New Type: PhotosUI.PHEditingExtensionContext

public class PHEditingExtensionContext : Foundation.NSExtensionContext, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PHEditingExtensionContext (Foundation.NSObjectFlag t);
	protected PHEditingExtensionContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Namespace Twitter

New Type: Twitter.TWRequest

public class TWRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public TWRequest ();
	protected TWRequest (Foundation.NSObjectFlag t);
	protected TWRequest (IntPtr handle);
	public TWRequest (Foundation.NSUrl url, Foundation.NSDictionary parameters, TWRequestMethod requestMethod);
	// properties
	public virtual Accounts.ACAccount Account { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary Parameters { get; }
	public virtual TWRequestMethod RequestMethod { get; }
	public virtual Foundation.NSUrlRequest SignedUrlRequest { get; }
	public virtual Foundation.NSUrl Url { get; }
	// methods
	public virtual void AddMultiPartData (Foundation.NSData data, string name, string type);
	public virtual void PerformRequest (TWRequestHandler handler);
	public virtual System.Threading.Tasks.Task<TWRequestResult> PerformRequestAsync ();
}

New Type: Twitter.TWRequestHandler

public sealed delegate TWRequestHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public TWRequestHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData responseData, Foundation.NSHttpUrlResponse urlResponse, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData responseData, Foundation.NSHttpUrlResponse urlResponse, Foundation.NSError error);
}

New Type: Twitter.TWRequestMethod

[Serializable]
public enum TWRequestMethod {
	Delete = 2,
	Get = 0,
	Post = 1,
}

New Type: Twitter.TWRequestResult

public class TWRequestResult {
	// constructors
	public TWRequestResult (Foundation.NSData responseData, Foundation.NSHttpUrlResponse urlResponse);
	// properties
	public Foundation.NSData ResponseData { get; set; }
	public Foundation.NSHttpUrlResponse UrlResponse { get; set; }
}

New Type: Twitter.TWTweetComposeViewController

public class TWTweetComposeViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public TWTweetComposeViewController ();
	public TWTweetComposeViewController (Foundation.NSCoder coder);
	protected TWTweetComposeViewController (Foundation.NSObjectFlag t);
	protected TWTweetComposeViewController (IntPtr handle);
	public TWTweetComposeViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public static bool CanSendTweet { get; }
	public override IntPtr ClassHandle { get; }
	public virtual System.Action<TWTweetComposeViewControllerResult> CompletionHandler { get; set; }
	// methods
	public virtual bool AddImage (UIKit.UIImage image);
	public virtual bool AddUrl (Foundation.NSUrl url);
	public virtual bool RemoveAllImages ();
	public virtual bool RemoveAllUrls ();
	public virtual void SetCompletionHandler (System.Action<TWTweetComposeViewControllerResult> handler);
	public virtual bool SetInitialText (string text);
}

New Type: Twitter.TWTweetComposeViewControllerResult

[Serializable]
public enum TWTweetComposeViewControllerResult {
	Cancelled = 0,
	Done = 1,
}

New Namespace UIKit

New Type: UIKit.IUISearchDisplayDelegate

public interface IUISearchDisplayDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: UIKit.IUIWebViewDelegate

public interface IUIWebViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: UIKit.NSFileProviderExtension

public class NSFileProviderExtension : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSFileProviderExtension ();
	protected NSFileProviderExtension (Foundation.NSObjectFlag t);
	protected NSFileProviderExtension (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl DocumentStorageUrl { get; }
	public virtual FileProvider.NSFileProviderDomain Domain { get; }
	public virtual string ProviderIdentifier { get; }
	// methods
	public virtual void CreateDirectory (string directoryName, string parentItemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> CreateDirectoryAsync (string directoryName, string parentItemIdentifier);
	public virtual void DeleteItem (string itemIdentifier, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task DeleteItemAsync (string itemIdentifier);
	public virtual Foundation.NSProgress FetchThumbnails (Foundation.NSString[] itemIdentifiers, CoreGraphics.CGSize size, NSFileProviderExtensionFetchThumbnailsHandler perThumbnailCompletionHandler, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task FetchThumbnailsAsync (Foundation.NSString[] itemIdentifiers, CoreGraphics.CGSize size, NSFileProviderExtensionFetchThumbnailsHandler perThumbnailCompletionHandler);
	public virtual System.Threading.Tasks.Task FetchThumbnailsAsync (Foundation.NSString[] itemIdentifiers, CoreGraphics.CGSize size, NSFileProviderExtensionFetchThumbnailsHandler perThumbnailCompletionHandler, out Foundation.NSProgress result);
	public virtual FileProvider.INSFileProviderEnumerator GetEnumerator (string containerItemIdentifier, out Foundation.NSError error);
	public virtual FileProvider.INSFileProviderItem GetItem (Foundation.NSString identifier, out Foundation.NSError error);
	public virtual string GetPersistentIdentifier (Foundation.NSUrl itemUrl);
	public static Foundation.NSUrl GetPlaceholderUrl (Foundation.NSUrl url);
	public virtual FileProvider.INSFileProviderServiceSource[] GetSupportedServiceSources (string itemIdentifier, out Foundation.NSError error);
	public virtual Foundation.NSUrl GetUrlForItem (string persistentIdentifier);
	public virtual void ImportDocument (Foundation.NSUrl fileUrl, string parentItemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> ImportDocumentAsync (Foundation.NSUrl fileUrl, string parentItemIdentifier);
	public virtual void ItemChangedAtUrl (Foundation.NSUrl url);
	public virtual void ProvidePlaceholderAtUrl (Foundation.NSUrl url, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task ProvidePlaceholderAtUrlAsync (Foundation.NSUrl url);
	public virtual void RenameItem (string itemIdentifier, string itemName, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> RenameItemAsync (string itemIdentifier, string itemName);
	public virtual void ReparentItem (string itemIdentifier, string parentItemIdentifier, string newName, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> ReparentItemAsync (string itemIdentifier, string parentItemIdentifier, string newName);
	public virtual void SetFavoriteRank (Foundation.NSNumber favoriteRank, string itemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> SetFavoriteRankAsync (Foundation.NSNumber favoriteRank, string itemIdentifier);
	public virtual void SetLastUsedDate (Foundation.NSDate lastUsedDate, string itemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> SetLastUsedDateAsync (Foundation.NSDate lastUsedDate, string itemIdentifier);
	public virtual void SetTagData (Foundation.NSData tagData, string itemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> SetTagDataAsync (Foundation.NSData tagData, string itemIdentifier);
	public virtual void StartProvidingItemAtUrl (Foundation.NSUrl url, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task StartProvidingItemAtUrlAsync (Foundation.NSUrl url);
	public virtual void StopProvidingItemAtUrl (Foundation.NSUrl url);
	public virtual void TrashItem (string itemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> TrashItemAsync (string itemIdentifier);
	public virtual void UntrashItem (string itemIdentifier, string parentItemIdentifier, System.Action<FileProvider.INSFileProviderItem,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<FileProvider.INSFileProviderItem> UntrashItemAsync (string itemIdentifier, string parentItemIdentifier);
	public static bool WritePlaceholder (Foundation.NSUrl placeholderUrl, Foundation.NSDictionary metadata, ref Foundation.NSError error);
}

New Type: UIKit.NSFileProviderExtensionFetchThumbnailsHandler

public sealed delegate NSFileProviderExtensionFetchThumbnailsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSFileProviderExtensionFetchThumbnailsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString identifier, Foundation.NSData imageData, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString identifier, Foundation.NSData imageData, Foundation.NSError error);
}

New Type: UIKit.UISearchDisplayController

public class UISearchDisplayController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public UISearchDisplayController ();
	protected UISearchDisplayController (Foundation.NSObjectFlag t);
	protected UISearchDisplayController (IntPtr handle);
	public UISearchDisplayController (UISearchBar searchBar, UIViewController viewController);
	// properties
	public virtual bool Active { get; set; }
	public override IntPtr ClassHandle { get; }
	public IUISearchDisplayDelegate Delegate { get; set; }
	public virtual bool DisplaysSearchBarInNavigationBar { get; set; }
	public virtual UINavigationItem NavigationItem { get; }
	public virtual UISearchBar SearchBar { get; }
	public virtual UIViewController SearchContentsController { get; }
	public IUITableViewDataSource SearchResultsDataSource { get; set; }
	public IUITableViewDelegate SearchResultsDelegate { get; set; }
	public UITableViewSource SearchResultsSource { get; set; }
	public virtual UITableView SearchResultsTableView { get; }
	public virtual string SearchResultsTitle { get; set; }
	public virtual Foundation.NSObject SearchResultsWeakDataSource { get; set; }
	public virtual Foundation.NSObject SearchResultsWeakDelegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void SetActive (bool visible, bool animated);
}

New Type: UIKit.UISearchDisplayDelegate

public class UISearchDisplayDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IUISearchDisplayDelegate {
	// constructors
	public UISearchDisplayDelegate ();
	protected UISearchDisplayDelegate (Foundation.NSObjectFlag t);
	protected UISearchDisplayDelegate (IntPtr handle);
	// methods
	public virtual void DidBeginSearch (UISearchDisplayController controller);
	public virtual void DidEndSearch (UISearchDisplayController controller);
	public virtual void DidHideSearchResults (UISearchDisplayController controller, UITableView tableView);
	public virtual void DidLoadSearchResults (UISearchDisplayController controller, UITableView tableView);
	public virtual void DidShowSearchResults (UISearchDisplayController controller, UITableView tableView);
	public virtual bool ShouldReloadForSearchScope (UISearchDisplayController controller, nint forSearchOption);
	public virtual bool ShouldReloadForSearchString (UISearchDisplayController controller, string forSearchString);
	public virtual void WillBeginSearch (UISearchDisplayController controller);
	public virtual void WillEndSearch (UISearchDisplayController controller);
	public virtual void WillHideSearchResults (UISearchDisplayController controller, UITableView tableView);
	public virtual void WillShowSearchResults (UISearchDisplayController controller, UITableView tableView);
	public virtual void WillUnloadSearchResults (UISearchDisplayController controller, UITableView tableView);
}

New Type: UIKit.UISearchDisplayDelegate_Extensions

public static class UISearchDisplayDelegate_Extensions {
	// methods
	public static void DidBeginSearch (this IUISearchDisplayDelegate This, UISearchDisplayController controller);
	public static void DidEndSearch (this IUISearchDisplayDelegate This, UISearchDisplayController controller);
	public static void DidHideSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
	public static void DidLoadSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
	public static void DidShowSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
	public static bool ShouldReloadForSearchScope (this IUISearchDisplayDelegate This, UISearchDisplayController controller, nint forSearchOption);
	public static bool ShouldReloadForSearchString (this IUISearchDisplayDelegate This, UISearchDisplayController controller, string forSearchString);
	public static void WillBeginSearch (this IUISearchDisplayDelegate This, UISearchDisplayController controller);
	public static void WillEndSearch (this IUISearchDisplayDelegate This, UISearchDisplayController controller);
	public static void WillHideSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
	public static void WillShowSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
	public static void WillUnloadSearchResults (this IUISearchDisplayDelegate This, UISearchDisplayController controller, UITableView tableView);
}

New Type: UIKit.UIWebErrorArgs

public class UIWebErrorArgs : System.EventArgs {
	// constructors
	public UIWebErrorArgs (Foundation.NSError error);
	// properties
	public Foundation.NSError Error { get; set; }
}

New Type: UIKit.UIWebLoaderControl

public sealed delegate UIWebLoaderControl : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public UIWebLoaderControl (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (UIWebView webView, Foundation.NSUrlRequest request, UIWebViewNavigationType navigationType, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (UIWebView webView, Foundation.NSUrlRequest request, UIWebViewNavigationType navigationType);
}

New Type: UIKit.UIWebView

public class UIWebView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, IUIAccessibilityIdentification, IUIAppearance, IUIAppearanceContainer, IUICoordinateSpace, IUIDynamicItem, IUIFocusEnvironment, IUIFocusItem, IUIFocusItemContainer, IUILargeContentViewerItem, IUIPasteConfigurationSupporting, IUIScrollViewDelegate, IUITraitEnvironment, IUIUserActivityRestoring {
	// constructors
	public UIWebView ();
	public UIWebView (CoreGraphics.CGRect frame);
	public UIWebView (Foundation.NSCoder coder);
	protected UIWebView (Foundation.NSObjectFlag t);
	protected UIWebView (IntPtr handle);
	// properties
	public virtual bool AllowsInlineMediaPlayback { get; set; }
	public virtual bool AllowsLinkPreview { get; set; }
	public virtual bool AllowsPictureInPictureMediaPlayback { get; set; }
	public static UIWebView.UIWebViewAppearance Appearance { get; }
	public virtual bool CanGoBack { get; }
	public virtual bool CanGoForward { get; }
	public override IntPtr ClassHandle { get; }
	public virtual UIDataDetectorType DataDetectorTypes { get; set; }
	public IUIWebViewDelegate Delegate { get; set; }
	public virtual nfloat GapBetweenPages { get; set; }
	public virtual bool IsLoading { get; }
	public virtual bool KeyboardDisplayRequiresUserAction { get; set; }
	public virtual bool MediaPlaybackAllowsAirPlay { get; set; }
	public virtual bool MediaPlaybackRequiresUserAction { get; set; }
	public virtual nint PageCount { get; }
	public virtual nfloat PageLength { get; set; }
	public virtual UIWebPaginationBreakingMode PaginationBreakingMode { get; set; }
	public virtual UIWebPaginationMode PaginationMode { get; set; }
	public virtual Foundation.NSUrlRequest Request { get; }
	public virtual bool ScalesPageToFit { get; set; }
	public virtual UIScrollView ScrollView { get; }
	public UIWebLoaderControl ShouldStartLoad { get; set; }
	public virtual bool SuppressesIncrementalRendering { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler<UIWebErrorArgs> LoadError;
	public event System.EventHandler LoadFinished;
	public event System.EventHandler LoadStarted;
	// methods
	public static UIWebView.UIWebViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void DecelerationEnded (UIScrollView scrollView);
	public virtual void DecelerationStarted (UIScrollView scrollView);
	public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView);
	public virtual void DidZoom (UIScrollView scrollView);
	protected override void Dispose (bool disposing);
	public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate);
	public virtual void DraggingStarted (UIScrollView scrollView);
	public virtual string EvaluateJavascript (string script);
	public static UIWebView.UIWebViewAppearance GetAppearance<T> ();
	public static UIWebView.UIWebViewAppearance GetAppearance<T> (UITraitCollection traits);
	public static UIWebView.UIWebViewAppearance GetAppearance (UITraitCollection traits);
	public static UIWebView.UIWebViewAppearance GetAppearance<T> (UITraitCollection traits, System.Type[] containers);
	public static UIWebView.UIWebViewAppearance GetAppearance (UITraitCollection traits, System.Type[] containers);
	public virtual void GoBack ();
	public virtual void GoForward ();
	public virtual void LoadData (Foundation.NSData data, string mimeType, string textEncodingName, Foundation.NSUrl baseUrl);
	public virtual void LoadHtmlString (string s, Foundation.NSUrl baseUrl);
	public virtual void LoadRequest (Foundation.NSUrlRequest r);
	public virtual void Reload ();
	public virtual void ScrollAnimationEnded (UIScrollView scrollView);
	public virtual void Scrolled (UIScrollView scrollView);
	public virtual void ScrolledToTop (UIScrollView scrollView);
	public virtual bool ShouldScrollToTop (UIScrollView scrollView);
	public virtual void StopLoading ();
	public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView);
	public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset);
	public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, nfloat atScale);
	public virtual void ZoomingStarted (UIScrollView scrollView, UIView view);

	// inner types
	public class UIWebViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IUIAppearance {
		// constructors
		protected UIWebView.UIWebViewAppearance (IntPtr handle);
	}
}

New Type: UIKit.UIWebViewDelegate

public class UIWebViewDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IUIWebViewDelegate {
	// constructors
	public UIWebViewDelegate ();
	protected UIWebViewDelegate (Foundation.NSObjectFlag t);
	protected UIWebViewDelegate (IntPtr handle);
	// methods
	public virtual void LoadFailed (UIWebView webView, Foundation.NSError error);
	public virtual void LoadStarted (UIWebView webView);
	public virtual void LoadingFinished (UIWebView webView);
	public virtual bool ShouldStartLoad (UIWebView webView, Foundation.NSUrlRequest request, UIWebViewNavigationType navigationType);
}

New Type: UIKit.UIWebViewDelegate_Extensions

public static class UIWebViewDelegate_Extensions {
	// methods
	public static void LoadFailed (this IUIWebViewDelegate This, UIWebView webView, Foundation.NSError error);
	public static void LoadStarted (this IUIWebViewDelegate This, UIWebView webView);
	public static void LoadingFinished (this IUIWebViewDelegate This, UIWebView webView);
	public static bool ShouldStartLoad (this IUIWebViewDelegate This, UIWebView webView, Foundation.NSUrlRequest request, UIWebViewNavigationType navigationType);
}

New Namespace VideoSubscriberAccount

New Type: VideoSubscriberAccount.IVSAccountManagerDelegate

public interface IVSAccountManagerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DismissViewController (VSAccountManager accountManager, UIKit.UIViewController viewController);
	public virtual void PresentViewController (VSAccountManager accountManager, UIKit.UIViewController viewController);
}

New Type: VideoSubscriberAccount.VSAccountAccessStatus

[Serializable]
public enum VSAccountAccessStatus {
	Denied = 2,
	Granted = 3,
	NotDetermined = 0,
	Restricted = 1,
}

New Type: VideoSubscriberAccount.VSAccountApplicationProvider

public class VSAccountApplicationProvider : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected VSAccountApplicationProvider (Foundation.NSObjectFlag t);
	protected VSAccountApplicationProvider (IntPtr handle);
	public VSAccountApplicationProvider (string localizedDisplayName, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
	public virtual string LocalizedDisplayName { get; }
}

New Type: VideoSubscriberAccount.VSAccountManager

public class VSAccountManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VSAccountManager ();
	protected VSAccountManager (Foundation.NSObjectFlag t);
	protected VSAccountManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IVSAccountManagerDelegate Delegate { get; set; }
	public static Foundation.NSString OpenTVProviderSettingsUrl { get; }
	// methods
	public virtual void CheckAccessStatus (Foundation.NSDictionary options, System.Action<VSAccountAccessStatus,Foundation.NSError> completionHandler);
	public void CheckAccessStatus (VSAccountManagerAccessOptions accessOptions, System.Action<VSAccountAccessStatus,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<VSAccountAccessStatus> CheckAccessStatusAsync (Foundation.NSDictionary options);
	public System.Threading.Tasks.Task<VSAccountAccessStatus> CheckAccessStatusAsync (VSAccountManagerAccessOptions accessOptions);
	protected override void Dispose (bool disposing);
	public virtual VSAccountManagerResult Enqueue (VSAccountMetadataRequest accountMetadataRequest, System.Action<VSAccountMetadata,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<VSAccountMetadata> EnqueueAsync (VSAccountMetadataRequest accountMetadataRequest);
	public virtual System.Threading.Tasks.Task<VSAccountMetadata> EnqueueAsync (VSAccountMetadataRequest accountMetadataRequest, out VSAccountManagerResult result);
}

New Type: VideoSubscriberAccount.VSAccountManagerAccessOptions

public class VSAccountManagerAccessOptions : Foundation.DictionaryContainer {
	// constructors
	public VSAccountManagerAccessOptions ();
	public VSAccountManagerAccessOptions (Foundation.NSDictionary dictionary);
	// properties
	public bool? CheckAccessOptionPrompt { get; set; }
}

New Type: VideoSubscriberAccount.VSAccountManagerDelegate

public abstract class VSAccountManagerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVSAccountManagerDelegate {
	// constructors
	protected VSAccountManagerDelegate ();
	protected VSAccountManagerDelegate (Foundation.NSObjectFlag t);
	protected VSAccountManagerDelegate (IntPtr handle);
	// methods
	public virtual void DismissViewController (VSAccountManager accountManager, UIKit.UIViewController viewController);
	public virtual void PresentViewController (VSAccountManager accountManager, UIKit.UIViewController viewController);
	public virtual bool ShouldAuthenticateAccountProvider (VSAccountManager accountManager, string accountProviderIdentifier);
}

New Type: VideoSubscriberAccount.VSAccountManagerDelegate_Extensions

public static class VSAccountManagerDelegate_Extensions {
	// methods
	public static bool ShouldAuthenticateAccountProvider (this IVSAccountManagerDelegate This, VSAccountManager accountManager, string accountProviderIdentifier);
}

New Type: VideoSubscriberAccount.VSAccountManagerResult

public class VSAccountManagerResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected VSAccountManagerResult (Foundation.NSObjectFlag t);
	protected VSAccountManagerResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Cancel ();
}

New Type: VideoSubscriberAccount.VSAccountMetadata

public class VSAccountMetadata : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VSAccountMetadata ();
	protected VSAccountMetadata (Foundation.NSObjectFlag t);
	protected VSAccountMetadata (IntPtr handle);
	// properties
	public virtual string AccountProviderIdentifier { get; }
	public virtual VSAccountProviderResponse AccountProviderResponse { get; }
	public virtual Foundation.NSDate AuthenticationExpirationDate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string SamlAttributeQueryResponse { get; }
	public virtual Foundation.NSData VerificationData { get; }
}

New Type: VideoSubscriberAccount.VSAccountMetadataRequest

public class VSAccountMetadataRequest : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VSAccountMetadataRequest ();
	protected VSAccountMetadataRequest (Foundation.NSObjectFlag t);
	protected VSAccountMetadataRequest (IntPtr handle);
	// properties
	public virtual string AccountProviderAuthenticationToken { get; set; }
	public virtual VSAccountApplicationProvider[] ApplicationAccountProviders { get; set; }
	public virtual string[] AttributeNames { get; set; }
	public virtual string ChannelIdentifier { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] FeaturedAccountProviderIdentifiers { get; set; }
	public virtual bool ForceAuthentication { get; set; }
	public virtual bool IncludeAccountProviderIdentifier { get; set; }
	public virtual bool IncludeAuthenticationExpirationDate { get; set; }
	public virtual bool InterruptionAllowed { get; set; }
	public virtual string LocalizedVideoTitle { get; set; }
	public virtual string[] SupportedAccountProviderIdentifiers { get; set; }
	public VSAccountProviderAuthenticationScheme[] SupportedAuthenticationSchemes { get; set; }
	protected virtual Foundation.NSString[] SupportedAuthenticationSchemesString { get; set; }
	public virtual string VerificationToken { get; set; }
}

New Type: VideoSubscriberAccount.VSAccountProviderAuthenticationScheme

[Serializable]
public enum VSAccountProviderAuthenticationScheme {
	Api = 1,
	Saml = 0,
}

New Type: VideoSubscriberAccount.VSAccountProviderAuthenticationSchemeExtensions

public static class VSAccountProviderAuthenticationSchemeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this VSAccountProviderAuthenticationScheme self);
	public static Foundation.NSString[] GetConstants (this VSAccountProviderAuthenticationScheme[] self);
	public static VSAccountProviderAuthenticationScheme GetValue (Foundation.NSString constant);
	public static VSAccountProviderAuthenticationScheme[] GetValues (Foundation.NSString[] constants);
}

New Type: VideoSubscriberAccount.VSAccountProviderResponse

public class VSAccountProviderResponse : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VSAccountProviderResponse ();
	protected VSAccountProviderResponse (Foundation.NSObjectFlag t);
	protected VSAccountProviderResponse (IntPtr handle);
	// properties
	public VSAccountProviderAuthenticationScheme AuthenticationScheme { get; }
	protected virtual Foundation.NSString AuthenticationSchemeString { get; }
	public virtual string Body { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Status { get; }
}

New Type: VideoSubscriberAccount.VSErrorCode

[Serializable]
public enum VSErrorCode {
	AccessNotGranted = 0,
	InvalidVerificationToken = 5,
	ProviderRejected = 4,
	Rejected = 6,
	ServiceTemporarilyUnavailable = 3,
	Unsupported = 7,
	UnsupportedProvider = 1,
	UserCancelled = 2,
}

New Type: VideoSubscriberAccount.VSErrorCodeExtensions

public static class VSErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this VSErrorCode self);
}

New Type: VideoSubscriberAccount.VSErrorInfo

public class VSErrorInfo : Foundation.DictionaryContainer {
	// constructors
	public VSErrorInfo ();
	public VSErrorInfo (Foundation.NSDictionary dictionary);
	// properties
	public string AccountProviderResponse { get; }
	public string SamlResponse { get; }
	public string SamlResponseStatus { get; }
	public string UnsupportedProviderIdentifier { get; }
}

New Type: VideoSubscriberAccount.VSSubscription

public class VSSubscription : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VSSubscription ();
	protected VSSubscription (Foundation.NSObjectFlag t);
	protected VSSubscription (IntPtr handle);
	// properties
	public virtual VSSubscriptionAccessLevel AccessLevel { get; set; }
	public virtual string BillingIdentifier { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate ExpirationDate { get; set; }
	public virtual string[] TierIdentifiers { get; set; }
}

New Type: VideoSubscriberAccount.VSSubscriptionAccessLevel

[Serializable]
public enum VSSubscriptionAccessLevel {
	FreeWithAccount = 1,
	Paid = 2,
	Unknown = 0,
}

New Type: VideoSubscriberAccount.VSSubscriptionRegistrationCenter

public class VSSubscriptionRegistrationCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected VSSubscriptionRegistrationCenter (Foundation.NSObjectFlag t);
	protected VSSubscriptionRegistrationCenter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static VSSubscriptionRegistrationCenter Default { get; }
	// methods
	public virtual void SetCurrentSubscription (VSSubscription currentSubscription);
}

New Namespace VisionKit

New Type: VisionKit.IVNDocumentCameraViewControllerDelegate

public interface IVNDocumentCameraViewControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: VisionKit.VNDocumentCameraScan

public class VNDocumentCameraScan : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected VNDocumentCameraScan (Foundation.NSObjectFlag t);
	protected VNDocumentCameraScan (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint PageCount { get; }
	public virtual string Title { get; }
	// methods
	public virtual UIKit.UIImage GetImage (nuint pageIndex);
}

New Type: VisionKit.VNDocumentCameraViewController

public class VNDocumentCameraViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public VNDocumentCameraViewController ();
	public VNDocumentCameraViewController (Foundation.NSCoder coder);
	protected VNDocumentCameraViewController (Foundation.NSObjectFlag t);
	protected VNDocumentCameraViewController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IVNDocumentCameraViewControllerDelegate Delegate { get; set; }
	public static bool Supported { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: VisionKit.VNDocumentCameraViewControllerDelegate

public class VNDocumentCameraViewControllerDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVNDocumentCameraViewControllerDelegate {
	// constructors
	public VNDocumentCameraViewControllerDelegate ();
	protected VNDocumentCameraViewControllerDelegate (Foundation.NSObjectFlag t);
	protected VNDocumentCameraViewControllerDelegate (IntPtr handle);
	// methods
	public virtual void DidCancel (VNDocumentCameraViewController controller);
	public virtual void DidFail (VNDocumentCameraViewController controller, Foundation.NSError error);
	public virtual void DidFinish (VNDocumentCameraViewController controller, VNDocumentCameraScan scan);
}

New Type: VisionKit.VNDocumentCameraViewControllerDelegate_Extensions

public static class VNDocumentCameraViewControllerDelegate_Extensions {
	// methods
	public static void DidCancel (this IVNDocumentCameraViewControllerDelegate This, VNDocumentCameraViewController controller);
	public static void DidFail (this IVNDocumentCameraViewControllerDelegate This, VNDocumentCameraViewController controller, Foundation.NSError error);
	public static void DidFinish (this IVNDocumentCameraViewControllerDelegate This, VNDocumentCameraViewController controller, VNDocumentCameraScan scan);
}

New Namespace WatchConnectivity

New Type: WatchConnectivity.IWCSessionDelegate

public interface IWCSessionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: WatchConnectivity.WCErrorCode

[Serializable]
public enum WCErrorCode {
	CompanionAppNotInstalled = 7018,
	DeliveryFailed = 7014,
	DeviceNotPaired = 7005,
	FileAccessDenied = 7013,
	GenericError = 7001,
	InsufficientSpace = 7015,
	InvalidParameter = 7008,
	MessageReplyFailed = 7011,
	MessageReplyTimedOut = 7012,
	NotReachable = 7007,
	PayloadTooLarge = 7009,
	PayloadUnsupportedTypes = 7010,
	SessionInactive = 7016,
	SessionMissingDelegate = 7003,
	SessionNotActivated = 7004,
	SessionNotSupported = 7002,
	TransferTimedOut = 7017,
	WatchAppNotInstalled = 7006,
	WatchOnlyApp = 7019,
}

New Type: WatchConnectivity.WCSession

public class WCSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WCSession (Foundation.NSObjectFlag t);
	protected WCSession (IntPtr handle);
	// properties
	public virtual WCSessionActivationState ActivationState { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> ApplicationContext { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ComplicationEnabled { get; }
	public static WCSession DefaultSession { get; }
	public virtual IWCSessionDelegate Delegate { get; set; }
	public static Foundation.NSString ErrorDomain { get; }
	public virtual bool HasContentPending { get; }
	public static bool IsSupported { get; }
	public virtual WCSessionFileTransfer[] OutstandingFileTransfers { get; }
	public virtual WCSessionUserInfoTransfer[] OutstandingUserInfoTransfers { get; }
	public virtual bool Paired { get; }
	public virtual bool Reachable { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> ReceivedApplicationContext { get; }
	public virtual nuint RemainingComplicationUserInfoTransfers { get; }
	public virtual bool WatchAppInstalled { get; }
	public virtual Foundation.NSUrl WatchDirectoryUrl { get; }
	// methods
	public virtual void ActivateSession ();
	protected override void Dispose (bool disposing);
	public virtual void SendMessage (Foundation.NSData data, WCSessionReplyDataHandler replyHandler, System.Action<Foundation.NSError> errorHandler);
	public virtual void SendMessage (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> message, WCSessionReplyHandler replyHandler, System.Action<Foundation.NSError> errorHandler);
	public virtual WCSessionUserInfoTransfer TransferCurrentComplicationUserInfo (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
	public virtual WCSessionFileTransfer TransferFile (Foundation.NSUrl file, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> metadata);
	public virtual WCSessionUserInfoTransfer TransferUserInfo (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
	public virtual bool UpdateApplicationContext (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> applicationContext, out Foundation.NSError error);
}

New Type: WatchConnectivity.WCSessionActivationState

[Serializable]
public enum WCSessionActivationState {
	Activated = 2,
	Inactive = 1,
	NotActivated = 0,
}

New Type: WatchConnectivity.WCSessionDelegate

public class WCSessionDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IWCSessionDelegate {
	// constructors
	public WCSessionDelegate ();
	protected WCSessionDelegate (Foundation.NSObjectFlag t);
	protected WCSessionDelegate (IntPtr handle);
	// methods
	public virtual void ActivationDidComplete (WCSession session, WCSessionActivationState activationState, Foundation.NSError error);
	public virtual void DidBecomeInactive (WCSession session);
	public virtual void DidDeactivate (WCSession session);
	public virtual void DidFinishFileTransfer (WCSession session, WCSessionFileTransfer fileTransfer, Foundation.NSError error);
	public virtual void DidFinishUserInfoTransfer (WCSession session, WCSessionUserInfoTransfer userInfoTransfer, Foundation.NSError error);
	public virtual void DidReceiveApplicationContext (WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> applicationContext);
	public virtual void DidReceiveFile (WCSession session, WCSessionFile file);
	public virtual void DidReceiveMessage (WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> message);
	public virtual void DidReceiveMessage (WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> message, WCSessionReplyHandler replyHandler);
	public virtual void DidReceiveMessageData (WCSession session, Foundation.NSData messageData);
	public virtual void DidReceiveMessageData (WCSession session, Foundation.NSData messageData, WCSessionReplyDataHandler replyHandler);
	public virtual void DidReceiveUserInfo (WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
	public virtual void SessionReachabilityDidChange (WCSession session);
	public virtual void SessionWatchStateDidChange (WCSession session);
}

New Type: WatchConnectivity.WCSessionDelegate_Extensions

public static class WCSessionDelegate_Extensions {
	// methods
	public static void ActivationDidComplete (this IWCSessionDelegate This, WCSession session, WCSessionActivationState activationState, Foundation.NSError error);
	public static void DidBecomeInactive (this IWCSessionDelegate This, WCSession session);
	public static void DidDeactivate (this IWCSessionDelegate This, WCSession session);
	public static void DidFinishFileTransfer (this IWCSessionDelegate This, WCSession session, WCSessionFileTransfer fileTransfer, Foundation.NSError error);
	public static void DidFinishUserInfoTransfer (this IWCSessionDelegate This, WCSession session, WCSessionUserInfoTransfer userInfoTransfer, Foundation.NSError error);
	public static void DidReceiveApplicationContext (this IWCSessionDelegate This, WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> applicationContext);
	public static void DidReceiveFile (this IWCSessionDelegate This, WCSession session, WCSessionFile file);
	public static void DidReceiveMessage (this IWCSessionDelegate This, WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> message);
	public static void DidReceiveMessage (this IWCSessionDelegate This, WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> message, WCSessionReplyHandler replyHandler);
	public static void DidReceiveMessageData (this IWCSessionDelegate This, WCSession session, Foundation.NSData messageData);
	public static void DidReceiveMessageData (this IWCSessionDelegate This, WCSession session, Foundation.NSData messageData, WCSessionReplyDataHandler replyHandler);
	public static void DidReceiveUserInfo (this IWCSessionDelegate This, WCSession session, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> userInfo);
	public static void SessionReachabilityDidChange (this IWCSessionDelegate This, WCSession session);
	public static void SessionWatchStateDidChange (this IWCSessionDelegate This, WCSession session);
}

New Type: WatchConnectivity.WCSessionFile

public class WCSessionFile : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WCSessionFile (Foundation.NSObjectFlag t);
	protected WCSessionFile (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUrl FileUrl { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Metadata { get; }
}

New Type: WatchConnectivity.WCSessionFileTransfer

public class WCSessionFileTransfer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WCSessionFileTransfer (Foundation.NSObjectFlag t);
	protected WCSessionFileTransfer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual WCSessionFile File { get; }
	public virtual Foundation.NSProgress Progress { get; }
	public virtual bool Transferring { get; }
	// methods
	public virtual void Cancel ();
}

New Type: WatchConnectivity.WCSessionReplyDataHandler

public sealed delegate WCSessionReplyDataHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public WCSessionReplyDataHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSData replyMessage, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSData replyMessage);
}

New Type: WatchConnectivity.WCSessionReplyHandler

public sealed delegate WCSessionReplyHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public WCSessionReplyHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> replyMessage, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> replyMessage);
}

New Type: WatchConnectivity.WCSessionUserInfoTransfer

public class WCSessionUserInfoTransfer : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public WCSessionUserInfoTransfer (Foundation.NSCoder coder);
	protected WCSessionUserInfoTransfer (Foundation.NSObjectFlag t);
	protected WCSessionUserInfoTransfer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool CurrentComplicationInfo { get; }
	public virtual bool Transferring { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> UserInfo { get; }
	// methods
	public virtual void Cancel ();
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Namespace WatchKit

New Type: WatchKit.IWKImageAnimatable

public interface IWKImageAnimatable : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void StartAnimating ();
	public virtual void StartAnimating (Foundation.NSRange imageRange, double duration, nint repeatCount);
	public virtual void StopAnimating ();
}

New Type: WatchKit.WKAccessibility

public static class WKAccessibility {
	// methods
	public static void SetAccessibilityHint (this WKInterfaceObject This, string accessibilityHint);
	public static void SetAccessibilityIdentifier (this WKInterfaceObject This, string accessibilityIdentifier);
	public static void SetAccessibilityImageRegions (this WKInterfaceObject This, WKAccessibilityImageRegion[] accessibilityImageRegions);
	public static void SetAccessibilityLabel (this WKInterfaceObject This, string accessibilityLabel);
	public static void SetAccessibilityTraits (this WKInterfaceObject This, UIKit.UIAccessibilityTrait accessibilityTraits);
	public static void SetAccessibilityValue (this WKInterfaceObject This, string accessibilityValue);
	public static void SetIsAccessibilityElement (this WKInterfaceObject This, bool isAccessibilityElement);
}

New Type: WatchKit.WKAccessibilityImageRegion

public class WKAccessibilityImageRegion : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public WKAccessibilityImageRegion ();
	protected WKAccessibilityImageRegion (Foundation.NSObjectFlag t);
	protected WKAccessibilityImageRegion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGRect Frame { get; set; }
	public virtual string Label { get; set; }
}

New Type: WatchKit.WKErrorCode

[Serializable]
public enum WKErrorCode {
	DownloadError = 5,
	InvalidArgumentError = 3,
	MediaPlayerError = 4,
	None = 0,
	RecordingFailedError = 6,
	RequestReplyNotCalledError = 2,
	UnknownError = 1,
}

New Type: WatchKit.WKErrorCodeExtensions

public static class WKErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this WKErrorCode self);
}

New Type: WatchKit.WKInterfaceButton

public class WKInterfaceButton : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceButton (Foundation.NSObjectFlag t);
	protected WKInterfaceButton (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetBackgroundColor (UIKit.UIColor color);
	public virtual void SetBackgroundImage (Foundation.NSData imageData);
	public virtual void SetBackgroundImage (string imageName);
	public virtual void SetBackgroundImage (UIKit.UIImage image);
	public virtual void SetEnabled (bool enabled);
	public virtual void SetTitle (Foundation.NSAttributedString attributedTitle);
	public virtual void SetTitle (string title);
}

New Type: WatchKit.WKInterfaceController

public abstract class WKInterfaceController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public WKInterfaceController ();
	protected WKInterfaceController (Foundation.NSObjectFlag t);
	protected WKInterfaceController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGRect ContentFrame { get; }
	public static Foundation.NSString ErrorDomain { get; }
	// methods
	public virtual void AddMenuItem (string imageName, string title, ObjCRuntime.Selector action);
	public void AddMenuItem (string imageName, string title, System.Action action);
	public virtual void AddMenuItem (UIKit.UIImage image, string title, ObjCRuntime.Selector action);
	public void AddMenuItem (UIKit.UIImage image, string title, System.Action action);
	public virtual void AddMenuItem (WKMenuItemIcon itemIcon, string title, ObjCRuntime.Selector action);
	public void AddMenuItem (WKMenuItemIcon itemIcon, string title, System.Action action);
	public virtual void Awake (Foundation.NSObject context);
	public virtual void BecomeCurrentPage ();
	public virtual void ClearAllMenuItems ();
	public virtual void DidDeactivate ();
	public virtual void DidSelectRow (WKInterfaceTable table, nint rowIndex);
	public virtual void DismissController ();
	public virtual void DismissTextInputController ();
	public virtual Foundation.NSObject GetContextForSegue (string segueIdentifier);
	public virtual Foundation.NSObject GetContextForSegue (string segueIdentifier, WKInterfaceTable table, nint rowIndex);
	public virtual Foundation.NSObject[] GetContextsForSegue (string segueIdentifier);
	public virtual Foundation.NSObject[] GetContextsForSegue (string segueIdentifier, WKInterfaceTable table, nint rowIndex);
	public virtual void HandleAction (string identifier, UserNotifications.UNNotification notification);
	public virtual void HandleLocalNotificationAction (string identifier, UIKit.UILocalNotification localNotification);
	public virtual void HandleRemoteNotificationAction (string identifier, Foundation.NSDictionary remoteNotification);
	public virtual void HandleUserActivity (Foundation.NSDictionary userActivity);
	public virtual void InvalidateUserActivity ();
	public static bool OpenParentApplication (Foundation.NSDictionary userInfo, System.Action<Foundation.NSDictionary,Foundation.NSError> reply);
	public virtual void PopController ();
	public virtual void PopToRootController ();
	public virtual void PresentController (string name, Foundation.NSObject context);
	public void PresentController (string name, string context);
	public virtual void PresentController (string[] names, Foundation.NSObject[] contexts);
	public void PresentController (string[] names, string[] contexts);
	public virtual void PresentTextInputController (System.Func<Foundation.NSString,Foundation.NSArray> suggestionsHandler, WKTextInputMode inputMode, System.Action<Foundation.NSArray> completion);
	public virtual void PresentTextInputController (string[] suggestions, WKTextInputMode inputMode, System.Action<Foundation.NSArray> completion);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray> PresentTextInputControllerAsync (System.Func<Foundation.NSString,Foundation.NSArray> suggestionsHandler, WKTextInputMode inputMode);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray> PresentTextInputControllerAsync (string[] suggestions, WKTextInputMode inputMode);
	public virtual void PushController (string name, Foundation.NSObject context);
	public void PushController (string name, string context);
	public static void ReloadRootControllers (string[] names, Foundation.NSObject[] contexts);
	public virtual void SetTitle (string title);
	public virtual void UpdateUserActivity (string type, Foundation.NSDictionary userInfo, Foundation.NSUrl webpageURL);
	public virtual void WillActivate ();
}

New Type: WatchKit.WKInterfaceDate

public class WKInterfaceDate : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceDate (Foundation.NSObjectFlag t);
	protected WKInterfaceDate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetCalendar (Foundation.NSCalendar calendar);
	public virtual void SetTextColor (UIKit.UIColor color);
	public virtual void SetTimeZone (Foundation.NSTimeZone timeZone);
}

New Type: WatchKit.WKInterfaceDevice

public class WKInterfaceDevice : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceDevice (Foundation.NSObjectFlag t);
	protected WKInterfaceDevice (IntPtr handle);
	// properties
	public System.Collections.Generic.IReadOnlyDictionary<System.String,System.Int64> CachedImages { get; }
	public override IntPtr ClassHandle { get; }
	public static WKInterfaceDevice CurrentDevice { get; }
	public virtual string LocalizedModel { get; }
	public virtual string Model { get; }
	public virtual string Name { get; }
	public UIKit.UIContentSizeCategory PreferredContentSizeCategory { get; }
	public string PreferredContentSizeCategoryString { get; }
	public virtual CoreGraphics.CGRect ScreenBounds { get; }
	public virtual nfloat ScreenScale { get; }
	public virtual string SystemName { get; }
	public virtual string SystemVersion { get; }
	public virtual Foundation.NSDictionary WeakCachedImages { get; }
	// methods
	public virtual bool AddCachedImage (Foundation.NSData imageData, string name);
	public virtual bool AddCachedImage (UIKit.UIImage image, string name);
	public bool CheckSystemVersion (int major, int minor);
	public virtual void RemoveAllCachedImages ();
	public virtual void RemoveCachedImage (string name);
}

New Type: WatchKit.WKInterfaceGroup

public class WKInterfaceGroup : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IWKImageAnimatable {
	// constructors
	protected WKInterfaceGroup (Foundation.NSObjectFlag t);
	protected WKInterfaceGroup (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetBackgroundColor (UIKit.UIColor color);
	public virtual void SetBackgroundImage (Foundation.NSData imageData);
	public virtual void SetBackgroundImage (string imageName);
	public virtual void SetBackgroundImage (UIKit.UIImage image);
	public virtual void SetCornerRadius (nfloat cornerRadius);
	public virtual void StartAnimating ();
	public virtual void StartAnimating (Foundation.NSRange imageRange, double duration, nint repeatCount);
	public virtual void StopAnimating ();
}

New Type: WatchKit.WKInterfaceImage

public class WKInterfaceImage : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IWKImageAnimatable {
	// constructors
	protected WKInterfaceImage (Foundation.NSObjectFlag t);
	protected WKInterfaceImage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetImage (Foundation.NSData imageData);
	public virtual void SetImage (string imageName);
	public virtual void SetImage (UIKit.UIImage image);
	public virtual void SetTintColor (UIKit.UIColor color);
	public virtual void StartAnimating ();
	public virtual void StartAnimating (Foundation.NSRange imageRange, double duration, nint repeatCount);
	public virtual void StopAnimating ();
}

New Type: WatchKit.WKInterfaceLabel

public class WKInterfaceLabel : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceLabel (Foundation.NSObjectFlag t);
	protected WKInterfaceLabel (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetText (Foundation.NSAttributedString attributedText);
	public virtual void SetText (string text);
	public virtual void SetTextColor (UIKit.UIColor color);
}

New Type: WatchKit.WKInterfaceMap

public class WKInterfaceMap : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceMap (Foundation.NSObjectFlag t);
	protected WKInterfaceMap (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddAnnotation (CoreLocation.CLLocationCoordinate2D location, WKInterfaceMapPinColor pinColor);
	public virtual void AddAnnotation (CoreLocation.CLLocationCoordinate2D location, string name, CoreGraphics.CGPoint offset);
	public virtual void AddAnnotation (CoreLocation.CLLocationCoordinate2D location, UIKit.UIImage image, CoreGraphics.CGPoint offset);
	public virtual void RemoveAllAnnotations ();
	public virtual void SetRegion (MapKit.MKCoordinateRegion coordinateRegion);
	public virtual void SetVisible (MapKit.MKMapRect mapRect);
}

New Type: WatchKit.WKInterfaceMapPinColor

[Serializable]
public enum WKInterfaceMapPinColor {
	Green = 1,
	Purple = 2,
	Red = 0,
}

New Type: WatchKit.WKInterfaceObject

public class WKInterfaceObject : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceObject (Foundation.NSObjectFlag t);
	protected WKInterfaceObject (IntPtr handle);
	// properties
	public virtual CoreGraphics.CGPoint AccessibilityActivationPoint { get; set; }
	public virtual Foundation.NSAttributedString AccessibilityAttributedHint { get; set; }
	public virtual Foundation.NSAttributedString AccessibilityAttributedLabel { get; set; }
	public virtual Foundation.NSAttributedString AccessibilityAttributedValue { get; set; }
	public virtual bool AccessibilityElementsHidden { get; set; }
	public virtual CoreGraphics.CGRect AccessibilityFrame { get; set; }
	public virtual string AccessibilityHint { get; set; }
	public virtual string AccessibilityLabel { get; set; }
	public virtual string AccessibilityLanguage { get; set; }
	public virtual UIKit.UIAccessibilityNavigationStyle AccessibilityNavigationStyle { get; set; }
	public virtual UIKit.UIBezierPath AccessibilityPath { get; set; }
	public virtual UIKit.UIAccessibilityTrait AccessibilityTraits { get; set; }
	public virtual string AccessibilityValue { get; set; }
	public virtual bool AccessibilityViewIsModal { get; set; }
	public static Foundation.NSString AnnouncementDidFinishNotification { get; }
	public static int AnnouncementNotification { get; }
	public static Foundation.NSString AssistiveTechnologyKey { get; }
	public static Foundation.NSString AssistiveTouchStatusDidChangeNotification { get; }
	public static Foundation.NSString BoldTextStatusDidChangeNotification { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ClosedCaptioningStatusDidChangeNotification { get; }
	public static Foundation.NSString DarkerSystemColorsStatusDidChangeNotification { get; }
	public static Foundation.NSString ElementFocusedNotification { get; }
	public static Foundation.NSString FocusedElementKey { get; }
	public static Foundation.NSString GrayscaleStatusDidChangeNotification { get; }
	public static Foundation.NSString GuidedAccessStatusDidChangeNotification { get; }
	public static Foundation.NSString HearingDevicePairedEarDidChangeNotification { get; }
	public virtual string InterfaceProperty { get; }
	public static Foundation.NSString InvertColorsStatusDidChangeNotification { get; }
	public virtual bool IsAccessibilityElement { get; set; }
	public static int LayoutChangedNotification { get; }
	public static Foundation.NSString MonoAudioStatusDidChangeNotification { get; }
	public static Foundation.NSString NotificationSwitchControlIdentifier { get; }
	public static Foundation.NSString NotificationVoiceOverIdentifier { get; }
	public static int PageScrolledNotification { get; }
	public static int PauseAssistiveTechnologyNotification { get; }
	public static Foundation.NSString ReduceMotionStatusDidChangeNotification { get; }
	public static Foundation.NSString ReduceTransparencyStatusDidChangeNotification { get; }
	public static int ResumeAssistiveTechnologyNotification { get; }
	public static int ScreenChangedNotification { get; }
	public static Foundation.NSString ShakeToUndoDidChangeNotification { get; }
	public virtual bool ShouldGroupAccessibilityChildren { get; set; }
	public static Foundation.NSString SpeakScreenStatusDidChangeNotification { get; }
	public static Foundation.NSString SpeakSelectionStatusDidChangeNotification { get; }
	public static Foundation.NSString SpeechAttributeIpaNotation { get; }
	public static Foundation.NSString SpeechAttributeLanguage { get; }
	public static Foundation.NSString SpeechAttributePitch { get; }
	public static Foundation.NSString SpeechAttributePunctuation { get; }
	public static Foundation.NSString SpeechAttributeQueueAnnouncement { get; }
	public static Foundation.NSString SwitchControlStatusDidChangeNotification { get; }
	public static Foundation.NSString TextAttributeCustom { get; }
	public static Foundation.NSString TextAttributeHeadingLevel { get; }
	public static long TraitAdjustable { get; }
	public static long TraitAllowsDirectInteraction { get; }
	public static long TraitButton { get; }
	public static long TraitCausesPageTurn { get; }
	public static long TraitHeader { get; }
	public static long TraitImage { get; }
	public static long TraitKeyboardKey { get; }
	public static long TraitLink { get; }
	public static long TraitNone { get; }
	public static long TraitNotEnabled { get; }
	public static long TraitPlaysSound { get; }
	public static long TraitSearchField { get; }
	public static long TraitSelected { get; }
	public static long TraitStartsMediaSession { get; }
	public static long TraitStaticText { get; }
	public static long TraitSummaryElement { get; }
	public static long TraitTabBar { get; }
	public static long TraitUpdatesFrequently { get; }
	public static Foundation.NSString UnfocusedElementKey { get; }
	public static Foundation.NSString VoiceOverStatusChanged { get; }
	public static Foundation.NSString VoiceOverStatusDidChangeNotification { get; }
	// methods
	public virtual bool AccessibilityActivate ();
	public virtual void SetAlpha (nfloat alpha);
	public virtual void SetHeight (nfloat height);
	public virtual void SetHidden (bool hidden);
	public virtual void SetWidth (nfloat width);

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObserveAnnouncementDidFinish (System.EventHandler<UIKit.UIAccessibilityAnnouncementFinishedEventArgs> handler);
		public static Foundation.NSObject ObserveAnnouncementDidFinish (Foundation.NSObject objectToObserve, System.EventHandler<UIKit.UIAccessibilityAnnouncementFinishedEventArgs> handler);
		public static Foundation.NSObject ObserveAssistiveTechnologyKey (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveAssistiveTechnologyKey (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveAssistiveTouchStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveAssistiveTouchStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveBoldTextStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveBoldTextStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveClosedCaptioningStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveClosedCaptioningStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDarkerSystemColorsStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveDarkerSystemColorsStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveElementFocused (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveElementFocused (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveFocusedElementKey (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveFocusedElementKey (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveGrayscaleStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveGrayscaleStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveGuidedAccessStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveGuidedAccessStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveHearingDevicePairedEarDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveHearingDevicePairedEarDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveInvertColorsStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveInvertColorsStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveMonoAudioStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveMonoAudioStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveReduceMotionStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveReduceMotionStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveReduceTransparencyStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveReduceTransparencyStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveShakeToUndoDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveShakeToUndoDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSpeakScreenStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSpeakScreenStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSpeakSelectionStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSpeakSelectionStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSwitchControlStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveSwitchControlStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveUnfocusedElementKey (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveUnfocusedElementKey (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveVoiceOverStatusDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveVoiceOverStatusDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: WatchKit.WKInterfaceSeparator

public class WKInterfaceSeparator : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceSeparator (Foundation.NSObjectFlag t);
	protected WKInterfaceSeparator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetColor (UIKit.UIColor color);
}

New Type: WatchKit.WKInterfaceSlider

public class WKInterfaceSlider : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceSlider (Foundation.NSObjectFlag t);
	protected WKInterfaceSlider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetColor (UIKit.UIColor color);
	public virtual void SetEnabled (bool enabled);
	public virtual void SetNumberOfSteps (nint numberOfSteps);
	public virtual void SetValue (float value);
}

New Type: WatchKit.WKInterfaceSwitch

public class WKInterfaceSwitch : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceSwitch (Foundation.NSObjectFlag t);
	protected WKInterfaceSwitch (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetColor (UIKit.UIColor color);
	public virtual void SetEnabled (bool enabled);
	public virtual void SetOn (bool on);
	public virtual void SetTitle (Foundation.NSAttributedString attributedTitle);
	public virtual void SetTitle (string title);
}

New Type: WatchKit.WKInterfaceTable

public class WKInterfaceTable : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceTable (Foundation.NSObjectFlag t);
	protected WKInterfaceTable (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint NumberOfRows { get; }
	// methods
	public virtual Foundation.NSObject GetRowController (nint index);
	public virtual void InsertRows (Foundation.NSIndexSet rowIndexes, string rowType);
	public virtual void RemoveRows (Foundation.NSIndexSet rowIndexes);
	public virtual void ScrollToRow (nint index);
	public virtual void SetNumberOfRows (nint numberOfRows, string rowType);
	public virtual void SetRowTypes (string[] rowTypes);
}

New Type: WatchKit.WKInterfaceTimer

public class WKInterfaceTimer : WatchKit.WKInterfaceObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected WKInterfaceTimer (Foundation.NSObjectFlag t);
	protected WKInterfaceTimer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void SetDate (Foundation.NSDate date);
	public virtual void SetTextColor (UIKit.UIColor color);
	public virtual void Start ();
	public virtual void Stop ();
}

New Type: WatchKit.WKMenuItemIcon

[Serializable]
public enum WKMenuItemIcon {
	Accept = 0,
	Add = 1,
	Block = 2,
	Decline = 3,
	Info = 4,
	Maybe = 5,
	More = 6,
	Mute = 7,
	Pause = 8,
	Play = 9,
	Repeat = 10,
	Resume = 11,
	Share = 12,
	Shuffle = 13,
	Speaker = 14,
	Trash = 15,
}

New Type: WatchKit.WKPresentMediaPlayerResult

public class WKPresentMediaPlayerResult {
	// constructors
	public WKPresentMediaPlayerResult (bool didPlayToEnd, double endTime);
	// properties
	public bool DidPlayToEnd { get; set; }
	public double EndTime { get; set; }
}

New Type: WatchKit.WKTextInputMode

[Serializable]
public enum WKTextInputMode {
	AllowAnimatedEmoji = 2,
	AllowEmoji = 1,
	Plain = 0,
}

New Type: WatchKit.WKUserNotificationInterfaceController

public class WKUserNotificationInterfaceController : WatchKit.WKInterfaceController, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public WKUserNotificationInterfaceController ();
	protected WKUserNotificationInterfaceController (Foundation.NSObjectFlag t);
	protected WKUserNotificationInterfaceController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void DidReceiveLocalNotification (UIKit.UILocalNotification localNotification, System.Action<WKUserNotificationInterfaceType> completionHandler);
	public virtual void DidReceiveNotification (UserNotifications.UNNotification notification, System.Action<WKUserNotificationInterfaceType> completionHandler);
	public virtual void DidReceiveRemoteNotification (Foundation.NSDictionary remoteNotification, System.Action<WKUserNotificationInterfaceType> completionHandler);
	public virtual void DismissController ();
}

New Type: WatchKit.WKUserNotificationInterfaceType

[Serializable]
public enum WKUserNotificationInterfaceType {
	Custom = 1,
	Default = 0,
}

New Namespace iAd

New Type: iAd.ADAdType

[Serializable]
public enum ADAdType {
	Banner = 0,
	MediumRectangle = 1,
}

New Type: iAd.ADBannerView

public class ADBannerView : UIKit.UIView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ADBannerView ();
	public ADBannerView (CoreGraphics.CGRect frame);
	public ADBannerView (Foundation.NSCoder coder);
	protected ADBannerView (Foundation.NSObjectFlag t);
	protected ADBannerView (IntPtr handle);
	public ADBannerView (ADAdType type);
	// properties
	public AdAction ActionShouldBegin { get; set; }
	public virtual ADAdType AdType { get; }
	public virtual string AdvertisingSection { get; set; }
	public static ADBannerView.ADBannerViewAppearance Appearance { get; }
	public virtual bool BannerLoaded { get; }
	public virtual bool BannerViewActionInProgress { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string CurrentContentSizeIdentifier { get; set; }
	public IADBannerViewDelegate Delegate { get; set; }
	public virtual Foundation.NSSet RequiredContentSizeIdentifiers { get; set; }
	public static Foundation.NSString SizeIdentifier320x50 { get; }
	public static Foundation.NSString SizeIdentifier480x32 { get; }
	public static Foundation.NSString SizeIdentifierLandscape { get; }
	public static Foundation.NSString SizeIdentifierPortrait { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler ActionFinished;
	public event System.EventHandler AdLoaded;
	public event System.EventHandler<AdErrorEventArgs> FailedToReceiveAd;
	public event System.EventHandler WillLoad;
	// methods
	public static ADBannerView.ADBannerViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public virtual void CancelBannerViewAction ();
	protected override void Dispose (bool disposing);
	public static ADBannerView.ADBannerViewAppearance GetAppearance<T> ();
	public static ADBannerView.ADBannerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits);
	public static ADBannerView.ADBannerViewAppearance GetAppearance (UIKit.UITraitCollection traits);
	public static ADBannerView.ADBannerViewAppearance GetAppearance<T> (UIKit.UITraitCollection traits, System.Type[] containers);
	public static ADBannerView.ADBannerViewAppearance GetAppearance (UIKit.UITraitCollection traits, System.Type[] containers);
	public static CoreGraphics.CGSize GetClampedBannerSize (CoreGraphics.CGSize size);
	public static CoreGraphics.CGSize SizeFromContentSizeIdentifier (string sizeIdentifier);

	// inner types
	public class ADBannerViewAppearance : UIKit.UIView+UIViewAppearance, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearance {
		// constructors
		protected ADBannerView.ADBannerViewAppearance (IntPtr handle);
	}
}

New Type: iAd.ADBannerViewDelegate

public class ADBannerViewDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IADBannerViewDelegate {
	// constructors
	public ADBannerViewDelegate ();
	protected ADBannerViewDelegate (Foundation.NSObjectFlag t);
	protected ADBannerViewDelegate (IntPtr handle);
	// methods
	public virtual void ActionFinished (ADBannerView banner);
	public virtual bool ActionShouldBegin (ADBannerView banner, bool willLeaveApplication);
	public virtual void AdLoaded (ADBannerView banner);
	public virtual void FailedToReceiveAd (ADBannerView banner, Foundation.NSError error);
	public virtual void WillLoad (ADBannerView bannerView);
}

New Type: iAd.ADBannerViewDelegate_Extensions

public static class ADBannerViewDelegate_Extensions {
	// methods
	public static void ActionFinished (this IADBannerViewDelegate This, ADBannerView banner);
	public static bool ActionShouldBegin (this IADBannerViewDelegate This, ADBannerView banner, bool willLeaveApplication);
	public static void AdLoaded (this IADBannerViewDelegate This, ADBannerView banner);
	public static void FailedToReceiveAd (this IADBannerViewDelegate This, ADBannerView banner, Foundation.NSError error);
	public static void WillLoad (this IADBannerViewDelegate This, ADBannerView bannerView);
}

New Type: iAd.ADClient

public class ADClient : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ADClient (Foundation.NSObjectFlag t);
	protected ADClient (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ErrorDomain { get; }
	public static ADClient SharedClient { get; }
	// methods
	public virtual void AddClientToSegments (string[] segmentIdentifiers, bool replaceExisting);
	public virtual void DetermineAppInstallationAttribution (AttributedToiAdCompletionHandler completionHandler);
	public virtual void LookupAdConversionDetails (ADConversionDetails onCompleted);
	public virtual System.Threading.Tasks.Task<ADClientConversionDetailsResult> LookupAdConversionDetailsAsync ();
	public virtual void RequestAttributionDetails (System.Action<Foundation.NSDictionary,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSDictionary> RequestAttributionDetailsAsync ();
}

New Type: iAd.ADClientConversionDetailsResult

public class ADClientConversionDetailsResult {
	// constructors
	public ADClientConversionDetailsResult (Foundation.NSDate appPurchaseDate, Foundation.NSDate iAdImpressionDate);
	// properties
	public Foundation.NSDate AppPurchaseDate { get; set; }
	public Foundation.NSDate IAdImpressionDate { get; set; }
}

New Type: iAd.ADClientError

[Serializable]
public enum ADClientError {
	CorruptResponse = 3,
	LimitAdTracking = 1,
	MissingData = 2,
	RequestClientError = 4,
	RequestNetworkError = 6,
	RequestServerError = 5,
	TrackingRestrictedOrDenied = 1,
	Unknown = 0,
	UnsupportedPlatform = 7,
}

New Type: iAd.ADClientErrorExtensions

public static class ADClientErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this ADClientError self);
}

New Type: iAd.ADConversionDetails

public sealed delegate ADConversionDetails : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ADConversionDetails (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSDate appPurchaseDate, Foundation.NSDate iAdImpressionDate, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSDate appPurchaseDate, Foundation.NSDate iAdImpressionDate);
}

New Type: iAd.ADError

[Serializable]
public enum ADError {
	AdAssetLoadPending = 10,
	AdResponseValidateFailure = 9,
	AdUnloaded = 7,
	ApplicationInactive = 6,
	AssetLoadFailure = 8,
	BannerVisibleWithoutContent = 5,
	ConfigurationError = 4,
	InventoryUnavailable = 3,
	LoadingThrottled = 2,
	ServerFailure = 1,
	Unknown = 0,
}

New Type: iAd.ADErrorEventArgs

public class ADErrorEventArgs : System.EventArgs {
	// constructors
	public ADErrorEventArgs (Foundation.NSError error);
	// properties
	public Foundation.NSError Error { get; set; }
}

New Type: iAd.ADErrorExtensions

public static class ADErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this ADError self);
}

New Type: iAd.ADInterstitialAd

public class ADInterstitialAd : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ADInterstitialAd ();
	protected ADInterstitialAd (Foundation.NSObjectFlag t);
	protected ADInterstitialAd (IntPtr handle);
	// properties
	public virtual bool ActionInProgress { get; }
	public ADPredicate ActionShouldBegin { get; set; }
	public override IntPtr ClassHandle { get; }
	public IADInterstitialAdDelegate Delegate { get; set; }
	public virtual bool Loaded { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// events
	public event System.EventHandler ActionFinished;
	public event System.EventHandler AdLoaded;
	public event System.EventHandler AdUnloaded;
	public event System.EventHandler<ADErrorEventArgs> FailedToReceiveAd;
	public event System.EventHandler WillLoad;
	// methods
	public virtual void CancelAction ();
	protected override void Dispose (bool disposing);
	public virtual void PresentFromViewController (UIKit.UIViewController viewController);
	public virtual bool PresentInView (UIKit.UIView containerView);
}

New Type: iAd.ADInterstitialAdDelegate

public abstract class ADInterstitialAdDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IADInterstitialAdDelegate {
	// constructors
	protected ADInterstitialAdDelegate ();
	protected ADInterstitialAdDelegate (Foundation.NSObjectFlag t);
	protected ADInterstitialAdDelegate (IntPtr handle);
	// methods
	public virtual void ActionFinished (ADInterstitialAd interstitialAd);
	public virtual bool ActionShouldBegin (ADInterstitialAd interstitialAd, bool willLeaveApplication);
	public virtual void AdLoaded (ADInterstitialAd interstitialAd);
	public virtual void AdUnloaded (ADInterstitialAd interstitialAd);
	public virtual void FailedToReceiveAd (ADInterstitialAd interstitialAd, Foundation.NSError error);
	public virtual void WillLoad (ADInterstitialAd interstitialAd);
}

New Type: iAd.ADInterstitialAdDelegate_Extensions

public static class ADInterstitialAdDelegate_Extensions {
	// methods
	public static void WillLoad (this IADInterstitialAdDelegate This, ADInterstitialAd interstitialAd);
}

New Type: iAd.ADInterstitialAdPresentationViewController

public class ADInterstitialAdPresentationViewController : UIKit.UIViewController, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAppearanceContainer, UIKit.IUIContentContainer, UIKit.IUIFocusEnvironment, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
	// constructors
	public ADInterstitialAdPresentationViewController (Foundation.NSCoder coder);
	protected ADInterstitialAdPresentationViewController (Foundation.NSObjectFlag t);
	protected ADInterstitialAdPresentationViewController (IntPtr handle);
	public ADInterstitialAdPresentationViewController (ADInterstitialAd interstitialAd);
	public ADInterstitialAdPresentationViewController (string nibName, Foundation.NSBundle bundle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool ShouldTestVisibility (CoreGraphics.CGPoint point);
}

New Type: iAd.ADInterstitialPresentationPolicy

[Serializable]
public enum ADInterstitialPresentationPolicy {
	Automatic = 1,
	Manual = 2,
	None = 0,
}

New Type: iAd.ADPredicate

public sealed delegate ADPredicate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ADPredicate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ADInterstitialAd interstitialAd, bool willLeaveApplication, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (ADInterstitialAd interstitialAd, bool willLeaveApplication);
}

New Type: iAd.AdAction

public sealed delegate AdAction : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public AdAction (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (ADBannerView banner, bool willLeaveApplication, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (ADBannerView banner, bool willLeaveApplication);
}

New Type: iAd.AdErrorEventArgs

public class AdErrorEventArgs : System.EventArgs {
	// constructors
	public AdErrorEventArgs (Foundation.NSError error);
	// properties
	public Foundation.NSError Error { get; set; }
}

New Type: iAd.AttributedToiAdCompletionHandler

public sealed delegate AttributedToiAdCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public AttributedToiAdCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (bool attributedToiAd, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (bool attributedToiAd);
}

New Type: iAd.IADBannerViewDelegate

public interface IADBannerViewDelegate : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: iAd.IADInterstitialAdDelegate

public interface IADInterstitialAdDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void ActionFinished (ADInterstitialAd interstitialAd);
	public virtual bool ActionShouldBegin (ADInterstitialAd interstitialAd, bool willLeaveApplication);
	public virtual void AdLoaded (ADInterstitialAd interstitialAd);
	public virtual void AdUnloaded (ADInterstitialAd interstitialAd);
	public virtual void FailedToReceiveAd (ADInterstitialAd interstitialAd, Foundation.NSError error);
}

New Type: iAd.IAdAdditions

public static class IAdAdditions {
	// methods
	public static bool DisplayingBannerAd (this UIKit.UIViewController This);
	public static bool GetCanDisplayBannerAds (this UIKit.UIViewController This);
	public static ADInterstitialPresentationPolicy GetInterstitialPresentationPolicy (this UIKit.UIViewController This);
	public static UIKit.UIView GetOriginalContentView (this UIKit.UIViewController This);
	public static bool PresentingFullScreenAd (this UIKit.UIViewController This);
	public static bool RequestInterstitialAdPresentation (this UIKit.UIViewController This);
	public static void SetCanDisplayBannerAds (this UIKit.UIViewController This, bool value);
	public static void SetInterstitialPresentationPolicy (this UIKit.UIViewController This, ADInterstitialPresentationPolicy policy);
	public static bool ShouldPresentInterstitialAd (this UIKit.UIViewController This);
}

New Type: iAd.IAdPreroll

public static class IAdPreroll {
	// methods
	public static void CancelPreroll (this MediaPlayer.MPMoviePlayerController This);
	public static void PlayPrerollAd (this MediaPlayer.MPMoviePlayerController This, System.Action<Foundation.NSError> completionHandler);
}

New Type: iAd.iAdPreroll_AVPlayerViewController

public static class iAdPreroll_AVPlayerViewController {
	// methods
	public static void CancelPreroll (this AVKit.AVPlayerViewController This);
	public static void PlayPrerollAd (this AVKit.AVPlayerViewController This, System.Action<Foundation.NSError> completionHandler);
}

Namespace AVFoundation

Type Changed: AVFoundation.AVAsset

Added method:

[Obsolete ("Use 'GetChapterMetadataGroups'.")]
public virtual AVMetadataItem[] ChapterMetadataGroups (Foundation.NSLocale forLocale, AVMetadataItem[] commonKeys);

Type Changed: AVFoundation.AVAssetDownloadTask

Removed property:

public virtual Foundation.NSUrl DestinationUrl { get; }

Type Changed: AVFoundation.AVAssetTrack

Added method:

[Obsolete ("Use 'GetAssociatedTracks'.")]
public virtual Foundation.NSString GetAssociatedTracksOfType (Foundation.NSString avAssetTrackTrackAssociationType);

Type Changed: AVFoundation.AVAudioSessionPortDescription

Added property:

[Obsolete ("Use 'DataSourceDescriptions' instead.")]
public virtual AVAudioSessionChannelDescription[] DataSources { get; }

Type Changed: AVFoundation.AVCaptureAudioDataOutputSampleBufferDelegate

Added method:

[Obsolete ("This member only exists for 'AVCaptureVideoDataOutputSampleBufferDelegate'.")]
public virtual void DidDropSampleBuffer (AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);

Type Changed: AVFoundation.AVCaptureAudioDataOutputSampleBufferDelegate_Extensions

Added method:

[Obsolete ("This member only exists for 'AVCaptureVideoDataOutputSampleBufferDelegate'.")]
public static void DidDropSampleBuffer (IAVCaptureAudioDataOutputSampleBufferDelegate This, AVCaptureOutput captureOutput, CoreMedia.CMSampleBuffer sampleBuffer, AVCaptureConnection connection);

Type Changed: AVFoundation.AVCaptureAutoExposureBracketedStillImageSettings

Obsoleted constructors:

 [Obsolete ("Use the static 'Create' method to create a working instance of this type.")]
 public AVCaptureAutoExposureBracketedStillImageSettings ();

Type Changed: AVFoundation.AVCaptureManualExposureBracketedStillImageSettings

Obsoleted constructors:

 [Obsolete ("Use the static 'Create' method to create a working instance of this type.")]
 public AVCaptureManualExposureBracketedStillImageSettings ();

Type Changed: AVFoundation.AVMediaType

Removed property:

public static Foundation.NSString TimedMetadata { get; }

Type Changed: AVFoundation.AVMutableCompositionTrack

Added method:

[Obsolete ("Use 'InsertTimeRanges' overload accepting an 'NSValue' array.")]
public virtual bool InsertTimeRanges (Foundation.NSValue cmTimeRanges, AVAssetTrack[] tracks, CoreMedia.CMTime startTime, out Foundation.NSError error);

Type Changed: AVFoundation.AVPlayerInterstitialEvent

Obsoleted properties:

 [Obsolete ("Use 'TemplateItems' instead.")]
 public virtual AVPlayerItem[] InterstitialTemplateItems { get; }

Removed methods:

public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);

Type Changed: AVFoundation.AVPlayerInterstitialEventController

Modified base type:

-AVFoundation.AVPlayerInterstitialEventObserver
+AVFoundation.AVPlayerInterstitialEventMonitor

Obsoleted properties:

 [Obsolete ("Use 'Events' instead.")]
 public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; set; }

Obsoleted methods:

 [Obsolete ("Use 'GetInterstitialEventController' instead.")]
 public static AVPlayerInterstitialEventController GetPlayerInterstitialEventController (AVPlayer primaryPlayer);

Type Changed: AVFoundation.AVPlayerInterstitialEventObserver

Removed methods:

protected override void Dispose (bool disposing);
public static AVPlayerInterstitialEventObserver GetInterstitialEventObserver (AVPlayer primaryPlayer);
public static AVPlayerInterstitialEventObserver GetPlayerInterstitialEventObserver (AVPlayer primaryPlayer);

Type Changed: AVFoundation.AVTextStyleRule

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public AVTextStyleRule ();

New Type: AVFoundation.AVPlayerInterstitialEventMonitor

public class AVPlayerInterstitialEventMonitor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerInterstitialEventMonitor (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventMonitor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

Namespace AVKit

Type Changed: AVKit.AVPictureInPictureController

Removed property:

public virtual bool CanStartPictureInPictureAutomaticallyFromInline { get; set; }

Type Changed: AVKit.AVPlayerViewController

Removed property:

public virtual bool CanStartPictureInPictureAutomaticallyFromInline { get; set; }

Removed method:

public static void PrepareForPrerollAds ();

New Type: AVKit.AVPlayerViewControlsStyle

[Serializable]
public enum AVPlayerViewControlsStyle {
	Default = 1,
	Floating = 2,
	Inline = 1,
	Minimal = 3,
	None = 0,
}

Namespace Accessibility

New Type: Accessibility.AXCategoricalDataAxisDescriptor

public class AXCategoricalDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXCategoricalDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXCategoricalDataAxisDescriptor (IntPtr handle);
	public AXCategoricalDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, string[] categoryOrder);
	public AXCategoricalDataAxisDescriptor (string title, string[] categoryOrder);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string[] CategoryOrder { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Title { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptor

public class AXChartDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXChartDescriptor (Foundation.NSObjectFlag t);
	protected AXChartDescriptor (IntPtr handle);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	// properties
	public virtual IAXDataAxisDescriptor[] AdditionalAxes { get; set; }
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXChartDescriptorContentDirection ContentDirection { get; set; }
	public virtual CoreGraphics.CGRect ContentFrame { get; set; }
	public virtual AXDataSeriesDescriptor[] Series { get; set; }
	public virtual string Summary { get; set; }
	public virtual string Title { get; set; }
	public virtual IAXDataAxisDescriptor XAxis { get; set; }
	public virtual AXNumericDataAxisDescriptor YAxis { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptorContentDirection

[Serializable]
public enum AXChartDescriptorContentDirection {
	BottomToTop = 3,
	LeftToRight = 0,
	RadialClockwise = 4,
	RadialCounterClockwise = 5,
	RightToLeft = 1,
	TopToBottom = 2,
}

New Type: Accessibility.AXDataPoint

public class AXDataPoint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPoint (Foundation.NSObjectFlag t);
	protected AXDataPoint (IntPtr handle);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues, string label);
	// properties
	public virtual AXDataPointValue[] AdditionalValues { get; set; }
	public virtual Foundation.NSAttributedString AttributedLabel { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual AXDataPointValue XValue { get; set; }
	public virtual AXDataPointValue YValue { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXDataPointValue

public class AXDataPointValue : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPointValue (Foundation.NSObjectFlag t);
	protected AXDataPointValue (IntPtr handle);
	// properties
	public virtual string Category { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual double Number { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AXDataPointValue CreateValueWithCategory (string category);
	public static AXDataPointValue CreateValueWithNumber (double number);
}

New Type: Accessibility.AXDataSeriesDescriptor

public class AXDataSeriesDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataSeriesDescriptor (Foundation.NSObjectFlag t);
	protected AXDataSeriesDescriptor (IntPtr handle);
	public AXDataSeriesDescriptor (Foundation.NSAttributedString attributedName, bool isContinuous, AXDataPoint[] dataPoints);
	public AXDataSeriesDescriptor (string name, bool isContinuous, AXDataPoint[] dataPoints);
	// properties
	public virtual Foundation.NSAttributedString AttributedName { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXDataPoint[] DataPoints { get; set; }
	public virtual bool IsContinuous { get; set; }
	public virtual string Name { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXHearingDeviceEar

[Serializable]
[Flags]
public enum AXHearingDeviceEar {
	Both = 6,
	Left = 2,
	None = 0,
	Right = 4,
}

New Type: Accessibility.AXHearingUtilities

public static class AXHearingUtilities {
	// properties
	public static Foundation.NSString PairedUUIDsDidChangeNotification { get; }
	public static Foundation.NSString StreamingEarDidChangeNotification { get; }
	// methods
	public static Foundation.NSUuid[] GetMFiHearingDevicePairedUuids ();
	public static AXHearingDeviceEar GetMFiHearingDeviceStreamingEar ();
	public static bool SupportsBidirectionalStreaming ();

	// inner types
	public static class Notifications {
		// methods
		public static Foundation.NSObject ObservePairedUUIDsDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObservePairedUUIDsDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveStreamingEarDidChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
		public static Foundation.NSObject ObserveStreamingEarDidChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
	}
}

New Type: Accessibility.AXLiveAudioGraph

public class AXLiveAudioGraph : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXLiveAudioGraph (Foundation.NSObjectFlag t);
	protected AXLiveAudioGraph (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void Start ();
	public static void Stop ();
	public static void Update (double value);
}

New Type: Accessibility.AXNumericDataAxisDescriptor

public class AXNumericDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXNumericDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXNumericDataAxisDescriptor (IntPtr handle);
	public AXNumericDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	public AXNumericDataAxisDescriptor (string title, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber[] GridlinePositions { get; set; }
	public virtual double LowerBound { get; set; }
	public virtual AXNumericDataAxisDescriptorScale ScaleType { get; set; }
	public virtual string Title { get; set; }
	public virtual double UpperBound { get; set; }
	public virtual ValueDescriptionProviderHandler ValueDescriptionProvider { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXNumericDataAxisDescriptorScale

[Serializable]
public enum AXNumericDataAxisDescriptorScale {
	Linear = 0,
	Ln = 2,
	Log10 = 1,
}

New Type: Accessibility.IAXChart

public interface IAXChart : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual AXChartDescriptor AccessibilityChartDescriptor { get; set; }
}

New Type: Accessibility.IAXDataAxisDescriptor

public interface IAXDataAxisDescriptor : Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string Title { get; set; }
}

New Type: Accessibility.ValueDescriptionProviderHandler

public sealed delegate ValueDescriptionProviderHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ValueDescriptionProviderHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (double dataValue, System.AsyncCallback callback, object object);
	public virtual Foundation.NSString EndInvoke (System.IAsyncResult result);
	public virtual Foundation.NSString Invoke (double dataValue);
}

Namespace Accounts

Type Changed: Accounts.ACAccount

Added property:

public static Foundation.NSString ErrorDomain { get; }

Type Changed: Accounts.ACErrorCode

Added value:

[Obsolete ("Use 'MissingTransportMessageId'.")]
MissingMessageID = 21,

Namespace AddressBook

Type Changed: AddressBook.ABPropertyType

Added value:

MultiMask = 256,

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

HoaN3d = 196608,
HoaSn3d = 131072,

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Atmos_5_1_4 = 12779530,
Atmos_7_1_2 = 12845066,
Logic_4_0_A = 7536644,
Logic_4_0_B = 7602180,
Logic_4_0_C = 12910596,
Logic_5_0_A = 7667717,
Logic_5_0_B = 7733253,
Logic_5_0_C = 7798789,
Logic_5_0_D = 7864325,
Logic_5_1_A = 7929862,
Logic_5_1_B = 7995398,
Logic_5_1_C = 8060934,
Logic_5_1_D = 8126470,
Logic_6_0_A = 9240582,
Logic_6_0_B = 12976134,
Logic_6_0_C = 9109510,
Logic_6_1_A = 9306119,
Logic_6_1_B = 13041671,
Logic_6_1_C = 8192007,
Logic_6_1_D = 13107207,
Logic_7_1_A = 8388616,
Logic_7_1_B = 13172744,
Logic_7_1_C = 8388616,
Logic_7_1_SDDS_A = 8257544,
Logic_7_1_SDDS_B = 8323080,
Logic_7_1_SDDS_C = 8454152,
Logic_Atmos_5_1_2 = 12713992,
Logic_Atmos_5_1_4 = 12779530,
Logic_Atmos_7_1_2 = 12845066,
Logic_Atmos_7_1_4_A = 12582924,
Logic_Atmos_7_1_4_B = 13238284,
Logic_Atmos_7_1_6 = 13303822,
Logic_Mono = 6553601,
Logic_Quadraphonic = 7077892,
Logic_Stereo = 6619138,

Type Changed: AudioToolbox.AudioQueue

Added property:

[Obsolete ("Use 'AudioStreamDescription' instead.")]
public AudioStreamBasicDescription AudioStreamPacketDescription { get; }

New Type: AudioToolbox.AccessoryInfo

public class AccessoryInfo {
	// properties
	public string Description { get; }
	public int ID { get; }
}

New Type: AudioToolbox.AudioSession

public static class AudioSession {
	// properties
	public static bool AudioInputAvailable { get; }
	public static string AudioRoute { get; }
	public static bool AudioShouldDuck { get; set; }
	public static AudioSessionCategory Category { get; set; }
	public static float CurrentHardwareIOBufferDuration { get; }
	public static float CurrentHardwareInputLatency { get; }
	public static int CurrentHardwareInputNumberChannels { get; }
	public static float CurrentHardwareOutputLatency { get; }
	public static int CurrentHardwareOutputNumberChannels { get; }
	public static float CurrentHardwareOutputVolume { get; }
	public static double CurrentHardwareSampleRate { get; }
	public static bool InputGainAvailable { get; }
	public static float InputGainScalar { get; set; }
	public static AudioSessionInputRouteKind InputRoute { get; }
	public static AccessoryInfo[] InputSources { get; }
	public static AudioSessionInterruptionType InterruptionType { get; }
	public static AudioSessionMode Mode { get; set; }
	public static bool OtherAudioIsPlaying { get; }
	public static AccessoryInfo[] OutputDestinations { get; }
	public static AudioSessionOutputRouteKind[] OutputRoutes { get; }
	public static bool OverrideCategoryDefaultToSpeaker { get; set; }
	public static bool OverrideCategoryEnableBluetoothInput { get; set; }
	public static bool OverrideCategoryMixWithOthers { get; set; }
	public static float PreferredHardwareIOBufferDuration { get; set; }
	public static double PreferredHardwareSampleRate { get; set; }
	public static AudioSessionRoutingOverride RoutingOverride { set; }
	// events
	public event System.Action<bool> AudioInputBecameAvailable;
	public event System.EventHandler<AudioSessionRouteChangeEventArgs> AudioRouteChanged;
	public event System.Action<float> CurrentHardwareOutputVolumeChanged;
	public event System.Action<bool> InputGainBecameAvailable;
	public event System.Action<float> InputGainScalarChanged;
	public event System.Action<AccessoryInfo[]> InputSourcesChanged;
	public event System.EventHandler Interrupted;
	public event System.Action<AccessoryInfo[]> OutputDestinationsChanged;
	public event System.EventHandler Resumed;
	public event System.Action<bool> ServerDied;
	// methods
	public static AudioSessionErrors AddListener (AudioSessionProperty property, AudioSession.PropertyListener listener);
	public static void Initialize ();
	public static void Initialize (CoreFoundation.CFRunLoop runLoop, string runMode);
	public static void RemoveListener (AudioSessionProperty property, AudioSession.PropertyListener listener);
	public static void SetActive (bool active);
	public static AudioSessionErrors SetActive (bool active, AudioSessionActiveFlags flags);

	// inner types
	public sealed delegate PropertyListener : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public AudioSession.PropertyListener (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (AudioSessionProperty prop, int size, IntPtr data, System.AsyncCallback callback, object object);
		public virtual void EndInvoke (System.IAsyncResult result);
		public virtual void Invoke (AudioSessionProperty prop, int size, IntPtr data);
	}
}

New Type: AudioToolbox.AudioSessionException

public class AudioSessionException : System.Exception, System.Runtime.Serialization.ISerializable {
	// properties
	public AudioSessionErrors ErrorCode { get; }
}

New Type: AudioToolbox.AudioSessionPropertyEventArgs

public class AudioSessionPropertyEventArgs : System.EventArgs {
	// constructors
	public AudioSessionPropertyEventArgs (AudioSessionProperty prop, int size, IntPtr data);
	// properties
	public IntPtr Data { get; set; }
	public AudioSessionProperty Property { get; set; }
	public int Size { get; set; }
}

New Type: AudioToolbox.AudioSessionRouteChangeEventArgs

public class AudioSessionRouteChangeEventArgs : System.EventArgs {
	// constructors
	public AudioSessionRouteChangeEventArgs (IntPtr dictHandle);
	// properties
	public AudioSessionInputRouteKind CurrentInputRoute { get; }
	public AudioSessionOutputRouteKind[] CurrentOutputRoutes { get; }
	public Foundation.NSDictionary Dictionary { get; }
	public AudioSessionInputRouteKind PreviousInputRoute { get; }
	public AudioSessionOutputRouteKind[] PreviousOutputRoutes { get; }
	public AudioSessionRouteChangeReason Reason { get; }
}

New Type: AudioToolbox.InputSourceInfo

public class InputSourceInfo {
	// constructors
	public InputSourceInfo ();
	// properties
	public string Description { get; }
	public int ID { get; }
}

Namespace AudioUnit

Type Changed: AudioUnit.AudioComponent

Removed method:

public UIKit.UIImage GetIcon (float desiredPointSize);

Type Changed: AudioUnit.AudioUnit

Added methods:

[Obsolete ("This API is not available on iOS.")]
public static uint GetCurrentInputDevice ();

[Obsolete ("Use 'SetFormat' instead as it has the ability of returning a status code.")]
public void SetAudioFormat (AudioToolbox.AudioStreamBasicDescription audioFormat, AudioUnitScopeType scope, uint audioUnitElement);

New Type: AudioUnit.AudioObjectPropertyElement

[Serializable]
public enum AudioObjectPropertyElement {
	Master = 0,
}

New Type: AudioUnit.AudioObjectPropertyScope

[Serializable]
public enum AudioObjectPropertyScope {
	Global = 1735159650,
	Input = 1768845428,
	Output = 1869968496,
	PlayThrough = 1886679669,
}

New Type: AudioUnit.AudioObjectPropertySelector

[Serializable]
public enum AudioObjectPropertySelector {
	ActualSampleRate = 1634955892,
	BoxList = 1651472419,
	ClockDevice = 1634755428,
	ClockDeviceList = 1668049699,
	DefaultInputDevice = 1682533920,
	DefaultOutputDevice = 1682929012,
	DefaultSystemOutputDevice = 1934587252,
	Devices = 1684370979,
	HogModeIsAllowed = 1752131442,
	IOThreadOSWorkgroup = 1869838183,
	IsInitingOrExiting = 1768845172,
	MixStereoToMono = 1937010031,
	PlugInList = 1886152483,
	PowerHint = 1886353256,
	ProcessIsAudible = 1886221684,
	ProcessIsMaster = 1835103092,
	PropertyDevices = 1684370979,
	ServiceRestarted = 1936880500,
	SleepingIsAllowed = 1936483696,
	TranslateBundleIDToPlugIn = 1651074160,
	TranslateBundleIDToTransportManager = 1953325673,
	TranslateUIDToBox = 1969841250,
	TranslateUIDToDevice = 1969841252,
	TranslateUidToClockDevice = 1969841251,
	TransportManagerList = 1953326883,
	UnloadingIsAllowed = 1970170980,
	UserIDChanged = 1702193508,
	UserSessionIsActiveOrHeadless = 1970496882,
}

New Type: AudioUnit.AudioUnitPropertyIDType

[Serializable]
public enum AudioUnitPropertyIDType {
	AttenuationCurve = 3013,
	AudioChannelLayout = 19,
	BankName = 1007,
	BiquadCoefficients = 2203,
	BypassEffect = 21,
	BypassVoiceProcessing = 2100,
	CPULoad = 6,
	ChannelMap = 2002,
	ClassInfo = 0,
	ClassInfoFromDocument = 50,
	ContextName = 25,
	CurrentDevice = 2000,
	CurrentPlayTime = 3302,
	DeferredRendererExtraLatency = 3321,
	DeferredRendererPullSize = 3320,
	DeferredRendererWaitFrames = 3322,
	DependentParameters = 45,
	DistanceParams = 3010,
	ElementCount = 11,
	ElementName = 30,
	EnableIO = 2003,
	FactoryPresets = 24,
	FrequencyResponse = 52,
	HasIO = 2006,
	HostCallbacks = 27,
	HostReceivesRemoteControlEvents = 2011,
	HostTransportState = 2013,
	InPlaceProcessing = 29,
	InputAnchorTimeStamp = 3016,
	InputSampleInOutput = 49,
	InstrumentCount = 1000,
	InstrumentName = 1001,
	InstrumentNumber = 1004,
	IsInterAppConnected = 101,
	IsRunning = 2001,
	LastRenderError = 22,
	Latency = 12,
	LoadAudioFiles = 4101,
	LoadInstrument = 4102,
	LoadedOutOfProcess = 62,
	MIDICallbacks = 2010,
	MakeConnection = 1,
	MatrixDimensions = 3009,
	MatrixLevels = 3006,
	MaxNumberOfBands = 2201,
	MaximumFramesPerSlice = 14,
	MeterClipping = 3011,
	MeteringMode = 3007,
	MidiSynthEnablePreload = 4119,
	MuteOutput = 2104,
	Nickname = 54,
	NodeComponentDescription = 2014,
	NumberOfBands = 2200,
	OfflineRender = 37,
	ParameterClumpName = 35,
	ParameterHistoryInfo = 53,
	ParameterIDName = 34,
	ParameterInfo = 4,
	ParameterList = 3,
	ParameterStringFromValue = 33,
	ParameterValueFromString = 38,
	ParameterValueStrings = 16,
	ParametersForOverview = 57,
	PeerURL = 102,
	PresentPreset = 36,
	PresentationLatency = 40,
	RemoteControlEventListener = 100,
	RemoteControlToHost = 2012,
	RenderQuality = 26,
	RenderingFlags = 3003,
	RequestViewController = 56,
	ReverbRoomType = 10,
	SampleRate = 2,
	SampleRateConverterComplexity = 3014,
	ScheduleAudioSlice = 3300,
	ScheduleStartTimeStamp = 3301,
	ScheduledFileBufferSizeFrames = 3313,
	ScheduledFileIDs = 3310,
	ScheduledFileNumberBuffers = 3314,
	ScheduledFilePrime = 3312,
	ScheduledFileRegion = 3311,
	SetInputCallback = 2005,
	SetRenderCallback = 23,
	ShouldAllocateBuffer = 51,
	SoundBankURL = 1100,
	SpatializationAlgorithm = 3000,
	StartTime = 2004,
	StartTimestampsAtZero = 2007,
	StreamFormat = 8,
	SupportedChannelLayoutTags = 32,
	SupportedNumChannels = 13,
	SupportsMpe = 58,
	TailTime = 20,
	UsesInternalReverb = 1005,
	VoiceProcessingEnableAGC = 2101,
}

Namespace ClassKit

Type Changed: ClassKit.CLSErrorUserInfoKeys

Added property:

public static Foundation.NSString SuccessfulObjectsKey { get; }

Namespace CloudKit

Type Changed: CloudKit.CKAccountStatus

Added value:

TemporarilyUnavailable = 4,

Type Changed: CloudKit.CKErrorCode

Added value:

TemporarilyUnavailable = 36,

Type Changed: CloudKit.CKErrorFields

Added properties:

public static Foundation.NSString ErrorDomain { get; }
public static Foundation.NSString UserDidResetEncryptedDataKey { get; }

Type Changed: CloudKit.CKFetchDatabaseChangesOperation

Added property:

public virtual System.Action<CKRecordZoneID> RecordZoneWithIdWasDeletedDueToUserEncryptedDataReset { get; set; }

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added property:

public virtual CKFetchRecordZoneChangesRecordWasChangedHandler RecordWasChangedHandler { get; set; }

Type Changed: CloudKit.CKFetchRecordZonesOperation

Added property:

public virtual CKRecordZonePerRecordZoneCompletionHandler PerRecordZoneCompletionHandler { get; set; }

Type Changed: CloudKit.CKFetchShareParticipantsOperation

Added property:

public virtual CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler PerShareParticipantCompletionBlock { get; set; }

Type Changed: CloudKit.CKFetchSubscriptionsOperation

Added property:

public virtual CKFetchSubscriptionsPerSubscriptionCompletionHandler PerSubscriptionCompletionHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordZonesOperation

Added properties:

public virtual CKModifyRecordZonesPerRecordZoneDeleteHandler PerRecordZoneDeleteHandler { get; set; }
public virtual CKModifyRecordZonesPerRecordZoneSaveHandler PerRecordZoneSaveHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordsOperation

Added properties:

public virtual CKModifyRecordsOperationPerRecordDeleteHandler PerRecordDeleteHandler { get; set; }
public virtual CKModifyRecordsOperationPerRecordSaveHandler PerRecordSaveHandler { get; set; }

Type Changed: CloudKit.CKModifySubscriptionsOperation

Added properties:

public virtual CKModifySubscriptionsPerSubscriptionDeleteHandler PerSubscriptionDeleteHandler { get; set; }
public virtual CKModifySubscriptionsPerSubscriptionSaveHandler PerSubscriptionSaveHandler { get; set; }

Type Changed: CloudKit.CKQueryOperation

Added property:

public virtual CKQueryOperationRecordMatchedHandler RecordMatchedHandler { get; set; }

Type Changed: CloudKit.CKRecord

Added property:

public static Foundation.NSString NameZoneWideShare { get; }

Type Changed: CloudKit.CKRecordID

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public CKRecordID ();

Type Changed: CloudKit.CKRecordZone

Added property:

public virtual CKReference Share { get; }

Type Changed: CloudKit.CKRecordZoneCapabilities

Added value:

ZoneWideSharing = 8,

Type Changed: CloudKit.CKRecordZoneID

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public CKRecordZoneID ();

Type Changed: CloudKit.CKShare

Added constructor:

public CKShare (CKRecordZoneID recordZoneId);

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKRecordID HierarchicalRootRecordId { get; }

Type Changed: CloudKit.CKSubscription

Removed property:

public virtual CKRecordZoneID ZoneID { get; set; }

New Type: CloudKit.CKFetchRecordZoneChangesRecordWasChangedHandler

public sealed delegate CKFetchRecordZoneChangesRecordWasChangedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchRecordZoneChangesRecordWasChangedHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler

public sealed delegate CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKUserIdentityLookupInfo identityLookupInfo, CKShareParticipant participant, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKUserIdentityLookupInfo identityLookupInfo, CKShareParticipant participant, Foundation.NSError error);
}

New Type: CloudKit.CKFetchSubscriptionsPerSubscriptionCompletionHandler

public sealed delegate CKFetchSubscriptionsPerSubscriptionCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKFetchSubscriptionsPerSubscriptionCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneDeleteHandler

public sealed delegate CKModifyRecordZonesPerRecordZoneDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordZonesPerRecordZoneDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID zoneId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID zoneId, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneSaveHandler

public sealed delegate CKModifyRecordZonesPerRecordZoneSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordZonesPerRecordZoneSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID zoneId, CKRecordZone zone, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID zoneId, CKRecordZone zone, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordsOperationPerRecordDeleteHandler

public sealed delegate CKModifyRecordsOperationPerRecordDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordsOperationPerRecordDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, Foundation.NSError error);
}

New Type: CloudKit.CKModifyRecordsOperationPerRecordSaveHandler

public sealed delegate CKModifyRecordsOperationPerRecordSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifyRecordsOperationPerRecordSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionDeleteHandler

public sealed delegate CKModifySubscriptionsPerSubscriptionDeleteHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifySubscriptionsPerSubscriptionDeleteHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, Foundation.NSError error);
}

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionSaveHandler

public sealed delegate CKModifySubscriptionsPerSubscriptionSaveHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKModifySubscriptionsPerSubscriptionSaveHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString subscriptionId, CKSubscription subscription, Foundation.NSError error);
}

New Type: CloudKit.CKQueryOperationRecordMatchedHandler

public sealed delegate CKQueryOperationRecordMatchedHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKQueryOperationRecordMatchedHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordID recordId, CKRecord record, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordID recordId, CKRecord record, Foundation.NSError error);
}

New Type: CloudKit.CKRecordZonePerRecordZoneCompletionHandler

public sealed delegate CKRecordZonePerRecordZoneCompletionHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public CKRecordZonePerRecordZoneCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CKRecordZoneID recordZoneId, CKRecordZone recordZone, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CKRecordZoneID recordZoneId, CKRecordZone recordZone, Foundation.NSError error);
}

Namespace Contacts

Type Changed: Contacts.CNContact

Added property:

public static Foundation.NSString ErrorDomain { get; }

Type Changed: Contacts.CNErrorCode

Added value:

ChangeHistoryInvalidFetchRequest = 605,

Type Changed: Contacts.CNGroup_PredicatesExtension

Added method:

[Obsolete ("This API is only available on macOS 10.11+.")]
public static Foundation.NSPredicate GetPredicateForSubgroupsInGroup (CNGroup This, string parentGroupIdentifier);

Type Changed: Contacts.CNSaveRequest

Added property:

public virtual string TransactionAuthor { get; set; }

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Removed events:

public event System.EventHandler<CBPeripheralsEventArgs> RetrievedConnectedPeripherals;
public event System.EventHandler<CBPeripheralsEventArgs> RetrievedPeripherals;

Type Changed: CoreBluetooth.CBCentralManagerDelegate

Removed methods:

public virtual void RetrievedConnectedPeripherals (CBCentralManager central, CBPeripheral[] peripherals);
public virtual void RetrievedPeripherals (CBCentralManager central, CBPeripheral[] peripherals);

Type Changed: CoreBluetooth.CBCentralManagerDelegate_Extensions

Removed methods:

public static void RetrievedConnectedPeripherals (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral[] peripherals);
public static void RetrievedPeripherals (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral[] peripherals);

Type Changed: CoreBluetooth.CBPeer

Added constructor:

[Obsolete ("This type is not meant to be created by user code.")]
public CBPeer ();

Type Changed: CoreBluetooth.CBPeripheral

Removed event:

public event System.EventHandler InvalidatedService;

Type Changed: CoreBluetooth.CBPeripheralDelegate

Removed method:

public virtual void InvalidatedService (CBPeripheral peripheral);

Type Changed: CoreBluetooth.CBPeripheralDelegate_Extensions

Removed method:

public static void InvalidatedService (this ICBPeripheralDelegate This, CBPeripheral peripheral);

Type Changed: CoreBluetooth.CBUUID

Added properties:

public static Foundation.NSString AppearanceString { get; }
public static Foundation.NSString DeviceNameString { get; }
public static Foundation.NSString GenericAccessProfileString { get; }
public static Foundation.NSString GenericAttributeProfileString { get; }
public static Foundation.NSString PeripheralPreferredConnectionParametersString { get; }
public static Foundation.NSString PeripheralPrivacyFlagString { get; }
public static Foundation.NSString ReconnectionAddressString { get; }
public static Foundation.NSString ServiceChangedString { get; }

Removed Type CoreBluetooth.CBPeripheralsEventArgs

Namespace CoreData

Type Changed: CoreData.NSBatchInsertRequest

Removed constructor:

public NSBatchInsertRequest ();

Type Changed: CoreData.NSMergeConflict

Added constructor:

[Obsolete ("Default constructor is not available")]
public NSMergeConflict ();

Type Changed: CoreData.NSMergePolicy

Added constructor:

[Obsolete ("Default constructor is not available")]
public NSMergePolicy ();

Type Changed: CoreData.NSPersistentStore

Added constructor:

[Obsolete ("Default constructor is not available")]
public NSPersistentStore ();

Namespace CoreFoundation

Type Changed: CoreFoundation.CFBundle

Type Changed: CoreFoundation.CFBundle.Architecture

Modified fields:

-ARM = 18
+ARM = 12
-ARM64 = 16777234
+ARM64 = 16777228
-PPC = 24
+PPC = 18
-PPC64 = 16777240
+PPC64 = 16777234

Type Changed: CoreFoundation.CFString

Added methods:

public static IntPtr CreateNative (string value);
public static string FromHandle (IntPtr handle);
public static string FromHandle (IntPtr handle, bool releaseHandle);
public static void ReleaseNative (IntPtr handle);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added field:

[Obsolete ("Use a real 'null' value instead of this managed wrapper over a null native instance.")]
public static CGColorSpace Null;

Added method:

[Obsolete ("This method has been renamed 'CreateDeviceCmyk'.")]
public static CGColorSpace CreateDeviceCMYK ();

Type Changed: CoreGraphics.CGSize

Added methods:

[Obsolete ("Use 'ToCGPoint' instead.")]
public CGPoint ToPointF ();

[Obsolete ("Use 'ToRoundedCGSize' instead.")]
public CGSize ToSize ();

Namespace CoreHaptics

Type Changed: CoreHaptics.CHHapticErrorCode

Added values:

FileNotFound = -4851,
InsufficientPower = -4897,
InvalidEngineParameter = -4816,

Type Changed: CoreHaptics.CHHapticPatternDefinition

Added property:

public bool? EventWaveformUseVolumeEnvelope { get; set; }

New Type: CoreHaptics.CHHapticAudioResourceDefinition

public class CHHapticAudioResourceDefinition : Foundation.DictionaryContainer {
	// constructors
	public CHHapticAudioResourceDefinition ();
	public CHHapticAudioResourceDefinition (Foundation.NSDictionary dictionary);
	// properties
	public bool? UseVolumeEnvelope { get; set; }
}

Namespace CoreImage

Type Changed: CoreImage.CIFormat

Added values:

[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kBGRA8 instead.")]
BGRA8 = 2,

[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kRGBA8 instead.")]
RGBA8 = 3,

Type Changed: CoreImage.CISunbeamsGenerator

Added property:

public float CropAmount { get; set; }

New Type: CoreImage.CIConvolutionRGB3X3

public class CIConvolutionRGB3X3 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB3X3 ();
	public CIConvolutionRGB3X3 (Foundation.NSCoder coder);
	protected CIConvolutionRGB3X3 (Foundation.NSObjectFlag t);
	protected CIConvolutionRGB3X3 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB5X5

public class CIConvolutionRGB5X5 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB5X5 ();
	public CIConvolutionRGB5X5 (Foundation.NSCoder coder);
	protected CIConvolutionRGB5X5 (Foundation.NSObjectFlag t);
	protected CIConvolutionRGB5X5 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB7X7

public class CIConvolutionRGB7X7 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB7X7 ();
	public CIConvolutionRGB7X7 (Foundation.NSCoder coder);
	protected CIConvolutionRGB7X7 (Foundation.NSObjectFlag t);
	protected CIConvolutionRGB7X7 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Horizontal

public class CIConvolutionRGB9Horizontal : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Horizontal ();
	public CIConvolutionRGB9Horizontal (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Horizontal (Foundation.NSObjectFlag t);
	protected CIConvolutionRGB9Horizontal (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Vertical

public class CIConvolutionRGB9Vertical : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Vertical ();
	public CIConvolutionRGB9Vertical (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Vertical (Foundation.NSObjectFlag t);
	protected CIConvolutionRGB9Vertical (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CILinearLightBlendMode

public class CILinearLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CILinearLightBlendMode ();
	public CILinearLightBlendMode (Foundation.NSCoder coder);
	protected CILinearLightBlendMode (Foundation.NSObjectFlag t);
	protected CILinearLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.CIPersonSegmentation

public class CIPersonSegmentation : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIPersonSegmentation ();
	public CIPersonSegmentation (Foundation.NSCoder coder);
	protected CIPersonSegmentation (Foundation.NSObjectFlag t);
	protected CIPersonSegmentation (IntPtr handle);
	// properties
	public virtual CIImage OutputImage { get; }
	public int QualityLevel { get; set; }
}

New Type: CoreImage.CIVividLightBlendMode

public class CIVividLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIVividLightBlendMode ();
	public CIVividLightBlendMode (Foundation.NSCoder coder);
	protected CIVividLightBlendMode (Foundation.NSObjectFlag t);
	protected CIVividLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

Namespace CoreLocation

Type Changed: CoreLocation.CLLocationManager

Added methods:

public virtual void StartMonitoringLocationPushes (System.Action<Foundation.NSData,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<Foundation.NSData> StartMonitoringLocationPushesAsync ();
public virtual void StopMonitoringLocationPushes ();

New Type: CoreLocation.CLLocationPushServiceError

[Serializable]
public enum CLLocationPushServiceError {
	MissingEntitlement = 3,
	MissingPushExtension = 1,
	MissingPushServerEnvironment = 2,
	Unknown = 0,
}

New Type: CoreLocation.CLLocationPushServiceErrorExtensions

public static class CLLocationPushServiceErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this CLLocationPushServiceError self);
}

New Type: CoreLocation.CLLocationPushServiceExtension_Extensions

public static class CLLocationPushServiceExtension_Extensions {
	// methods
	public static void ServiceExtensionWillTerminate (this ICLLocationPushServiceExtension This);
}

New Type: CoreLocation.ICLLocationPushServiceExtension

public interface ICLLocationPushServiceExtension : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidReceiveLocationPushPayload (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> payload, System.Action completion);
}

Namespace CoreMedia

Type Changed: CoreMedia.CMTimeRange

Added field:

[Obsolete ("Use 'InvalidRange'.")]
public static CMTimeRange Invalid;

Namespace CoreMidi

Type Changed: CoreMidi.MidiCISession

Obsoleted constructors:

 [Obsolete ("Always throws 'NotSupportedException' (not a public API).")]
 public MidiCISession (uint entity, System.Action handler);

Type Changed: CoreMidi.MidiNetworkConnection

Removed constructor:

public MidiNetworkConnection ();

Type Changed: CoreMidi.MidiNetworkHost

Removed constructor:

public MidiNetworkHost ();

Namespace CoreMotion

Type Changed: CoreMotion.CMAltimeter

Added property:

public static bool IsAbsoluteAltitudeAvailable { get; }

Added methods:

public virtual void StartAbsoluteAltitudeUpdates (Foundation.NSOperationQueue queue, System.Action<CMAbsoluteAltitudeData,Foundation.NSError> handler);
public virtual void StopAbsoluteAltitudeUpdates ();

Type Changed: CoreMotion.CMSensorRecorder

Added method:

[Obsolete ("Apple removed this API in iOS 9.3.")]
public virtual CMSensorDataList GetAccelerometerDataSince (ulong identifier);

New Type: CoreMotion.CMAbsoluteAltitudeData

public class CMAbsoluteAltitudeData : CoreMotion.CMLogItem, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CMAbsoluteAltitudeData (Foundation.NSCoder coder);
	protected CMAbsoluteAltitudeData (Foundation.NSObjectFlag t);
	protected CMAbsoluteAltitudeData (IntPtr handle);
	// properties
	public virtual double Accuracy { get; }
	public virtual double Altitude { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double Precision { get; }
}

Namespace CoreSpotlight

Type Changed: CoreSpotlight.CSSearchableItemAttributeSet

Added properties:

public static Foundation.NSString ActionIdentifier { get; }
public virtual string[] ActionIdentifiers { get; set; }
public virtual Foundation.NSUrl DarkThumbnailUrl { get; set; }
public virtual UniformTypeIdentifiers.UTType SharedItemContentType { get; set; }

New Type: CoreSpotlight.CSImportExtension

public abstract class CSImportExtension : Foundation.NSObject, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CSImportExtension ();
	protected CSImportExtension (Foundation.NSObjectFlag t);
	protected CSImportExtension (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);
	public virtual bool Update (CSSearchableItemAttributeSet attributes, Foundation.NSUrl contentUrl, out Foundation.NSError error);
}

Namespace CoreText

Type Changed: CoreText.CTFontManager

Added field:

public static Foundation.NSString ErrorDomain;

Added method:

[Obsolete ("API not available on iOS, it will always return false.")]
public static bool IsFontSupported (Foundation.NSUrl url);

Type Changed: CoreText.CTRunDelegate

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~CTRunDelegate ();

Type Changed: CoreText.CTRunDelegateOperations

Added property:

public IntPtr Handle { get; }

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBuffer

Added properties:

public static Foundation.NSString AmbientViewingEnvironmentKey { get; }

[Obsolete ("This API is not available on this platform.")]
public CoreGraphics.CGColorSpace ColorSpace { get; }
public static Foundation.NSString RegionOfInterestKey { get; }

Type Changed: CoreVideo.CVPixelBuffer

Removed properties:

public static Foundation.NSString OpenGLESCompatibilityKey { get; }
public static Foundation.NSString OpenGLESTextureCacheCompatibilityKey { get; }

Added properties:

public static Foundation.NSString OpenGLTextureCacheCompatibilityKey { get; }
public static Foundation.NSString ProResRawKey_BlackLevel { get; }
public static Foundation.NSString ProResRawKey_ColorMatrix { get; }
public static Foundation.NSString ProResRawKey_GainFactor { get; }
public static Foundation.NSString ProResRawKey_RecommendedCrop { get; }
public static Foundation.NSString ProResRawKey_SenselSitingOffsets { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceBlueFactor { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceCct { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceRedFactor { get; }
public static Foundation.NSString ProResRawKey_WhiteLevel { get; }
public static Foundation.NSString VersatileBayerKey_BayerPattern { get; }

Added methods:

public CVPixelBufferAttributes GetPixelBufferCreationAttributes ();

[Obsolete ("Use 'Lock (CVPixelBufferLock)' instead.")]
public CVReturn Lock (CVOptionFlags lockFlags);

[Obsolete ("Use 'Unlock (CVPixelBufferLock)'.")]
public CVReturn Unlock (CVOptionFlags unlockFlags);

Type Changed: CoreVideo.CVPixelBufferAttributes

Removed property:

public bool? OpenGLESCompatibility { get; set; }

Type Changed: CoreVideo.CVPixelBufferPool

Added properties:

public static Foundation.NSString AlphaChannelIsOpaque { get; }
public static Foundation.NSString AlphaChannelModeKey { get; }
public static Foundation.NSString AmbientViewingEnvironmentKey { get; }
public static Foundation.NSString CGColorSpaceKey { get; }
public static Foundation.NSString ChromaLocationBottomFieldKey { get; }
public static Foundation.NSString ChromaLocationTopFieldKey { get; }
public static Foundation.NSString ChromaLocation_Bottom { get; }
public static Foundation.NSString ChromaLocation_BottomLeft { get; }
public static Foundation.NSString ChromaLocation_Center { get; }
public static Foundation.NSString ChromaLocation_DV420 { get; }
public static Foundation.NSString ChromaLocation_Left { get; }
public static Foundation.NSString ChromaLocation_Top { get; }
public static Foundation.NSString ChromaLocation_TopLeft { get; }
public static Foundation.NSString ChromaSubsamplingKey { get; }
public static Foundation.NSString ChromaSubsampling_411 { get; }
public static Foundation.NSString ChromaSubsampling_420 { get; }
public static Foundation.NSString ChromaSubsampling_422 { get; }
public static Foundation.NSString CleanApertureHeightKey { get; }
public static Foundation.NSString CleanApertureHorizontalOffsetKey { get; }
public static Foundation.NSString CleanApertureKey { get; }
public static Foundation.NSString CleanApertureVerticalOffsetKey { get; }
public static Foundation.NSString CleanApertureWidthKey { get; }
public static Foundation.NSString ColorPrimariesKey { get; }
public static Foundation.NSString ColorPrimaries_DCI_P3 { get; }
public static Foundation.NSString ColorPrimaries_EBU_3213 { get; }
public static Foundation.NSString ColorPrimaries_ITU_R_2020 { get; }
public static Foundation.NSString ColorPrimaries_ITU_R_709_2 { get; }
public static Foundation.NSString ColorPrimaries_P22 { get; }
public static Foundation.NSString ColorPrimaries_P3_D65 { get; }
public static Foundation.NSString ColorPrimaries_SMPTE_C { get; }
public static Foundation.NSString ContentLightLevelInfoKey { get; }
public static Foundation.NSString DisplayDimensionsKey { get; }
public static Foundation.NSString DisplayHeightKey { get; }
public static Foundation.NSString DisplayWidthKey { get; }
public static Foundation.NSString FieldCountKey { get; }
public static Foundation.NSString FieldDetailKey { get; }
public static Foundation.NSString FieldDetailSpatialFirstLineEarly { get; }
public static Foundation.NSString FieldDetailSpatialFirstLineLate { get; }
public static Foundation.NSString FieldDetailTemporalBottomFirst { get; }
public static Foundation.NSString FieldDetailTemporalTopFirst { get; }
public static Foundation.NSString GammaLevelKey { get; }
public static Foundation.NSString MasteringDisplayColorVolumeKey { get; }
public static Foundation.NSString MovieTimeKey { get; }
public static Foundation.NSString NonPropagatedAttachmentsKey { get; }
public static Foundation.NSString PixelAspectRatioHorizontalSpacingKey { get; }
public static Foundation.NSString PixelAspectRatioKey { get; }
public static Foundation.NSString PixelAspectRatioVerticalSpacingKey { get; }
public static Foundation.NSString PreferredCleanApertureKey { get; }
public static Foundation.NSString PropagatedAttachmentsKey { get; }
public static Foundation.NSString RegionOfInterestKey { get; }
public static Foundation.NSString TimeScaleKey { get; }
public static Foundation.NSString TimeValueKey { get; }
public static Foundation.NSString TransferFunctionKey { get; }
public static Foundation.NSString TransferFunction_ITU_R_2020 { get; }
public static Foundation.NSString TransferFunction_ITU_R_2100_HLG { get; }
public static Foundation.NSString TransferFunction_ITU_R_709_2 { get; }
public static Foundation.NSString TransferFunction_SMPTE_240M_1995 { get; }
public static Foundation.NSString TransferFunction_SMPTE_ST_2084_PQ { get; }
public static Foundation.NSString TransferFunction_SMPTE_ST_428_1 { get; }
public static Foundation.NSString TransferFunction_UseGamma { get; }
public static Foundation.NSString TransferFunction_sRGB { get; }
public static Foundation.NSString YCbCrMatrixKey { get; }
public static Foundation.NSString YCbCrMatrix_DCI_P3 { get; }
public static Foundation.NSString YCbCrMatrix_ITU_R_2020 { get; }
public static Foundation.NSString YCbCrMatrix_ITU_R_601_4 { get; }
public static Foundation.NSString YCbCrMatrix_ITU_R_709_2 { get; }
public static Foundation.NSString YCbCrMatrix_P3_D65 { get; }
public static Foundation.NSString YCbCrMatrix_SMPTE_240M_1995 { get; }

Type Changed: CoreVideo.CVPixelFormatDescription

Added methods:

public static Foundation.NSDictionary Create (int pixelFormat);
public static void Register (Foundation.NSDictionary description, int pixelFormat);

New Type: CoreVideo.CVImageBufferAlphaChannelModeExtensions

public static class CVImageBufferAlphaChannelModeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this CVImageBufferAlphaChannelMode self);
	public static CVImageBufferAlphaChannelMode GetValue (Foundation.NSString constant);
}

New Type: CoreVideo.CVPixelFormatTypeExtensions

public static class CVPixelFormatTypeExtensions {
	// methods
	public static bool IsCompressedPixelFormatAvailable (this CVPixelFormatType type);
}

Namespace EventKit

Type Changed: EventKit.EKCalendar

Removed method:

public static EKCalendar FromEventStore (EKEventStore eventStore);

Type Changed: EventKit.EKErrorCode

Added value:

ReminderAlarmContainsEmailOrUrl = 36,

Type Changed: EventKit.EKParticipant

Added constructor:

public EKParticipant ();

New Type: EventKit.EKVirtualConferenceDescriptor

public class EKVirtualConferenceDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKVirtualConferenceDescriptor (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceDescriptor (IntPtr handle);
	public EKVirtualConferenceDescriptor (string title, EKVirtualConferenceUrlDescriptor[] urlDescriptors, string conferenceDetails);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ConferenceDetails { get; }
	public virtual string Title { get; }
	public virtual EKVirtualConferenceUrlDescriptor[] UrlDescriptors { get; }
}

New Type: EventKit.EKVirtualConferenceProvider

public class EKVirtualConferenceProvider : Foundation.NSObject, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public EKVirtualConferenceProvider ();
	protected EKVirtualConferenceProvider (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);
	public virtual void FetchAvailableRoomTypes (VirtualConferenceRoomTypeHandler handler);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor>> FetchAvailableRoomTypesAsync ();
	public virtual void FetchVirtualConference (string identifier, VirtualConferenceHandler handler);
	public virtual System.Threading.Tasks.Task<EKVirtualConferenceDescriptor> FetchVirtualConferenceAsync (string identifier);
}

New Type: EventKit.EKVirtualConferenceRoomTypeDescriptor

public class EKVirtualConferenceRoomTypeDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKVirtualConferenceRoomTypeDescriptor (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceRoomTypeDescriptor (IntPtr handle);
	public EKVirtualConferenceRoomTypeDescriptor (string title, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
	public virtual string Title { get; }
}

New Type: EventKit.EKVirtualConferenceUrlDescriptor

public class EKVirtualConferenceUrlDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKVirtualConferenceUrlDescriptor (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceUrlDescriptor (IntPtr handle);
	public EKVirtualConferenceUrlDescriptor (string title, Foundation.NSUrl url);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Title { get; }
	public virtual Foundation.NSUrl Url { get; }
}

New Type: EventKit.VirtualConferenceHandler

public sealed delegate VirtualConferenceHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public VirtualConferenceHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (EKVirtualConferenceDescriptor virtualConferenceDescriptor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (EKVirtualConferenceDescriptor virtualConferenceDescriptor, Foundation.NSError error);
}

New Type: EventKit.VirtualConferenceRoomTypeHandler

public sealed delegate VirtualConferenceRoomTypeHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public VirtualConferenceRoomTypeHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor> virtualConferenceRoomTypeDescriptor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor> virtualConferenceRoomTypeDescriptor, Foundation.NSError error);
}

Namespace ExternalAccessory

Type Changed: ExternalAccessory.EAAccessoryManager

Added property:

public static Foundation.NSString BluetoothAccessoryPickerErrorDomain { get; }

Removed methods:

public virtual void ShowBluetoothAccessoryPicker (Foundation.NSPredicate predicate, System.Action<Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task ShowBluetoothAccessoryPickerAsync (Foundation.NSPredicate predicate);

Namespace Foundation

Type Changed: Foundation.NSAttributedString

Added method:

public static NSAttributedString CreateFrom (UIKit.NSTextAttachment attachment);

Type Changed: Foundation.NSError

Added properties:

public static NSString EABluetoothAccessoryPickerErrorDomain { get; }
public static NSString MapKitErrorDomain { get; }

Type Changed: Foundation.NSFileManagerDelegate

Added method:

[Obsolete ("API removed after iOS 2.0 / macOS 10.5. It will never be called by the OS.")]
public virtual bool ShouldProceedAfterError (NSFileManager fm, NSDictionary errorInfo);

Type Changed: Foundation.NSFileManagerDelegate_Extensions

Added method:

[Obsolete ("API removed after iOS 2.0 / macOS 10.5. It will never be called by the OS.")]
public static bool ShouldProceedAfterError (INSFileManagerDelegate This, NSFileManager fm, NSDictionary errorInfo);

Type Changed: Foundation.NSNetService

Added constructor:

[Obsolete ("This constructor does not create a valid instance of the type")]
public NSNetService ();

Type Changed: Foundation.NSObject

Added methods:

[Obsolete ("Do not use; this API does not properly retain/release existing/new values, so leaks and/or crashes may occur.")]
public NSObject GetNativeField (string name);
public static bool IsNewRefcountEnabled ();

[Obsolete ("Do not use; this API does not properly retain/release existing/new values, so leaks and/or crashes may occur.")]
public void SetNativeField (string name, NSObject value);

Type Changed: Foundation.NSOperation

Added method:

[Obsolete ("Use 'WaitUntilFinished' method.")]
public virtual void WaitUntilFinishedNS ();

Type Changed: Foundation.NSPortDelegate

Removed method:

public virtual void MessageReceived (NSPortMessage message);

Type Changed: Foundation.NSString

Obsoleted methods:

 [Obsolete ("Use of 'CFString.CreateNative' offers better performance.")]
 public static IntPtr CreateNative (string str);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr usrhandle);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr handle, bool owns);

Type Changed: Foundation.NSStringDrawingContext

Removed property:

public virtual nfloat MinimumTrackingAdjustment { get; set; }

Type Changed: Foundation.NSUrlSession

Added methods:

[Obsolete ("Use GetTasks2 instead. This method may throw spurious InvalidCastExceptions, in particular for backgrounded tasks.")]
public virtual void GetTasks (NSUrlSessionPendingTasks completionHandler);

[Obsolete ("Use GetTasks2 instead. This method may throw spurious InvalidCastExceptions, in particular for backgrounded tasks.")]
public virtual System.Threading.Tasks.Task<NSUrlSessionActiveTasks> GetTasksAsync ();

Type Changed: Foundation.NSUrl_PromisedItems

Added method:

[Obsolete ("Use overload with an 'out NSObject value' parameter.")]
public static bool GetPromisedItemResourceValue (NSUrl This, NSObject value, NSString key, out NSError error);

Type Changed: Foundation.NSUserActivity

Removed property:

public virtual AppClip.APActivationPayload AppClipActivationPayload { get; }

Removed Type Foundation.NSPortDelegate_Extensions

Removed Type Foundation.NSPortMessage

New Type: Foundation.NSBundleExecutableArchitecture

[Serializable]
public enum NSBundleExecutableArchitecture {
	ARM64 = 16777228,
	I386 = 7,
	PPC = 18,
	PPC64 = 16777234,
	X86_64 = 16777223,
}

New Type: Foundation.NSDistributedNotificationCenter

public class NSDistributedNotificationCenter {
	// constructors
	public NSDistributedNotificationCenter ();
	// methods

	[Obsolete ("This is not available in iOS.")]
public void AddObserver (NSObject observer, ObjCRuntime.Selector aSelector, string aName, string anObject);

	[Obsolete ("This is not available in iOS.")]
public void RemoveObserver (NSObject observer, string aName, string anObject);
}

New Type: Foundation.NSTextWritingDirection

[Serializable]
[Flags]
public enum NSTextWritingDirection {
	Embedding = 0,
	Override = 2,
}

New Type: Foundation.NSUrlSessionActiveTasks

public class NSUrlSessionActiveTasks {
	// constructors
	public NSUrlSessionActiveTasks (NSUrlSessionDataTask[] dataTasks, NSUrlSessionUploadTask[] uploadTasks, NSUrlSessionDownloadTask[] downloadTasks);
	// properties
	public NSUrlSessionDataTask[] DataTasks { get; set; }
	public NSUrlSessionDownloadTask[] DownloadTasks { get; set; }
	public NSUrlSessionUploadTask[] UploadTasks { get; set; }
}

New Type: Foundation.NSUrlSessionPendingTasks

public sealed delegate NSUrlSessionPendingTasks : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSUrlSessionPendingTasks (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSUrlSessionDataTask[] dataTasks, NSUrlSessionUploadTask[] uploadTasks, NSUrlSessionDownloadTask[] downloadTasks, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (NSUrlSessionDataTask[] dataTasks, NSUrlSessionUploadTask[] uploadTasks, NSUrlSessionDownloadTask[] downloadTasks);
}

Namespace GameController

Type Changed: GameController.GCKey

Added properties:

public static Foundation.NSString F13 { get; }
public static Foundation.NSString F14 { get; }
public static Foundation.NSString F15 { get; }
public static Foundation.NSString F16 { get; }
public static Foundation.NSString F17 { get; }
public static Foundation.NSString F18 { get; }
public static Foundation.NSString F19 { get; }
public static Foundation.NSString F20 { get; }

Type Changed: GameController.GCKeyCode

Added properties:

public static nint F13 { get; }
public static nint F14 { get; }
public static nint F15 { get; }
public static nint F16 { get; }
public static nint F17 { get; }
public static nint F18 { get; }
public static nint F19 { get; }
public static nint F20 { get; }

Type Changed: GameController.GCPhysicalInputProfile

Added properties:

public virtual Foundation.NSSet<GCControllerTouchpad> AllTouchpads { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,GameController.GCControllerTouchpad> Touchpads { get; }

New Type: GameController.GCVirtualController

public class GCVirtualController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected GCVirtualController (Foundation.NSObjectFlag t);
	protected GCVirtualController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual GCController Controller { get; }
	// methods
	public virtual void Change (string element, GCVirtualControllerElementUpdateBlock configuration);
	public virtual void Connect (System.Action<Foundation.NSError> reply);
	public virtual System.Threading.Tasks.Task ConnectAsync ();
	public static GCVirtualController Create (GCVirtualControllerConfiguration configuration);
	public virtual void Disconnect ();
	protected override void Dispose (bool disposing);
}

New Type: GameController.GCVirtualControllerConfiguration

public class GCVirtualControllerConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GCVirtualControllerConfiguration ();
	protected GCVirtualControllerConfiguration (Foundation.NSObjectFlag t);
	protected GCVirtualControllerConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<Foundation.NSString> Elements { get; set; }
}

New Type: GameController.GCVirtualControllerElementConfiguration

public class GCVirtualControllerElementConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public GCVirtualControllerElementConfiguration ();
	protected GCVirtualControllerElementConfiguration (Foundation.NSObjectFlag t);
	protected GCVirtualControllerElementConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Hidden { get; set; }
	public virtual UIKit.UIBezierPath Path { get; set; }
	public virtual bool Touchpad { get; set; }
}

New Type: GameController.GCVirtualControllerElementUpdateBlock

public sealed delegate GCVirtualControllerElementUpdateBlock : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public GCVirtualControllerElementUpdateBlock (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (GCVirtualControllerElementConfiguration configuration, System.AsyncCallback callback, object object);
	public virtual GCVirtualControllerElementConfiguration EndInvoke (System.IAsyncResult result);
	public virtual GCVirtualControllerElementConfiguration Invoke (GCVirtualControllerElementConfiguration configuration);
}

Namespace GameKit

Type Changed: GameKit.GKError

Added value:

FriendRequestNotAvailable = 103,

Type Changed: GameKit.GKGameCenterViewControllerState

Added value:

LocalPlayerFriendsList = 5,

Type Changed: GameKit.GKLeaderboardSet

Removed methods:

public virtual void LoadImage (GKImageLoadedHandler completionHandler);
public virtual System.Threading.Tasks.Task<UIKit.UIImage> LoadImageAsync ();

Type Changed: GameKit.GKLocalPlayer

Added property:

public virtual bool IsPresentingFriendRequestViewController { get; }

Type Changed: GameKit.GKMatch

Added method:

public virtual bool SendData (Foundation.NSData data, string[] players, GKMatchSendDataMode mode, Foundation.NSError error);

Type Changed: GameKit.GKMatchRequest

Added method:

[Obsolete ("Use 'RecipientResponseHandler' property.")]
public virtual void SetRecipientResponseHandler (System.Action<GKPlayer,GameKit.GKInviteRecipientResponse> handler);

Type Changed: GameKit.GKMatchmaker

Added method:

[Obsolete ("Use 'InviteHandler' property.")]
public virtual void SetInviteHandler (GKInviteHandler handler);

Type Changed: GameKit.GKMatchmakerViewController

Added property:

public virtual bool CanStartWithMinimumPlayers { get; set; }

Type Changed: GameKit.GKMatchmakingMode

Added value:

InviteOnly = 3,

Type Changed: GameKit.GKTurnBasedMatchmakerViewController

Added property:

public virtual GKMatchmakingMode MatchmakingMode { get; set; }

Type Changed: GameKit.GKVoiceChat

Added method:

[Obsolete ("Use 'SetMute (bool, string)' method.")]
public virtual void SetMute (bool isMuted, GKPlayer player);

Removed Type GameKit.GKAchievementViewController

Removed Type GameKit.GKAchievementViewControllerDelegate

Removed Type GameKit.GKAuthenticationType

Removed Type GameKit.GKLeaderboardViewController

Removed Type GameKit.GKLeaderboardViewControllerDelegate

Removed Type GameKit.IGKAchievementViewControllerDelegate

Removed Type GameKit.IGKLeaderboardViewControllerDelegate

Namespace GameplayKit

Type Changed: GameplayKit.GKQuadTree

Removed constructor:

public GKQuadTree (OpenTK.Vector2 min, OpenTK.Vector2 max, float minCellSize);

Removed methods:

public virtual GKQuadTreeNode AddData (Foundation.NSObject data, OpenTK.Vector2 point);
public virtual GKQuadTreeNode AddData (Foundation.NSObject data, OpenTK.Vector2 quadOrigin, OpenTK.Vector2 quadSize);

[Obsolete ("Use the constructor with the same signature.")]
public static GKQuadTree QuadTreeWithMinPosition (OpenTK.Vector2 min, OpenTK.Vector2 max, float minCellSize);
public virtual Foundation.NSObject[] QueryData (OpenTK.Vector2 point);
public virtual Foundation.NSObject[] QueryData (OpenTK.Vector2 quadOrigin, OpenTK.Vector2 quadSize);
public virtual bool RemoveData (Foundation.NSObject data);
public virtual bool RemoveData (Foundation.NSObject data, GKQuadTreeNode node);

Type Changed: GameplayKit.GKQuadTreeNode

Removed constructor:

[Obsolete ("A valid instance of this type cannot be directly created.")]
public GKQuadTreeNode ();

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString GroupImageIndexLeft { get; }
public static Foundation.NSString GroupImageIndexRight { get; }
public static Foundation.NSString GroupImageIsAlternateImage { get; }
public static Foundation.NSString GroupImageIsLeftImage { get; }
public static Foundation.NSString GroupImageIsRightImage { get; }
public static Foundation.NSString GroupImagesAlternate { get; }
public static Foundation.NSString GroupIndex { get; }
public static Foundation.NSString GroupType { get; }
public static Foundation.NSString GroupTypeAlternate { get; }
public static Foundation.NSString GroupTypeStereoPair { get; }
public static Foundation.NSString Groups { get; }
public static Foundation.NSString ImageIndex { get; }

Namespace Intents

Type Changed: Intents.INImage

Removed methods:

public virtual void FetchImage (System.Action<UIKit.UIImage> completion);
public virtual System.Threading.Tasks.Task<UIKit.UIImage> FetchImageAsync ();
public static INImage FromImage (CoreGraphics.CGImage image);
public static INImage FromImage (UIKit.UIImage image);
public static CoreGraphics.CGSize GetImageSize (INIntentResponse response);

Type Changed: Intents.INPreferences

Removed constructor:

public INPreferences ();

Namespace JavaScriptCore

Type Changed: JavaScriptCore.JSManagedValue

Added constructor:

public JSManagedValue ();

Namespace LinkPresentation

Type Changed: LinkPresentation.LPMetadataProvider

Added methods:

public virtual void StartFetchingMetadata (Foundation.NSUrlRequest request, System.Action<LPLinkMetadata,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<LPLinkMetadata> StartFetchingMetadataAsync (Foundation.NSUrlRequest request);

Namespace MapKit

Type Changed: MapKit.MKAnnotationView

Added properties:

public virtual CoreGraphics.CGPoint LeftCalloutOffset { get; set; }
public virtual CoreGraphics.CGPoint RightCallpoutOffset { get; set; }

Type Changed: MapKit.MKDirections

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public MKDirections ();

Type Changed: MapKit.MKLocalSearchCompletion

Added constructor:

public MKLocalSearchCompletion ();

Type Changed: MapKit.MKMapItem

Modified methods:

 public bool OpenMaps (MKMapItem[] mapItems--- = NULL---, MKLaunchOptions launchOptions = NULL)

Type Changed: MapKit.MKMapView

Added property:

public virtual bool ShowsZoomControls { get; set; }

Namespace MediaPlayer

Type Changed: MediaPlayer.MPMediaItemArtwork

Added constructor:

[Obsolete ("Use the (UIImage) constructor instead, iOS9 does not allow creating an empty instance.")]
public MPMediaItemArtwork ();

Type Changed: MediaPlayer.MPMediaItemCollection

Added property:

public static Foundation.NSString PropertyPersistentID { get; }

Added methods:

public static bool CanFilterByProperty (Foundation.NSString property);
public virtual void EnumerateValues (Foundation.NSSet propertiesToEnumerate, MPMediaItemEnumerator enumerator);
public virtual Foundation.NSObject GetObject (Foundation.NSObject key);
public virtual Foundation.NSObject ValueForProperty (Foundation.NSString property);

Type Changed: MediaPlayer.MPMoviePlayerController

Removed method:

public static void PrepareForPrerollAds ();

Type Changed: MediaPlayer.MPNowPlayingInfoCenter

Removed property:

public virtual MPNowPlayingPlaybackState PlaybackState { get; set; }

Type Changed: MediaPlayer.MPPlayableContentDataSource

Added method:

[Obsolete ("Use 'MPPlayableContentDataSource_Extensions.GetContentItemAsync' instead.")]
public virtual System.Threading.Tasks.Task<MPContentItem> GetContentItemAsync (string identifier);

Type Changed: MediaPlayer.MPPlayableContentDelegate

Added method:

[Obsolete ("Use 'InitiatePlaybackOfContentItem' instead.")]
public virtual void PlayableContentManager (MPPlayableContentManager contentManager, Foundation.NSIndexPath indexPath, System.Action<Foundation.NSError> completionHandler);

Type Changed: MediaPlayer.MPPlayableContentDelegate_Extensions

Added method:

[Obsolete ("Use 'InitiatePlaybackOfContentItem' instead.")]
public static void PlayableContentManager (this IMPPlayableContentDelegate This, MPPlayableContentManager contentManager, Foundation.NSIndexPath indexPath, System.Action<Foundation.NSError> completionHandler);

Type Changed: MediaPlayer.MPTimedMetadata

Removed property:

public virtual Foundation.NSObject Value { get; }

Added property:

public virtual Foundation.NSObject value { get; }

Namespace MultipeerConnectivity

Type Changed: MultipeerConnectivity.MCAdvertiserAssistant

Added constructor:

[Obsolete ("This constructor does not create a valid instance")]
public MCAdvertiserAssistant ();

Type Changed: MultipeerConnectivity.MCPeerID

Added constructor:

[Obsolete ("This constructor does not create a valid instance")]
public MCPeerID ();

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Removed fields:

public static const string ARKitLibrary = "/System/Library/Frameworks/ARKit.framework/ARKit";
public static const string AddressBookUILibrary = "/System/Library/Frameworks/AddressBookUI.framework/AddressBookUI";
public static const string AppClipLibrary = "/System/Library/Frameworks/AppClip.framework/AppClip";
public static const string AssetsLibraryLibrary = "/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary";
public static const string CarPlayLibrary = "/System/Library/Frameworks/CarPlay.framework/CarPlay";
public static const string CoreTelephonyLibrary = "/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony";
public static const string EventKitUILibrary = "/System/Library/Frameworks/EventKitUI.framework/EventKitUI";
public static const string HealthKitLibrary = "/System/Library/Frameworks/HealthKit.framework/HealthKit";
public static const string HealthKitUILibrary = "/System/Library/Frameworks/HealthKitUI.framework/HealthKitUI";
public static const string HomeKitLibrary = "/System/Library/Frameworks/HomeKit.framework/HomeKit";
public static const string IdentityLookupUILibrary = "/System/Library/Frameworks/IdentityLookupUI.framework/IdentityLookupUI";
public static const string MessageUILibrary = "/System/Library/Frameworks/MessageUI.framework/MessageUI";
public static const string MessagesLibrary = "/System/Library/Frameworks/Messages.framework/Messages";
public static const string VisionKitLibrary = "/System/Library/Frameworks/VisionKit.framework/VisionKit";
public static const string WatchConnectivityLibrary = "/System/Library/Frameworks/WatchConnectivity.framework/WatchConnectivity";
public static const string iAdLibrary = "/System/Library/Frameworks/iAd.framework/iAd";

Modified fields:

-public const string SdkVersion = "@IOS_SDK_VERSION@";
+public const string SdkVersion = "15.0";
-public const string Version = "14.16.0";
+public const string Version = "14.99.0";

Added fields:

public static const string ChipLibrary = "/System/Library/Frameworks/CHIP.framework/CHIP";
public static const string CoreLocationUILibrary = "/System/Library/Frameworks/CoreLocationUI.framework/CoreLocationUI";
public static const string CoreWlanLibrary = "/System/Library/Frameworks/CoreWLAN.framework/CoreWLAN";

Type Changed: ObjCRuntime.PlatformName

Obsoleted fields:

 [Obsolete ("Use 'MacCatalyst' instead.")]
 UIKitForMac = 5,

Type Changed: ObjCRuntime.Runtime

Added method:

public static void ThrowException (IntPtr gchandle);

New Type: ObjCRuntime.AvailabilityAttribute

public class AvailabilityAttribute : System.Attribute {
	// constructors
	public AvailabilityAttribute ();
	public AvailabilityAttribute (Platform introduced, Platform deprecated, Platform obsoleted, Platform unavailable);
	// properties
	public bool AlwaysAvailable { get; }
	public Platform Deprecated { get; set; }
	public Platform DeprecatedArchitecture { get; }
	public Platform DeprecatedVersion { get; }
	public Platform Introduced { get; set; }
	public Platform IntroducedArchitecture { get; }
	public Platform IntroducedVersion { get; }
	public string Message { get; set; }
	public Platform Obsoleted { get; set; }
	public Platform ObsoletedArchitecture { get; }
	public Platform ObsoletedVersion { get; }
	public Platform Unavailable { get; set; }
	// methods
	public static AvailabilityAttribute Get (System.Reflection.MemberInfo member);
	public static AvailabilityAttribute Merge (System.Collections.Generic.IEnumerable<object> attrs);
	public override string ToString ();
}

New Type: ObjCRuntime.BlockFlags

[Serializable]
[Flags]
public enum BlockFlags {
	BLOCK_HAS_COPY_DISPOSE = 33554432,
	BLOCK_HAS_CTOR = 67108864,
	BLOCK_HAS_DESCRIPTOR = 536870912,
	BLOCK_HAS_SIGNATURE = 1073741824,
	BLOCK_HAS_STRET = 536870912,
	BLOCK_IS_GC = 134217728,
	BLOCK_IS_GLOBAL = 268435456,
	BLOCK_NEEDS_FREE = 16777216,
	BLOCK_REFCOUNT_MASK = 65535,
}

New Type: ObjCRuntime.MacAttribute

public sealed class MacAttribute : ObjCRuntime.AvailabilityAttribute {
	// constructors
	public MacAttribute (byte major, byte minor);
	public MacAttribute (byte major, byte minor, PlatformArchitecture arch);

	[Obsolete ("Use the overload that takes '(major, minor, subminor)', since macOS is always 64-bit.")]
public MacAttribute (byte major, byte minor, bool onlyOn64);
	public MacAttribute (byte major, byte minor, byte subminor);

	[Obsolete ("Use the overload that takes '(major, minor, subminor)', since macOS is always 64-bit.")]
public MacAttribute (byte major, byte minor, byte subminor, PlatformArchitecture arch);

	[Obsolete ("Use the overload that takes '(major, minor, subminor)', since macOS is always 64-bit.")]
public MacAttribute (byte major, byte minor, byte subminor, bool onlyOn64);
}

New Type: ObjCRuntime.Platform

[Serializable]
[Flags]
public enum Platform {
	Mac_10_0 = 2814749767106560,
	Mac_10_1 = 2815849278734336,
	Mac_10_10 = 2825744883384320,
	Mac_10_10_3 = 2825757768286208,
	Mac_10_11 = 2826844395012096,
	Mac_10_11_3 = 2826857279913984,
	Mac_10_12 = 2827943906639872,
	Mac_10_2 = 2816948790362112,
	Mac_10_3 = 2818048301989888,
	Mac_10_4 = 2819147813617664,
	Mac_10_5 = 2820247325245440,
	Mac_10_6 = 2821346836873216,
	Mac_10_7 = 2822446348500992,
	Mac_10_8 = 2823545860128768,
	Mac_10_9 = 2824645371756544,
	Mac_Arch = 18374686479671623680,
	Mac_Arch32 = 72057594037927936,
	Mac_Arch64 = 144115188075855872,
	Mac_Version = 72057589742960640,
	None = 0,
	iOS_2_0 = 131072,
	iOS_2_2 = 131584,
	iOS_3_0 = 196608,
	iOS_3_1 = 196864,
	iOS_3_2 = 197120,
	iOS_4_0 = 262144,
	iOS_4_1 = 262400,
	iOS_4_2 = 262656,
	iOS_4_3 = 262912,
	iOS_5_0 = 327680,
	iOS_5_1 = 327936,
	iOS_6_0 = 393216,
	iOS_6_1 = 393472,
	iOS_7_0 = 458752,
	iOS_7_1 = 459008,
	iOS_8_0 = 524288,
	iOS_8_1 = 524544,
	iOS_8_2 = 524800,
	iOS_8_3 = 525056,
	iOS_8_4 = 525312,
	iOS_9_0 = 589824,
	iOS_9_1 = 590080,
	iOS_9_2 = 590336,
	iOS_9_3 = 590592,
	iOS_Arch = 4278190080,
	iOS_Arch32 = 16777216,
	iOS_Arch64 = 33554432,
	iOS_Version = 16777215,
}

New Type: ObjCRuntime.PlatformHelper

public static class PlatformHelper {
	// methods
	public static bool CheckSystemVersion (int major, int minor);
	public static int CompareIosVersion (this Platform a, Platform b);
	public static int CompareMacVersion (this Platform a, Platform b);
	public static Platform GetHostApiPlatform ();
	public static bool Is64BitOnlyOnCurrentPlatform (this Platform platform);
	public static bool IsIos (this Platform platform);
	public static bool IsMac (this Platform platform);
	public static bool IsValid (this Platform platform);
	public static Platform ParseApiPlatform (string productName, string productVersion);
	public static Platform ToArch (this Platform platform);
	public static Platform ToIosArch (this Platform platform);
	public static Platform ToIosVersion (this Platform platform);
	public static Platform ToMacArch (this Platform platform);
	public static Platform ToMacVersion (this Platform platform);
	public static Platform ToVersion (this Platform platform);
}

New Type: ObjCRuntime.iOSAttribute

public sealed class iOSAttribute : ObjCRuntime.AvailabilityAttribute {
	// constructors
	public iOSAttribute (byte major, byte minor);

	[Obsolete ("Use the overload that takes '(major, minor)', since iOS is always 64-bit.")]
public iOSAttribute (byte major, byte minor, bool onlyOn64);
	public iOSAttribute (byte major, byte minor, byte subminor);

	[Obsolete ("Use the overload that takes '(major, minor, subminor)', since iOS is always 64-bit.")]
public iOSAttribute (byte major, byte minor, byte subminor, bool onlyOn64);
}

Namespace PassKit

Type Changed: PassKit.PKPass

Removed property:

public virtual UIKit.UIImage Icon { get; }

Removed Type PassKit.PKIssuerProvisioningExtensionHandler

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotation

Removed constructor:

public PdfAnnotation (CoreGraphics.CGRect bounds);

Type Changed: PdfKit.PdfBorder

Added property:

public nfloat[] DashPattern { get; set; }

Type Changed: PdfKit.PdfDocument

Added properties:

public virtual PdfAccessPermissions AccessPermissions { get; }
public static Foundation.NSString FoundSelectionKey { get; }
public static Foundation.NSString PageIndexKey { get; }

Type Changed: PdfKit.PdfDocumentWriteOptions

Added property:

public string AccessPermissions { get; set; }

Removed Type PdfKit.PdfPrintScalingMode

New Type: PdfKit.PdfAccessPermissions

[Serializable]
public enum PdfAccessPermissions {
	Commenting = 64,
	ContentAccessibility = 32,
	ContentCopying = 16,
	DocumentAssembly = 8,
	DocumentChanges = 4,
	FormFieldEntry = 128,
	HighQualityPrinting = 2,
	LowQualityPrinting = 1,
}

Namespace Photos

Type Changed: Photos.PHAssetChangeRequest

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public PHAssetChangeRequest ();

Type Changed: Photos.PHCollectionListSubtype

Added values:

[Obsolete ("Incorrect value (exists in 'PHAssetCollectionSubtype').")]
SmartAlbumScreenshots = 211,

[Obsolete ("Incorrect value (exists in 'PHAssetCollectionSubtype').")]
SmartAlbumSelfPortraits = 210,

Type Changed: Photos.PHContentEditingInputRequestOptions

Added methods:

[Obsolete ("Use 'CanHandleAdjustmentData' property.")]
public virtual void SetCanHandleAdjustmentDataHandler (System.Func<PHAdjustmentData,System.Boolean> canHandleAdjustmentDataPredicate);

[Obsolete ("Use 'ProgressHandler' property.")]
public virtual void SetProgressHandler (PHProgressHandler progressHandler);

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoViewDelegate

Added method:

public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.PHLivePhotoViewDelegate_Extensions

Added method:

public static bool CanBeginPlayback (this IPHLivePhotoViewDelegate This, PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.PHPhotoLibrary_PhotosUISupport

Added methods:

public static void PresentLimitedLibraryPicker (this Photos.PHPhotoLibrary This, UIKit.UIViewController controller, System.Action<System.String[]> completionHandler);
public static System.Threading.Tasks.Task<System.String[]> PresentLimitedLibraryPickerAsync (this Photos.PHPhotoLibrary This, UIKit.UIViewController controller);

Type Changed: PhotosUI.PHPickerConfiguration

Added properties:

public virtual string[] PreselectedAssetIdentifiers { get; set; }
public virtual PHPickerConfigurationSelection Selection { get; set; }

New Type: PhotosUI.IPHContentEditingController

public interface IPHContentEditingController : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual bool ShouldShowCancelConfirmation { get; }
	// methods
	public virtual bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData);
	public virtual void CancelContentEditing ();
	public virtual void FinishContentEditing (System.Action<Photos.PHContentEditingOutput> completionHandler);
	public virtual void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, UIKit.UIImage placeholderImage);
}

New Type: PhotosUI.PHContentEditingController

public abstract class PHContentEditingController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, IPHContentEditingController, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PHContentEditingController ();
	protected PHContentEditingController (Foundation.NSObjectFlag t);
	protected PHContentEditingController (IntPtr handle);
	// properties
	public virtual bool ShouldShowCancelConfirmation { get; }
	// methods
	public virtual bool CanHandleAdjustmentData (Photos.PHAdjustmentData adjustmentData);
	public virtual void CancelContentEditing ();
	public virtual void FinishContentEditing (System.Action<Photos.PHContentEditingOutput> completionHandler);
	public virtual void StartContentEditing (Photos.PHContentEditingInput contentEditingInput, UIKit.UIImage placeholderImage);
}

New Type: PhotosUI.PHPickerConfigurationSelection

[Serializable]
public enum PHPickerConfigurationSelection {
	Default = 0,
	Ordered = 1,
}

Namespace PushKit

Type Changed: PushKit.PKPushType

Removed property:

public static Foundation.NSString Complication { get; }

Namespace ReplayKit

Type Changed: ReplayKit.RPRecordingError

Added value:

ExportClipToUrlInProgress = -5836,

Type Changed: ReplayKit.RPScreenRecorder

Added methods:

public virtual void ExportClip (Foundation.NSUrl url, double duration, System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task ExportClipAsync (Foundation.NSUrl url, double duration);
public virtual void StartClipBuffering (System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task StartClipBufferingAsync ();
public virtual void StopClipBuffering (System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task StopClipBufferingAsync ();

Namespace SafariServices

New Type: SafariServices.SFContentBlockerErrorCode

[Serializable]
public enum SFContentBlockerErrorCode {
	LoadingInterrupted = 3,
	NoAttachmentFound = 2,
	NoExtensionFound = 1,
	Ok = 0,
}

New Type: SafariServices.SFContentBlockerErrorCodeExtensions

public static class SFContentBlockerErrorCodeExtensions {
	// methods
	public static Foundation.NSString GetDomain (this SFContentBlockerErrorCode self);
}

New Type: SafariServices.SSReadingListError

[Serializable]
public enum SSReadingListError {
	UrlSchemeNotAllowed = 1,
}

New Type: SafariServices.SSReadingListErrorExtensions

public static class SSReadingListErrorExtensions {
	// methods
	public static Foundation.NSString GetDomain (this SSReadingListError self);
}

Namespace SceneKit

Type Changed: SceneKit.ISCNSceneRenderer

Removed property:

public virtual IntPtr Context { get; }

Type Changed: SceneKit.SCNAction

Added method:

[Obsolete ("Use 'TimingFunction2' property.")]
public virtual void SetTimingFunction (System.Action<float> timingFunction);

Type Changed: SceneKit.SCNGeometry

Added method:

[Obsolete ("Use the 'Create (SCNGeometrySource[], SCNGeometryElement[])' method instead, as it has a strongly typed return.")]
public static Foundation.NSObject FromSources (SCNGeometrySource[] sources, SCNGeometryElement[] elements);

Type Changed: SceneKit.SCNLight

Added methods:

[Obsolete ("Do not use; this method only exist in macOS, not in iOS.")]
public virtual Foundation.NSObject GetAttribute (Foundation.NSString lightAttribute);

[Obsolete ("Do not use; this method only exist in macOS, not in iOS.")]
public virtual void SetAttribute (Foundation.NSObject value, Foundation.NSString attribuetKey);

Type Changed: SceneKit.SCNRenderer

Removed property:

public virtual IntPtr Context { get; }

Removed method:

public static SCNRenderer FromContext (IntPtr context, Foundation.NSDictionary options);

Type Changed: SceneKit.SCNSceneRenderer

Removed property:

public virtual IntPtr Context { get; }

Type Changed: SceneKit.SCNSceneRenderer_Extensions

Added method:

public static SCNHitTestResult[] HitTest (ISCNSceneRenderer This, CoreGraphics.CGPoint thePoint, SCNHitTestOptions options);

Type Changed: SceneKit.SCNView

Removed property:

public virtual IntPtr Context { get; }

Namespace Security

Type Changed: Security.SecCertificate

Removed method:

public SecKey GetPublicKey ();

Namespace Social

Type Changed: Social.SLComposeSheetConfigurationItem

Added method:

[Obsolete ("Use the 'TapHandler' property.")]
public virtual void SetTapHandler (System.Action tapHandler);

Namespace SpriteKit

Type Changed: SpriteKit.SKAction

Added methods:

[Obsolete ("Use the 'FalloffBy' method.")]
public static SKAction Falloff (float to, double duration);

[Obsolete ("Use the 'TimingFunction2' property.")]
public virtual void SetTimingFunction (SKActionTimingFunction timingFunction);

Type Changed: SpriteKit.SKFieldNode

Added method:

[Obsolete ("Use the method 'CreateVortexField' instead.")]
public static SKFieldNode CraeteVortexField ();

Type Changed: SpriteKit.SKShapeNode

Added methods:

public static SKShapeNode FromPoints (ref CoreGraphics.CGPoint points, nuint numPoints);
public static SKShapeNode FromSplinePoints (ref CoreGraphics.CGPoint points, nuint numPoints);

Type Changed: SpriteKit.SKView

Added constructor:

public SKView ();

Namespace StoreKit

Type Changed: StoreKit.SKCloudServiceController

Added constructor:

public SKCloudServiceController ();

Type Changed: StoreKit.SKPayment

Added methods:

[Obsolete ("Use FromProduct (SKProduct) instead.")]
public static SKPayment PaymentWithProduct (SKProduct product);

[Obsolete ("Use FromProductIdentifier (string) instead.")]
public static SKPayment PaymentWithProduct (string identifier);

Type Changed: StoreKit.SKPaymentQueue

Removed methods:

public virtual void PresentCodeRedemptionSheet ();
public virtual void ShowPriceConsentIfNeeded ();

Type Changed: StoreKit.SKPaymentTransactionObserver

Added method:

[Obsolete ("Use RestoreCompletedTransactionsFinished (SKPaymentQueue) instead.")]
public virtual void PaymentQueueRestoreCompletedTransactionsFinished (SKPaymentQueue queue);

Type Changed: StoreKit.SKPaymentTransactionObserver_Extensions

Added method:

[Obsolete ("Use RestoreCompletedTransactionsFinished (SKPaymentQueue) instead.")]
public static void PaymentQueueRestoreCompletedTransactionsFinished (ISKPaymentTransactionObserver This, SKPaymentQueue queue);

Namespace UIKit

Type Changed: UIKit.INSTextLayoutOrientationProvider

Modified properties:

-public abstract NSTextLayoutOrientation LayoutOrientation { get; set; }
+public abstract NSTextLayoutOrientation LayoutOrientation { get; }

Type Changed: UIKit.IUIViewControllerPreviewing

Modified properties:

-public abstract Foundation.NSObject WeakDelegate { get; set; }
+public abstract Foundation.NSObject WeakDelegate { get; }

Type Changed: UIKit.NSIdentifier

Added method:

[Obsolete ("Use 'GetIdentifier' method.")]
public static string Identifier (this NSLayoutConstraint This);

Type Changed: UIKit.NSLayoutConstraint

Added property:

public virtual string Identifier { get; set; }

Type Changed: UIKit.NSTextContainer

Modified properties:

-public virtual NSTextLayoutOrientation LayoutOrientation { get; set; }
+public virtual NSTextLayoutOrientation LayoutOrientation { get; }

Type Changed: UIKit.NSTextStorage

Modified properties:

-public virtual nint ChangeInLength { get; set; }
+public virtual nint ChangeInLength { get; }
-public virtual Foundation.NSRange EditedRange { get; set; }
+public virtual Foundation.NSRange EditedRange { get; }

Type Changed: UIKit.UIAccessibilityCustomAction

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIAccessibilityCustomAction ();

Type Changed: UIKit.UIActivityItemProvider

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIActivityItemProvider ();

Type Changed: UIKit.UIActivityViewController

Added constructor:

[Obsolete ("iOS 9 does not allow creating an empty instance.")]
public UIActivityViewController ();

Added method:

[Obsolete ("Use 'CompletionWithItemsHandler' property.")]
public virtual void SetCompletionHandler (UIActivityViewControllerCompletion completionHandler);

Type Changed: UIKit.UIAdaptivePresentationControllerDelegate

Added method:

[Obsolete ("Incorrect signature. Use the overload with a UITraitCollection parameter.")]
public virtual UIViewController GetAdaptivePresentationStyle (UIPresentationController controller, UIModalPresentationStyle style);

Type Changed: UIKit.UIAdaptivePresentationControllerDelegate_Extensions

Added method:

[Obsolete ("Incorrect signature. Use the overload with a UITraitCollection parameter.")]
public static UIViewController GetAdaptivePresentationStyle (IUIAdaptivePresentationControllerDelegate This, UIPresentationController controller, UIModalPresentationStyle style);

Type Changed: UIKit.UIApplication

Obsoleted methods:

 [Obsolete ("Use the overload with 'Type' instead of 'String' parameters for type safety.")]
 public static void Main (string[] args, string principalClassName, string delegateClassName);

Type Changed: UIKit.UIApplicationDelegate

Removed method:

public virtual bool AccessibilityPerformMagicTap ();

Type Changed: UIKit.UIApplicationDelegate_Extensions

Removed method:

public static bool AccessibilityPerformMagicTap (this IUIApplicationDelegate This);

Type Changed: UIKit.UIBarItem

Removed methods:

public UIStringAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UIStringAttributes attributes, UIControlState state);

Added methods:

public UITextAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UIBarItem.UIBarItemAppearance

Removed methods:

public virtual UIStringAttributes GetTitleTextAttributes (UIControlState state);
public virtual void SetTitleTextAttributes (UIStringAttributes attributes, UIControlState state);

Added methods:

public virtual UITextAttributes GetTitleTextAttributes (UIControlState state);
public virtual void SetTitleTextAttributes (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UIButton

Added properties:

public virtual UIFont Font { get; set; }
public virtual UILineBreakMode LineBreakMode { get; set; }
public virtual CoreGraphics.CGSize TitleShadowOffset { get; set; }

Type Changed: UIKit.UICollectionViewController

Added methods:

public virtual void DecelerationEnded (UIScrollView scrollView);
public virtual void DecelerationStarted (UIScrollView scrollView);
public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView);
public virtual void DidZoom (UIScrollView scrollView);
public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate);
public virtual void DraggingStarted (UIScrollView scrollView);
public virtual void ScrollAnimationEnded (UIScrollView scrollView);
public virtual void Scrolled (UIScrollView scrollView);
public virtual void ScrolledToTop (UIScrollView scrollView);
public virtual bool ShouldScrollToTop (UIScrollView scrollView);
public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView);
public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset);
public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, nfloat atScale);
public virtual void ZoomingStarted (UIScrollView scrollView, UIView view);

Type Changed: UIKit.UICollectionViewDelegate

Modified base type:

-UIKit.UIScrollViewDelegate
+Foundation.NSObject

Added methods:

public virtual void DecelerationEnded (UIScrollView scrollView);
public virtual void DecelerationStarted (UIScrollView scrollView);
public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView);
public virtual void DidZoom (UIScrollView scrollView);
public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate);
public virtual void DraggingStarted (UIScrollView scrollView);
public virtual void ScrollAnimationEnded (UIScrollView scrollView);
public virtual void Scrolled (UIScrollView scrollView);
public virtual void ScrolledToTop (UIScrollView scrollView);
public virtual bool ShouldScrollToTop (UIScrollView scrollView);
public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView);
public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset);
public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, nfloat atScale);
public virtual void ZoomingStarted (UIScrollView scrollView, UIView view);

Type Changed: UIKit.UICollectionViewSource

Added methods:

public virtual void DecelerationEnded (UIScrollView scrollView);
public virtual void DecelerationStarted (UIScrollView scrollView);
public virtual void DidChangeAdjustedContentInset (UIScrollView scrollView);
public virtual void DidZoom (UIScrollView scrollView);
public virtual void DraggingEnded (UIScrollView scrollView, bool willDecelerate);
public virtual void DraggingStarted (UIScrollView scrollView);
public virtual void ScrollAnimationEnded (UIScrollView scrollView);
public virtual void Scrolled (UIScrollView scrollView);
public virtual void ScrolledToTop (UIScrollView scrollView);
public virtual bool ShouldScrollToTop (UIScrollView scrollView);
public virtual UIView ViewForZoomingInScrollView (UIScrollView scrollView);
public virtual void WillEndDragging (UIScrollView scrollView, CoreGraphics.CGPoint velocity, ref CoreGraphics.CGPoint targetContentOffset);
public virtual void ZoomingEnded (UIScrollView scrollView, UIView withView, nfloat atScale);
public virtual void ZoomingStarted (UIScrollView scrollView, UIView view);

Type Changed: UIKit.UICollectionViewTransitionLayout

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UICollectionViewTransitionLayout ();

Type Changed: UIKit.UIDocumentMenuViewController

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIDocumentMenuViewController ();

Type Changed: UIKit.UIDocumentPickerViewController

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIDocumentPickerViewController ();

Type Changed: UIKit.UIImagePickerController

Added property:

public virtual bool AllowsImageEditing { get; set; }

Added event:

public event System.EventHandler<UIImagePickerImagePickedEventArgs> FinishedPickingImage;

Type Changed: UIKit.UIImagePickerControllerDelegate

Added method:

public virtual void FinishedPickingImage (UIImagePickerController picker, UIImage image, Foundation.NSDictionary editingInfo);

Type Changed: UIKit.UIImagePickerControllerDelegate_Extensions

Added method:

public static void FinishedPickingImage (this IUIImagePickerControllerDelegate This, UIImagePickerController picker, UIImage image, Foundation.NSDictionary editingInfo);

Type Changed: UIKit.UIKeyboard

Added properties:

public static Foundation.NSString BoundsUserInfoKey { get; }
public static Foundation.NSString CenterBeginUserInfoKey { get; }
public static Foundation.NSString CenterEndUserInfoKey { get; }

Type Changed: UIKit.UIMarkupTextPrintFormatter

Obsoleted constructors:

 [Obsolete ("Use '.ctor(string)' instead.")]
 public UIMarkupTextPrintFormatter ();

Type Changed: UIKit.UIPopoverPresentationControllerDelegate

Added method:

[Obsolete ("Use the overload with 'ref' parameters for 'targetRect' and 'inView'.")]
public virtual void WillRepositionPopover (UIPopoverPresentationController popoverPresentationController, CoreGraphics.CGRect targetRect, UIView inView);

Type Changed: UIKit.UIPopoverPresentationControllerDelegate_Extensions

Added method:

[Obsolete ("Use the overload with 'ref' parameters for 'targetRect' and 'inView'.")]
public static void WillRepositionPopover (IUIPopoverPresentationControllerDelegate This, UIPopoverPresentationController popoverPresentationController, CoreGraphics.CGRect targetRect, UIView inView);

Type Changed: UIKit.UIResponder

Removed method:

public virtual bool AccessibilityPerformMagicTap ();

Type Changed: UIKit.UISceneActivationRequestOptions

Added interface:

Foundation.INSCopying

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Type Changed: UIKit.UISearchBar

Removed methods:

public UIStringAttributes GetScopeBarButtonTitleTextAttributes (UIControlState state);
public void SetScopeBarButtonTitle (UIStringAttributes attributes, UIControlState state);

Added methods:

public UITextAttributes GetScopeBarButtonTitleTextAttributes (UIControlState state);
public void SetScopeBarButtonTitle (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UISearchBar.UISearchBarAppearance

Removed methods:

public UIStringAttributes GetScopeBarButtonTitleTextAttributes (UIControlState state);
public void SetScopeBarButtonTitle (UIStringAttributes attributes, UIControlState state);

Added methods:

public UITextAttributes GetScopeBarButtonTitleTextAttributes (UIControlState state);
public void SetScopeBarButtonTitle (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UISegmentedControl

Removed methods:

public UIStringAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UIStringAttributes attributes, UIControlState state);

Added methods:

public UITextAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UISegmentedControl.UISegmentedControlAppearance

Removed methods:

public UIStringAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UIStringAttributes attributes, UIControlState state);

Added methods:

public UITextAttributes GetTitleTextAttributes (UIControlState state);
public void SetTitleTextAttributes (UITextAttributes attributes, UIControlState state);

Type Changed: UIKit.UISimpleTextPrintFormatter

Added constructor:

public UISimpleTextPrintFormatter ();

Type Changed: UIKit.UIStoryboardPopoverSegue

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIStoryboardPopoverSegue ();

Type Changed: UIKit.UIStoryboardSegue

Added constructor:

[Obsolete ("iOS9 does not allow creating an empty instance")]
public UIStoryboardSegue ();

Type Changed: UIKit.UITableViewController

Added method:

public virtual UITableViewCellAccessory AccessoryForRow (UITableView tableView, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.UITableViewDelegate

Added method:

public virtual UITableViewCellAccessory AccessoryForRow (UITableView tableView, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.UITableViewDelegate_Extensions

Added method:

public static UITableViewCellAccessory AccessoryForRow (this IUITableViewDelegate This, UITableView tableView, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.UITableViewSource

Added method:

public virtual UITableViewCellAccessory AccessoryForRow (UITableView tableView, Foundation.NSIndexPath indexPath);

Type Changed: UIKit.UIViewController

Removed property:

public virtual UISearchDisplayController SearchDisplayController { get; }

Removed method:

public static void PrepareForInterstitialAds ();

Removed Type UIKit.IUISearchDisplayDelegate

Removed Type UIKit.UISearchDisplayController

Removed Type UIKit.UISearchDisplayDelegate

Removed Type UIKit.UISearchDisplayDelegate_Extensions

New Type: UIKit.NSAttributedStringAttachmentConveniences

public static class NSAttributedStringAttachmentConveniences {
}

New Type: UIKit.UIImagePickerImagePickedEventArgs

public class UIImagePickerImagePickedEventArgs : System.EventArgs {
	// constructors
	public UIImagePickerImagePickedEventArgs (UIImage image, Foundation.NSDictionary editingInfo);
	// properties
	public Foundation.NSDictionary EditingInfo { get; set; }
	public UIImage Image { get; set; }
}

New Type: UIKit.UIPrint

public static class UIPrint {
	// properties
	public static Foundation.NSString ErrorDomain { get; }
}

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added property:

public static UTType Makefile { get; }

Namespace UserNotifications

Type Changed: UserNotifications.UNAuthorizationOptions

Added value:

TimeSensitive = 256,

Type Changed: UserNotifications.UNErrorCode

Added values:

ContentProvidingInvalid = 1501,
ContentProvidingObjectNotAllowed = 1500,

Type Changed: UserNotifications.UNMutableNotificationContent

Added properties:

public virtual UNNotificationInterruptionLevel InterruptionLevel { get; set; }
public virtual double RelevanceScore { get; set; }

Type Changed: UserNotifications.UNNotificationAction

Added property:

public virtual UNNotificationActionIcon Icon { get; }

Added method:

public static UNNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options, UNNotificationActionIcon icon);

Type Changed: UserNotifications.UNNotificationContent

Added properties:

public virtual UNNotificationInterruptionLevel InterruptionLevel { get; }
public virtual double RelevanceScore { get; }

Added method:

public virtual UNNotificationContent Update (IUNNotificationContentProviding fromProvider, out Foundation.NSError outError);

Type Changed: UserNotifications.UNNotificationSettings

Added properties:

public virtual UNNotificationSetting DirectMessagesSetting { get; }
public virtual UNNotificationSetting ScheduledDeliverySetting { get; }
public virtual UNNotificationSetting TimeSensitiveSetting { get; }

Type Changed: UserNotifications.UNTextInputNotificationAction

Added method:

public static UNTextInputNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options, UNNotificationActionIcon icon, string textInputButtonTitle, string textInputPlaceholder);

New Type: UserNotifications.IUNNotificationContentProviding

public interface IUNNotificationContentProviding : ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: UserNotifications.UNNotificationActionIcon

public class UNNotificationActionIcon : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public UNNotificationActionIcon (Foundation.NSCoder coder);
	protected UNNotificationActionIcon (Foundation.NSObjectFlag t);
	protected UNNotificationActionIcon (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static UNNotificationActionIcon CreateFromSystem (string imageName);
	public static UNNotificationActionIcon CreateFromTemplate (string imageName);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UserNotifications.UNNotificationInterruptionLevel

[Serializable]
public enum UNNotificationInterruptionLevel {
	Active = 0,
	Critical = 1,
	Passive = 2,
	TimeSensitive = 3,
}

Namespace VideoToolbox

New Type: VideoToolbox.HdrMetadataInsertionModeExtensions

public static class HdrMetadataInsertionModeExtensions {
	// methods
	public static Foundation.NSString GetConstant (this HdrMetadataInsertionMode self);
	public static HdrMetadataInsertionMode GetValue (Foundation.NSString constant);
}

Namespace WebKit

Type Changed: WebKit.WKWebView

Removed methods:

public virtual void CloseAllMediaPresentations ();
public virtual void PauseAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task PauseAllMediaPlaybackAsync ();
public virtual void RequestMediaPlaybackState (System.Action<WKMediaPlaybackState> completionHandler);
public virtual System.Threading.Tasks.Task<WKMediaPlaybackState> RequestMediaPlaybackStateAsync ();
public virtual void ResumeAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task ResumeAllMediaPlaybackAsync ();
public virtual void SuspendAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task SuspendAllMediaPlaybackAsync ();

Removed Namespace ARKit

Removed Type ARKit.ARAltitudeSource

Removed Type ARKit.ARAnchor

Removed Type ARKit.ARAppClipCodeAnchor

Removed Type ARKit.ARAppClipCodeUrlDecodingState

Removed Type ARKit.ARBlendShapeLocationOptions

Removed Type ARKit.ARBody2D

Removed Type ARKit.ARBodyAnchor

Removed Type ARKit.ARBodyTrackingConfiguration

Removed Type ARKit.ARCamera

Removed Type ARKit.ARCoachingGoal

Removed Type ARKit.ARCoachingOverlayView

Removed Type ARKit.ARCoachingOverlayViewDelegate

Removed Type ARKit.ARCoachingOverlayViewDelegate_Extensions

Removed Type ARKit.ARCollaborationData

Removed Type ARKit.ARCollaborationDataPriority

Removed Type ARKit.ARConfidenceLevel

Removed Type ARKit.ARConfiguration

Removed Type ARKit.ARDepthData

Removed Type ARKit.ARDirectionalLightEstimate

Removed Type ARKit.AREnvironmentProbeAnchor

Removed Type ARKit.AREnvironmentTexturing

Removed Type ARKit.ARErrorCode

Removed Type ARKit.ARErrorCodeExtensions

Removed Type ARKit.ARFaceAnchor

Removed Type ARKit.ARFaceGeometry

Removed Type ARKit.ARFaceTrackingConfiguration

Removed Type ARKit.ARFrame

Removed Type ARKit.ARFrameSemantics

Removed Type ARKit.ARGeoAnchor

Removed Type ARKit.ARGeoTrackingAccuracy

Removed Type ARKit.ARGeoTrackingConfiguration

Removed Type ARKit.ARGeoTrackingState

Removed Type ARKit.ARGeoTrackingStateReason

Removed Type ARKit.ARGeoTrackingStatus

Removed Type ARKit.ARGeometryElement

Removed Type ARKit.ARGeometryPrimitiveType

Removed Type ARKit.ARGeometrySource

Removed Type ARKit.ARHitTestResult

Removed Type ARKit.ARHitTestResultType

Removed Type ARKit.ARImageAnchor

Removed Type ARKit.ARImageTrackingConfiguration

Removed Type ARKit.ARLightEstimate

Removed Type ARKit.ARMatteGenerator

Removed Type ARKit.ARMatteResolution

Removed Type ARKit.ARMeshAnchor

Removed Type ARKit.ARMeshClassification

Removed Type ARKit.ARMeshGeometry

Removed Type ARKit.ARObjectAnchor

Removed Type ARKit.ARObjectScanningConfiguration

Removed Type ARKit.AROrientationTrackingConfiguration

Removed Type ARKit.ARParticipantAnchor

Removed Type ARKit.ARPlaneAnchor

Removed Type ARKit.ARPlaneAnchorAlignment

Removed Type ARKit.ARPlaneClassification

Removed Type ARKit.ARPlaneClassificationStatus

Removed Type ARKit.ARPlaneDetection

Removed Type ARKit.ARPlaneGeometry

Removed Type ARKit.ARPointCloud

Removed Type ARKit.ARPositionalTrackingConfiguration

Removed Type ARKit.ARQuickLookPreviewItem

Removed Type ARKit.ARRaycastQuery

Removed Type ARKit.ARRaycastResult

Removed Type ARKit.ARRaycastTarget

Removed Type ARKit.ARRaycastTargetAlignment

Removed Type ARKit.ARReferenceImage

Removed Type ARKit.ARReferenceObject

Removed Type ARKit.ARSCNDebugOptions

Removed Type ARKit.ARSCNFaceGeometry

Removed Type ARKit.ARSCNPlaneGeometry

Removed Type ARKit.ARSCNView

Removed Type ARKit.ARSCNViewDel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment