Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created February 28, 2024 13:25
Show Gist options
  • Save vs-mobiletools-engineering-service2/8181ccb9506b0858f70ac868336e9e8a to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/8181ccb9506b0858f70ac868336e9e8a to your computer and use it in GitHub Desktop.
stable-api-comparison/tvos-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.TVOS SDK API diff: 16.4.0 vs 17.3.0
List of API changes between Xamarin.TVOS versions 16.4.0 and 17.3.0.
spouliot
sepoulio
2/28/2024
article
08b482ee-ce6b-b0fc-b7cc-250d9fd02fbb
xamarin

Xamarin.TVOS SDK API diff: 16.4.0 vs 17.3.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAssetImageGenerator

Added method:

public virtual void GenerateCGImageAsynchronously (CoreMedia.CMTime requestedTime, AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler handler);

Type Changed: AVFoundation.AVAudioSession

Obsoleted properties:

 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryAmbient { get; }
 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryMultiRoute { get; }
 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryPlayAndRecord { get; }
 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryPlayback { get; }
 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategoryRecord { get; }
 [Obsolete ("Use 'AVAudioSessionCategory' enum values instead.")]
 public static Foundation.NSString CategorySoloAmbient { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeDefault { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeGameChat { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeMeasurement { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeMoviePlayback { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeSpokenAudio { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeVideoChat { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeVideoRecording { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString ModeVoiceChat { get; }
 [Obsolete ("Use 'AVAudioSessionMode' enum values instead.")]
 public static Foundation.NSString VoicePrompt { get; }

Added properties:

public static Foundation.NSString RenderingCapabilitiesChangeNotification { get; }
public virtual AVAudioSessionRenderingMode RenderingMode { get; }
public static Foundation.NSString RenderingModeChangeNotification { get; }
public virtual AVAudioChannelLayout[] SupportedOutputChannelLayouts { get; }

Added methods:

public Foundation.NSError SetActive (bool active, AVAudioSessionSetActiveOptions options);
public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
public Foundation.NSError SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options);
public Foundation.NSError SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options);
public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
public bool SetCategory (AVAudioSessionCategory category, AVAudioSessionMode mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
public bool SetCategory (AVAudioSessionCategory category, string mode, AVAudioSessionRouteSharingPolicy policy, AVAudioSessionCategoryOptions options, out Foundation.NSError outError);
public bool SetMode (AVAudioSessionMode mode, out Foundation.NSError error);

Type Changed: AVFoundation.AVAudioSession.Notifications

Added methods:

public static Foundation.NSObject ObserveRenderingCapabilitiesChange (System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveRenderingCapabilitiesChange (Foundation.NSObject objectToObserve, System.EventHandler<Foundation.NSNotificationEventArgs> handler);
public static Foundation.NSObject ObserveRenderingModeChange (System.EventHandler<RenderingModeChangeNotificationEventArgs> handler);
public static Foundation.NSObject ObserveRenderingModeChange (Foundation.NSObject objectToObserve, System.EventHandler<RenderingModeChangeNotificationEventArgs> handler);

Type Changed: AVFoundation.AVAudioSinkNode

Obsoleted constructors:

 [Obsolete ("Use the overload that takes a delegate that does not take a 'ref AudioBuffers' instead. Assigning a value to the 'inputData' parameter in the callback has no effect.")]
 public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler receiverHandler);

Added constructors:

public AVAudioSinkNode (AVAudioSinkNodeReceiverHandler2 receiverHandler);
public AVAudioSinkNode (AVAudioSinkNodeReceiverHandlerRaw receiverHandler);

Type Changed: AVFoundation.AVMetadataObjectTypeExtensions

Added methods:

public static Foundation.NSString[] ToArray (this AVMetadataObjectType value);
public static AVMetadataObjectType ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Type Changed: AVFoundation.AVMutableComposition

Added method:

public virtual Cinematic.CNCompositionInfo AddTracks (Cinematic.CNAssetInfo assetInfo, int preferredStartingTrackID);

New Type: AVFoundation.AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler

public sealed delegate AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler : System.MulticastDelegate {
	// constructors
	public AVAssetImageGenerateAsynchronouslyForTimeCompletionHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (CoreGraphics.CGImage imageRef, CoreMedia.CMTime actualTime, Foundation.NSError error);
}

New Type: AVFoundation.AVAudioSessionCategoryExtensions

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

New Type: AVFoundation.AVAudioSessionMode

[Serializable]
public enum AVAudioSessionMode {
	Default = 0,
	GameChat = 4,
	Measurement = 3,
	MoviePlayback = 5,
	SpokenAudio = 7,
	VideoChat = 6,
	VideoRecording = 2,
	VoiceChat = 1,
	VoicePrompt = 8,
}

New Type: AVFoundation.AVAudioSessionModeExtensions

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

New Type: AVFoundation.AVAudioSessionRenderingMode

[Serializable]
public enum AVAudioSessionRenderingMode {
	DolbyAtmos = 5,
	DolbyAudio = 4,
	MonoStereo = 1,
	NotApplicable = 0,
	SpatialAudio = 3,
	Surround = 2,
}

New Type: AVFoundation.AVAudioSinkNodeReceiverHandler2

public sealed delegate AVAudioSinkNodeReceiverHandler2 : System.MulticastDelegate {
	// constructors
	public AVAudioSinkNodeReceiverHandler2 (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (System.IAsyncResult result);
	public virtual int Invoke (AudioToolbox.AudioTimeStamp timestamp, uint frameCount, AudioToolbox.AudioBuffers inputData);
}

New Type: AVFoundation.AVAudioSinkNodeReceiverHandlerRaw

public sealed delegate AVAudioSinkNodeReceiverHandlerRaw : System.MulticastDelegate {
	// constructors
	public AVAudioSinkNodeReceiverHandlerRaw (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (IntPtr timestamp, uint frameCount, IntPtr inputData, System.AsyncCallback callback, object object);
	public virtual int EndInvoke (System.IAsyncResult result);
	public virtual int Invoke (IntPtr timestamp, uint frameCount, IntPtr inputData);
}

New Type: AVFoundation.RenderingModeChangeNotificationEventArgs

public class RenderingModeChangeNotificationEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public RenderingModeChangeNotificationEventArgs (Foundation.NSNotification notification);
	// properties
	public AVAudioSessionRenderingMode NewRenderingMode { get; }
}

Namespace Accessibility

New Type: Accessibility.AXAnimatedImagesUtilities

public static class AXAnimatedImagesUtilities {
	// properties
	public static Foundation.NSString AnimatedImagesEnabledDidChangeNotification { get; }
	public static bool Enabled { get; }

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

New Type: Accessibility.AXCustomContentProvider_Extensions

public static class AXCustomContentProvider_Extensions {
	// methods
	public static System.Func<AXCustomContent[]> GetAccessibilityCustomContentHandler (this IAXCustomContentProvider This);
	public static void SetAccessibilityCustomContentHandler (this IAXCustomContentProvider This, System.Func<AXCustomContent[]> value);
}

New Type: Accessibility.AXPrefers

public static class AXPrefers {
	// properties
	public static Foundation.NSString HorizontalTextLayoutDidChangeNotification { get; }
	// methods
	public static bool HorizontalTextEnabled ();

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

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Ogg_3_0 = 9830403,
Ogg_4_0 = 12124164,
Ogg_5_0 = 13893637,
Ogg_5_1 = 13959174,
Ogg_6_1 = 14024711,
Ogg_7_1 = 14090248,

Type Changed: AudioToolbox.MusicPlayer

Modified methods:

-protected virtual void Dispose (bool disposing)
+protected override void Dispose (bool disposing)

Added methods:

public MusicPlayerStatus GetTime (out double time);
public MusicPlayerStatus SetTime (double time);

Namespace AuthenticationServices

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialAttachment

[Serializable]
public enum ASAuthorizationPublicKeyCredentialAttachment {
	CrossPlatform = 1,
	Platform = 0,
}

New Type: AuthenticationServices.ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState

[Serializable]
public enum ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState {
	Authorized = 0,
	Denied = 1,
	NotDetermined = 2,
}

New Type: AuthenticationServices.ASPublicKeyCredentialClientDataCrossOriginValue

[Serializable]
public enum ASPublicKeyCredentialClientDataCrossOriginValue {
	CrossOrigin = 1,
	NotSet = 0,
	SameOriginWithAncestors = 2,
}

Namespace BackgroundTasks

New Type: BackgroundTasks.BGHealthResearchTask

public class BGHealthResearchTask : BackgroundTasks.BGProcessingTask {
	// constructors
	public BGHealthResearchTask ();
	protected BGHealthResearchTask (Foundation.NSObjectFlag t);
	protected BGHealthResearchTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: BackgroundTasks.BGHealthResearchTaskRequest

public class BGHealthResearchTaskRequest : BackgroundTasks.BGProcessingTaskRequest {
	// constructors
	public BGHealthResearchTaskRequest ();
	protected BGHealthResearchTaskRequest (Foundation.NSObjectFlag t);
	protected BGHealthResearchTaskRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ProtectionTypeOfRequiredData { get; set; }
}

Namespace CloudKit

Type Changed: CloudKit.CKQueryOperation

Added property:

public static nint MaximumResults { get; }

Type Changed: CloudKit.CKRecord

Added properties:

public static Foundation.NSString CreationDateKey { get; }
public static Foundation.NSString CreatorUserRecordIdKey { get; }
public static Foundation.NSString LastModifiedUserRecordIdKey { get; }
public static Foundation.NSString ModificationDateKey { get; }
public static Foundation.NSString RecordIdKey { get; }

Type Changed: CloudKit.CKShareMetadata

Obsoleted constructors:

 [Obsolete ("Get them from 'CKFetchShareMetadataOperation' or platform-specific scene / app delegate callbacks.")]
 public CKShareMetadata ();

New Type: CloudKit.CKSyncEngine

public class CKSyncEngine : Foundation.NSObject {
	// constructors
	public CKSyncEngine (CKSyncEngineConfiguration configuration);
	protected CKSyncEngine (Foundation.NSObjectFlag t);
	protected CKSyncEngine (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKDatabase Database { get; }
	public virtual CKSyncEngineState State { get; }
	// methods
	public virtual void CancelOperations (System.Action completionHandler);
	public virtual System.Threading.Tasks.Task CancelOperationsAsync ();
	public virtual void FetchChanges (System.Action<Foundation.NSError> completionHandler);
	public virtual void FetchChanges (CKSyncEngineFetchChangesOptions options, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task FetchChangesAsync ();
	public virtual System.Threading.Tasks.Task FetchChangesAsync (CKSyncEngineFetchChangesOptions options);
	public virtual void SendChanges (System.Action<Foundation.NSError> completionHandler);
	public virtual void SendChanges (CKSyncEngineSendChangesOptions options, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SendChangesAsync ();
	public virtual System.Threading.Tasks.Task SendChangesAsync (CKSyncEngineSendChangesOptions options);
}

New Type: CloudKit.CKSyncEngineAccountChangeEvent

public class CKSyncEngineAccountChangeEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineAccountChangeEvent ();
	protected CKSyncEngineAccountChangeEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineAccountChangeEvent (IntPtr handle);
	// properties
	public virtual CKSyncEngineAccountChangeType ChangeType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID CurrentUser { get; }
	public virtual CKRecordID PreviousUser { get; }
}

New Type: CloudKit.CKSyncEngineAccountChangeType

[Serializable]
public enum CKSyncEngineAccountChangeType {
	SignIn = 0,
	SignOut = 1,
	SwitchAccounts = 2,
}

New Type: CloudKit.CKSyncEngineConfiguration

public class CKSyncEngineConfiguration : Foundation.NSObject {
	// constructors
	protected CKSyncEngineConfiguration (Foundation.NSObjectFlag t);
	protected CKSyncEngineConfiguration (IntPtr handle);
	public CKSyncEngineConfiguration (CKDatabase database, CKSyncEngineStateSerialization stateSerialization, ICKSyncEngineDelegate delegate);
	// properties
	public virtual bool AutomaticallySync { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CKDatabase Database { get; set; }
	public ICKSyncEngineDelegate Delegate { get; set; }
	public virtual CKSyncEngineStateSerialization StateSerialization { get; set; }
	public virtual string SubscriptionId { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: CloudKit.CKSyncEngineDelegate

public abstract class CKSyncEngineDelegate : Foundation.NSObject, ICKSyncEngineDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CKSyncEngineDelegate ();
	protected CKSyncEngineDelegate (Foundation.NSObjectFlag t);
	protected CKSyncEngineDelegate (IntPtr handle);
	// methods
	public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event);
	public virtual CKSyncEngineFetchChangesOptions SyncEngine (CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context);
	public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context);
}

New Type: CloudKit.CKSyncEngineDelegate_Extensions

public static class CKSyncEngineDelegate_Extensions {
	// methods
	public static CKSyncEngineFetchChangesOptions SyncEngine (this ICKSyncEngineDelegate This, CKSyncEngine syncEngine, CKSyncEngineFetchChangesContext context);
}

New Type: CloudKit.CKSyncEngineDidFetchChangesEvent

public class CKSyncEngineDidFetchChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidFetchChangesEvent ();
	protected CKSyncEngineDidFetchChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidFetchChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineDidFetchRecordZoneChangesEvent

public class CKSyncEngineDidFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidFetchRecordZoneChangesEvent ();
	protected CKSyncEngineDidFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidFetchRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEngineDidSendChangesEvent

public class CKSyncEngineDidSendChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineDidSendChangesEvent ();
	protected CKSyncEngineDidSendChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineDidSendChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineEvent

public class CKSyncEngineEvent : Foundation.NSObject {
	// constructors
	protected CKSyncEngineEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineEvent (IntPtr handle);
	// properties
	public virtual CKSyncEngineAccountChangeEvent AccountChangeEvent { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineDidFetchChangesEvent DidFetchChangesEvent { get; }
	public virtual CKSyncEngineDidFetchRecordZoneChangesEvent DidFetchRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineDidSendChangesEvent DidSendChangesEvent { get; }
	public virtual CKSyncEngineFetchedDatabaseChangesEvent FetchedDatabaseChangesEvent { get; }
	public virtual CKSyncEngineFetchedRecordZoneChangesEvent FetchedRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineSentDatabaseChangesEvent SentDatabaseChangesEvent { get; }
	public virtual CKSyncEngineSentRecordZoneChangesEvent SentRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineStateUpdateEvent StateUpdateEvent { get; }
	public virtual CKSyncEngineEventType Type { get; }
	public virtual CKSyncEngineWillFetchChangesEvent WillFetchChangesEvent { get; }
	public virtual CKSyncEngineWillFetchRecordZoneChangesEvent WillFetchRecordZoneChangesEvent { get; }
	public virtual CKSyncEngineWillSendChangesEvent WillSendChangesEvent { get; }
}

New Type: CloudKit.CKSyncEngineEventType

[Serializable]
public enum CKSyncEngineEventType {
	AccountChange = 1,
	DidFetchChanges = 9,
	DidFetchRecordZoneChanges = 8,
	DidSendChanges = 11,
	FetchedDatabaseChanges = 2,
	FetchedRecordZoneChanges = 3,
	SentDatabaseChanges = 4,
	SentRecordZoneChanges = 5,
	StateUpdate = 0,
	WillFetchChanges = 6,
	WillFetchRecordZoneChanges = 7,
	WillSendChanges = 10,
}

New Type: CloudKit.CKSyncEngineFailedRecordSave

public class CKSyncEngineFailedRecordSave : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFailedRecordSave (Foundation.NSObjectFlag t);
	protected CKSyncEngineFailedRecordSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecord Record { get; }
}

New Type: CloudKit.CKSyncEngineFailedZoneSave

public class CKSyncEngineFailedZoneSave : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFailedZoneSave (Foundation.NSObjectFlag t);
	protected CKSyncEngineFailedZoneSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual CKRecordZone RecordZone { get; }
}

New Type: CloudKit.CKSyncEngineFetchChangesContext

public class CKSyncEngineFetchChangesContext : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchChangesContext (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesOptions Options { get; }
	public virtual CKSyncEngineSyncReason Reason { get; }
}

New Type: CloudKit.CKSyncEngineFetchChangesOptions

public class CKSyncEngineFetchChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineFetchChangesOptions ();
	public CKSyncEngineFetchChangesOptions (CKSyncEngineFetchChangesScope scope);
	protected CKSyncEngineFetchChangesOptions (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKOperationGroup OperationGroup { get; set; }
	public virtual CKRecordZoneID[] PrioritizedZoneIds { get; set; }
	public virtual CKSyncEngineFetchChangesScope Scope { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineFetchChangesScope

public class CKSyncEngineFetchChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineFetchChangesScope ();
	protected CKSyncEngineFetchChangesScope (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchChangesScope (IntPtr handle);
	public CKSyncEngineFetchChangesScope (Foundation.NSSet<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ZoneIds { get; }
	// methods
	public virtual bool Contains (CKRecordZoneID zoneId);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineFetchedDatabaseChangesEvent

public class CKSyncEngineFetchedDatabaseChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineFetchedDatabaseChangesEvent ();
	protected CKSyncEngineFetchedDatabaseChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedDatabaseChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchedZoneDeletion[] Deletions { get; }
	public virtual CKRecordZone[] Modifications { get; }
}

New Type: CloudKit.CKSyncEngineFetchedRecordDeletion

public class CKSyncEngineFetchedRecordDeletion : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchedRecordDeletion (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedRecordDeletion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID RecordId { get; }
	public virtual string RecordType { get; }
}

New Type: CloudKit.CKSyncEngineFetchedRecordZoneChangesEvent

public class CKSyncEngineFetchedRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineFetchedRecordZoneChangesEvent ();
	protected CKSyncEngineFetchedRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchedRecordDeletion[] Deletions { get; }
	public virtual CKRecord[] Modifications { get; }
}

New Type: CloudKit.CKSyncEngineFetchedZoneDeletion

public class CKSyncEngineFetchedZoneDeletion : Foundation.NSObject {
	// constructors
	protected CKSyncEngineFetchedZoneDeletion (Foundation.NSObjectFlag t);
	protected CKSyncEngineFetchedZoneDeletion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineZoneDeletionReason Reason { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEnginePendingDatabaseChange

public class CKSyncEnginePendingDatabaseChange : Foundation.NSObject {
	// constructors
	protected CKSyncEnginePendingDatabaseChange (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingDatabaseChange (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEnginePendingDatabaseChangeType Type { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEnginePendingDatabaseChangeType

[Serializable]
public enum CKSyncEnginePendingDatabaseChangeType {
	DeleteZone = 1,
	SaveZone = 0,
}

New Type: CloudKit.CKSyncEnginePendingRecordZoneChange

public class CKSyncEnginePendingRecordZoneChange : Foundation.NSObject {
	// constructors
	protected CKSyncEnginePendingRecordZoneChange (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingRecordZoneChange (IntPtr handle);
	public CKSyncEnginePendingRecordZoneChange (CKRecordID recordId, CKSyncEnginePendingRecordZoneChangeType type);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID RecordId { get; }
	public virtual CKSyncEnginePendingRecordZoneChangeType Type { get; }
}

New Type: CloudKit.CKSyncEnginePendingRecordZoneChangeType

[Serializable]
public enum CKSyncEnginePendingRecordZoneChangeType {
	DeleteRecord = 1,
	SaveRecord = 0,
}

New Type: CloudKit.CKSyncEnginePendingZoneDelete

public class CKSyncEnginePendingZoneDelete : CloudKit.CKSyncEnginePendingDatabaseChange {
	// constructors
	public CKSyncEnginePendingZoneDelete ();
	public CKSyncEnginePendingZoneDelete (CKRecordZoneID zoneId);
	protected CKSyncEnginePendingZoneDelete (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingZoneDelete (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CloudKit.CKSyncEnginePendingZoneSave

public class CKSyncEnginePendingZoneSave : CloudKit.CKSyncEnginePendingDatabaseChange {
	// constructors
	public CKSyncEnginePendingZoneSave ();
	public CKSyncEnginePendingZoneSave (CKRecordZone zone);
	protected CKSyncEnginePendingZoneSave (Foundation.NSObjectFlag t);
	protected CKSyncEnginePendingZoneSave (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZone Zone { get; }
}

New Type: CloudKit.CKSyncEngineRecordZoneChangeBatch

public class CKSyncEngineRecordZoneChangeBatch : Foundation.NSObject {
	// constructors
	protected CKSyncEngineRecordZoneChangeBatch (Foundation.NSObjectFlag t);
	protected CKSyncEngineRecordZoneChangeBatch (IntPtr handle);
	public CKSyncEngineRecordZoneChangeBatch (CKSyncEnginePendingRecordZoneChange[] pendingChanges, System.Func<CKRecordID,CloudKit.CKRecord> recordProvider);
	public CKSyncEngineRecordZoneChangeBatch (CKRecord[] recordsToSave, CKRecordID[] recordIdsToDelete, bool atomicByZone);
	// properties
	public virtual bool AtomicByZone { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID[] RecordIdsToDelete { get; }
	public virtual CKRecord[] RecordsToSave { get; }
}

New Type: CloudKit.CKSyncEngineSendChangesContext

public class CKSyncEngineSendChangesContext : Foundation.NSObject {
	// constructors
	protected CKSyncEngineSendChangesContext (Foundation.NSObjectFlag t);
	protected CKSyncEngineSendChangesContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesOptions Options { get; }
	public virtual CKSyncEngineSyncReason Reason { get; }
}

New Type: CloudKit.CKSyncEngineSendChangesOptions

public class CKSyncEngineSendChangesOptions : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineSendChangesOptions ();
	public CKSyncEngineSendChangesOptions (CKSyncEngineSendChangesScope scope);
	protected CKSyncEngineSendChangesOptions (Foundation.NSObjectFlag t);
	protected CKSyncEngineSendChangesOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKOperationGroup OperationGroup { get; set; }
	public virtual CKSyncEngineSendChangesScope Scope { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineSendChangesScope

public class CKSyncEngineSendChangesScope : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CKSyncEngineSendChangesScope ();
	protected CKSyncEngineSendChangesScope (Foundation.NSObjectFlag t);
	public CKSyncEngineSendChangesScope (Foundation.NSSet<CKRecordID> recordIds);
	protected CKSyncEngineSendChangesScope (IntPtr handle);
	public CKSyncEngineSendChangesScope (Foundation.NSSet<CKRecordZoneID> zoneIds, bool excluded);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ExcludedZoneIds { get; }
	public virtual Foundation.NSSet<CKRecordID> RecordIds { get; }
	public virtual Foundation.NSSet<CKRecordZoneID> ZoneIds { get; }
	// methods
	public virtual bool ContainsPendingRecordZoneChange (CKSyncEnginePendingRecordZoneChange pendingRecordZoneChange);
	public virtual bool ContainsRecordId (CKRecordID recordId);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: CloudKit.CKSyncEngineSentDatabaseChangesEvent

public class CKSyncEngineSentDatabaseChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineSentDatabaseChangesEvent ();
	protected CKSyncEngineSentDatabaseChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineSentDatabaseChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZoneID[] DeletedZoneIds { get; }
	public virtual Foundation.NSDictionary<CKRecordZoneID,Foundation.NSError> FailedZoneDeletes { get; }
	public virtual CKSyncEngineFailedZoneSave[] FailedZoneSaves { get; }
	public virtual CKRecordZone[] SavedZones { get; }
}

New Type: CloudKit.CKSyncEngineSentRecordZoneChangesEvent

public class CKSyncEngineSentRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineSentRecordZoneChangesEvent ();
	protected CKSyncEngineSentRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineSentRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordID[] DeletedRecordIds { get; }
	public virtual Foundation.NSDictionary<CKRecordID,Foundation.NSError> FailedRecordDeletes { get; }
	public virtual CKSyncEngineFailedRecordSave[] FailedRecordSaves { get; }
	public virtual CKRecord[] SavedRecords { get; }
}

New Type: CloudKit.CKSyncEngineState

public class CKSyncEngineState : Foundation.NSObject {
	// constructors
	protected CKSyncEngineState (Foundation.NSObjectFlag t);
	protected CKSyncEngineState (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool HasPendingUntrackedChanges { get; set; }
	public virtual CKSyncEnginePendingDatabaseChange[] PendingDatabaseChanges { get; }
	public virtual CKSyncEnginePendingRecordZoneChange[] PendingRecordZoneChanges { get; }
	public virtual CKRecordZoneID[] ZoneIdsWithUnfetchedServerChanges { get; }
	// methods
	public virtual void AddPendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes);
	public virtual void AddPendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes);
	public virtual void RemovePendingDatabaseChanges (CKSyncEnginePendingDatabaseChange[] changes);
	public virtual void RemovePendingRecordZoneChanges (CKSyncEnginePendingRecordZoneChange[] changes);
}

New Type: CloudKit.CKSyncEngineStateSerialization

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

New Type: CloudKit.CKSyncEngineStateUpdateEvent

public class CKSyncEngineStateUpdateEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineStateUpdateEvent ();
	protected CKSyncEngineStateUpdateEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineStateUpdateEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineStateSerialization StateSerialization { get; }
}

New Type: CloudKit.CKSyncEngineSyncReason

[Serializable]
public enum CKSyncEngineSyncReason {
	Manual = 1,
	Scheduled = 0,
}

New Type: CloudKit.CKSyncEngineWillFetchChangesEvent

public class CKSyncEngineWillFetchChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillFetchChangesEvent ();
	protected CKSyncEngineWillFetchChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillFetchChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineFetchChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineWillFetchRecordZoneChangesEvent

public class CKSyncEngineWillFetchRecordZoneChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillFetchRecordZoneChangesEvent ();
	protected CKSyncEngineWillFetchRecordZoneChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillFetchRecordZoneChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKRecordZoneID ZoneId { get; }
}

New Type: CloudKit.CKSyncEngineWillSendChangesEvent

public class CKSyncEngineWillSendChangesEvent : CloudKit.CKSyncEngineEvent {
	// constructors
	public CKSyncEngineWillSendChangesEvent ();
	protected CKSyncEngineWillSendChangesEvent (Foundation.NSObjectFlag t);
	protected CKSyncEngineWillSendChangesEvent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CKSyncEngineSendChangesContext Context { get; }
}

New Type: CloudKit.CKSyncEngineZoneDeletionReason

[Serializable]
public enum CKSyncEngineZoneDeletionReason {
	Deleted = 0,
	EncryptedDataReset = 2,
	Purged = 1,
}

New Type: CloudKit.ICKSyncEngineDelegate

public interface ICKSyncEngineDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void SyncEngine (CKSyncEngine syncEngine, CKSyncEngineEvent event);
	public abstract CKSyncEngineRecordZoneChangeBatch SyncEngine (CKSyncEngine syncEngine, CKSyncEngineSendChangesContext context);
}

Namespace CoreBluetooth

Type Changed: CoreBluetooth.CBCentralManager

Added event:

public event System.EventHandler<CBPeripheralDiconnectionEventEventArgs> DidDisconnectPeripheral;

Type Changed: CoreBluetooth.CBCentralManagerDelegate

Added method:

public virtual void DidDisconnectPeripheral (CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBCentralManagerDelegate_Extensions

Added method:

public static void DidDisconnectPeripheral (this ICBCentralManagerDelegate This, CBCentralManager central, CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);

Type Changed: CoreBluetooth.CBConnectPeripheralOptions

Added property:

public bool? EnableAutoReconnect { get; }

New Type: CoreBluetooth.CBPeripheralDiconnectionEventEventArgs

public class CBPeripheralDiconnectionEventEventArgs : System.EventArgs {
	// constructors
	public CBPeripheralDiconnectionEventEventArgs (CBPeripheral peripheral, double timestamp, bool isReconnecting, Foundation.NSError error);
	// properties
	public Foundation.NSError Error { get; set; }
	public bool IsReconnecting { get; set; }
	public CBPeripheral Peripheral { get; set; }
	public double Timestamp { get; set; }
}

Namespace CoreData

Type Changed: CoreData.NSAttributeType

Added value:

CompositeAttributeType = 2100,

Type Changed: CoreData.NSManagedObjectModel

Added property:

public virtual string VersionChecksum { get; }

Added method:

public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> ChecksumsForVersionedModel (Foundation.NSUrl modelUrl, out Foundation.NSError error);

Type Changed: CoreData.NSPersistentStoreCoordinator

Added methods:

public virtual bool FinishDeferredLightweightMigration (out Foundation.NSError error);
public virtual bool FinishDeferredLightweightMigrationTask (out Foundation.NSError error);

Type Changed: CoreData.UserInfoKeys

Added properties:

public static Foundation.NSString DeferredLightweightMigrationOptionKey { get; }
public static Foundation.NSString StagedMigrationManagerOptionKey { get; }

New Type: CoreData.NSCompositeAttributeDescription

public class NSCompositeAttributeDescription : CoreData.NSAttributeDescription {
	// constructors
	public NSCompositeAttributeDescription ();
	public NSCompositeAttributeDescription (Foundation.NSCoder coder);
	protected NSCompositeAttributeDescription (Foundation.NSObjectFlag t);
	protected NSCompositeAttributeDescription (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSAttributeDescription[] Elements { get; set; }
}

New Type: CoreData.NSCustomMigrationStage

public class NSCustomMigrationStage : CoreData.NSMigrationStage {
	// constructors
	protected NSCustomMigrationStage (Foundation.NSObjectFlag t);
	protected NSCustomMigrationStage (IntPtr handle);
	public NSCustomMigrationStage (NSManagedObjectModelReference currentModel, NSManagedObjectModelReference nextModel);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSManagedObjectModelReference CurrentModel { get; }
	public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> DidMigrateHandler { get; set; }
	public virtual NSManagedObjectModelReference NextModel { get; }
	public virtual System.Func<NSStagedMigrationManager,CoreData.NSCustomMigrationStage,Foundation.NSError,System.Boolean> WillMigrateHandler { get; set; }
}

New Type: CoreData.NSLightweightMigrationStage

public class NSLightweightMigrationStage : CoreData.NSMigrationStage {
	// constructors
	protected NSLightweightMigrationStage (Foundation.NSObjectFlag t);
	protected NSLightweightMigrationStage (IntPtr handle);
	public NSLightweightMigrationStage (string[] versionChecksums);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string[] VersionChecksums { get; }
}

New Type: CoreData.NSManagedObjectModelReference

public class NSManagedObjectModelReference : Foundation.NSObject {
	// constructors
	protected NSManagedObjectModelReference (Foundation.NSObjectFlag t);
	protected NSManagedObjectModelReference (IntPtr handle);
	public NSManagedObjectModelReference (NSManagedObjectModel model, string versionChecksum);
	public NSManagedObjectModelReference (Foundation.NSUrl fileUrl, string versionChecksum);
	public NSManagedObjectModelReference (Foundation.NSDictionary versionHash, Foundation.NSBundle bundle, string versionChecksum);
	public NSManagedObjectModelReference (string modelName, Foundation.NSBundle bundle, string versionChecksum);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSManagedObjectModel ResolvedModel { get; }
	public virtual string VersionChecksum { get; }
}

New Type: CoreData.NSMigrationStage

public class NSMigrationStage : Foundation.NSObject {
	// constructors
	public NSMigrationStage ();
	protected NSMigrationStage (Foundation.NSObjectFlag t);
	protected NSMigrationStage (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
}

New Type: CoreData.NSStagedMigrationManager

public class NSStagedMigrationManager : Foundation.NSObject {
	// constructors
	public NSStagedMigrationManager (NSMigrationStage[] stages);
	protected NSStagedMigrationManager (Foundation.NSObjectFlag t);
	protected NSStagedMigrationManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSPersistentContainer Container { get; }
	public virtual NSMigrationStage[] Stages { get; }
}

Namespace CoreFoundation

Type Changed: CoreFoundation.CFRunLoop

Added properties:

public string[] AllModes { get; }
public string CurrentMode { get; }

Added method:

public CFRunLoopExitReason RunInMode (string mode, double seconds, bool returnAfterSourceHandled);

Namespace CoreGraphics

Type Changed: CoreGraphics.CGContext

Added method:

public void DrawConicGradient (CGGradient gradient, CGPoint point, nfloat angle);

Namespace CoreImage

Type Changed: CoreImage.CIContext

Added property:

public static Foundation.NSString MemoryLimit { get; }

Added methods:

public virtual Foundation.NSData GetOpenEXRRepresentation (CIImage image, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr);
public virtual bool WriteOpenExrRepresentation (CIImage image, Foundation.NSUrl url, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError errorPtr);

Type Changed: CoreImage.CIFilter

Added properties:

public static CIBlurredRectangleGenerator BlurredRectangleGeneratorFilter { get; }
public static CICannyEdgeDetector CannyEdgeDetectorFilter { get; }
public static CIRoundedRectangleStrokeGenerator RoundedRectangleStrokeGeneratorFilter { get; }
public static CISobelGradients SobelGradientsFilter { get; }

Type Changed: CoreImage.CIImage

Added properties:

public static int FormatRgb10 { get; }
public static int FormatRgbX16 { get; }
public static int FormatRgbXf { get; }
public static int FormatRgbXh { get; }

Type Changed: CoreImage.CIImageProcessorInput_Extensions

Added methods:

public static nuint GetRoiTileCount (this ICIImageProcessorInput This);
public static nuint GetRoiTileIndex (this ICIImageProcessorInput This);

Type Changed: CoreImage.CIImageProcessorKernel

Added method:

public static CIVector[] GetRoiTileArray (int input, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> arguments, CoreGraphics.CGRect outputRect);

Type Changed: CoreImage.CIPhotoEffect

Added property:

public bool Extrapolate { get; set; }

Type Changed: CoreImage.CIRenderInfo

Added property:

public virtual double KernelCompileTime { get; }

New Type: CoreImage.CIBlurredRectangleGenerator

public class CIBlurredRectangleGenerator : CoreImage.CIFilter, ICIBlurredRectangleGeneratorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIBlurredRectangleGenerator ();
	public CIBlurredRectangleGenerator (Foundation.NSCoder coder);
	protected CIBlurredRectangleGenerator (Foundation.NSObjectFlag t);
	protected CIBlurredRectangleGenerator (IntPtr handle);
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float Sigma { get; set; }
}

New Type: CoreImage.CICannyEdgeDetector

public class CICannyEdgeDetector : CoreImage.CIFilter, ICICannyEdgeDetectorProtocol, ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CICannyEdgeDetector ();
	public CICannyEdgeDetector (Foundation.NSCoder coder);
	protected CICannyEdgeDetector (Foundation.NSObjectFlag t);
	protected CICannyEdgeDetector (IntPtr handle);
	// properties
	public virtual float GaussianSigma { get; set; }
	public virtual nint HysteresisPasses { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual bool Perceptual { get; set; }
	public virtual float ThresholdHigh { get; set; }
	public virtual float ThresholdLow { get; set; }
}

New Type: CoreImage.CIPhotoEffectProtocol_Extensions

public static class CIPhotoEffectProtocol_Extensions {
	// methods
	public static bool GetExtrapolate (this ICIPhotoEffectProtocol This);
	public static void SetExtrapolate (this ICIPhotoEffectProtocol This, bool value);
}

New Type: CoreImage.CIRoundedRectangleStrokeGenerator

public class CIRoundedRectangleStrokeGenerator : CoreImage.CIFilter, ICIFilterProtocol, ICIRoundedRectangleStrokeGeneratorProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CIRoundedRectangleStrokeGenerator ();
	public CIRoundedRectangleStrokeGenerator (Foundation.NSCoder coder);
	protected CIRoundedRectangleStrokeGenerator (Foundation.NSObjectFlag t);
	protected CIRoundedRectangleStrokeGenerator (IntPtr handle);
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual float Radius { get; set; }
	public virtual float Width { get; set; }
}

New Type: CoreImage.CISobelGradients

public class CISobelGradients : CoreImage.CIFilter, ICIFilterProtocol, ICISobelGradientsProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CISobelGradients ();
	public CISobelGradients (Foundation.NSCoder coder);
	protected CISobelGradients (Foundation.NSObjectFlag t);
	protected CISobelGradients (IntPtr handle);
	// properties
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.ICIBlurredRectangleGeneratorProtocol

public interface ICIBlurredRectangleGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual float Sigma { get; set; }
}

New Type: CoreImage.ICICannyEdgeDetectorProtocol

public interface ICICannyEdgeDetectorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual float GaussianSigma { get; set; }
	public virtual nint HysteresisPasses { get; set; }
	public virtual CIImage InputImage { get; set; }
	public virtual bool Perceptual { get; set; }
	public virtual float ThresholdHigh { get; set; }
	public virtual float ThresholdLow { get; set; }
}

New Type: CoreImage.ICIRoundedRectangleStrokeGeneratorProtocol

public interface ICIRoundedRectangleStrokeGeneratorProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIColor Color { get; set; }
	public virtual CoreGraphics.CGRect InputExtent { get; set; }
	public virtual float Radius { get; set; }
	public virtual float Width { get; set; }
}

New Type: CoreImage.ICISobelGradientsProtocol

public interface ICISobelGradientsProtocol : ICIFilterProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual CIImage InputImage { get; set; }
}

Namespace CoreLocation

New Type: CoreLocation.CLLiveUpdateConfiguration

[Serializable]
public enum CLLiveUpdateConfiguration {
	Airborne = 4,
	AutomotiveNavigation = 1,
	Default = 0,
	Fitness = 3,
	OtherNavigation = 2,
}

New Type: CoreLocation.CLLocationUpdater

public class CLLocationUpdater : Foundation.NSObject {
	// constructors
	protected CLLocationUpdater (Foundation.NSObjectFlag t);
	protected CLLocationUpdater (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static CLLocationUpdater CreateLiveUpdates (CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public static CLLocationUpdater CreateLiveUpdates (CLLiveUpdateConfiguration configuration, CoreFoundation.DispatchQueue queue, System.Action<CLUpdate> handler);
	public virtual void Invalidate ();
	public virtual void Pause ();
	public virtual void Resume ();
}

New Type: CoreLocation.CLMonitoringState

[Serializable]
public enum CLMonitoringState {
	Satisfied = 1,
	Unknown = 0,
	Unmonitored = 3,
	Unsatisfied = 2,
}

New Type: CoreLocation.CLUpdate

public class CLUpdate : Foundation.NSObject {
	// constructors
	public CLUpdate ();
	protected CLUpdate (Foundation.NSObjectFlag t);
	protected CLUpdate (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool IsStationary { get; }
	public virtual CLLocation Location { get; }
}

Namespace CoreML

Type Changed: CoreML.MLModel

Added properties:

public static IMLComputeDeviceProtocol[] AllComputeDevices { get; }
public static IMLComputeDeviceProtocol[] AvailableComputeDevices { get; }

Added methods:

public virtual void GetPrediction (IMLFeatureProvider input, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler);
public virtual void GetPrediction (IMLFeatureProvider input, MLPredictionOptions options, System.Action<IMLFeatureProvider,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<IMLFeatureProvider> GetPredictionAsync (IMLFeatureProvider input);
public virtual System.Threading.Tasks.Task<IMLFeatureProvider> GetPredictionAsync (IMLFeatureProvider input, MLPredictionOptions options);

Type Changed: CoreML.MLModelError

Added value:

PredictionCancelled = 11,

New Type: CoreML.IMLComputeDeviceProtocol

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

New Type: CoreML.MLCpuComputeDevice

public class MLCpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLCpuComputeDevice (Foundation.NSObjectFlag t);
	protected MLCpuComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: CoreML.MLGpuComputeDevice

public class MLGpuComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLGpuComputeDevice (Foundation.NSObjectFlag t);
	protected MLGpuComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Metal.IMTLDevice MetalDevice { get; }
}

New Type: CoreML.MLNeuralEngineComputeDevice

public class MLNeuralEngineComputeDevice : Foundation.NSObject, IMLComputeDeviceProtocol, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MLNeuralEngineComputeDevice (Foundation.NSObjectFlag t);
	protected MLNeuralEngineComputeDevice (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint TotalCoreCount { get; }
}

Namespace CoreText

Type Changed: CoreText.CTFontDescriptor

Obsoleted methods:

 [Obsolete ("Use 'MatchFontDescriptors (CTFontDescriptor[], NSSet, CTFontDescriptorProgressHandler)' instead.")]
 public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, System.Func<CTFontDescriptorMatchingState,System.IntPtr,System.Boolean> progressHandler);

Added method:

public static bool MatchFontDescriptors (CTFontDescriptor[] descriptors, Foundation.NSSet mandatoryAttributes, CTFontDescriptor.CTFontDescriptorProgressHandler progressHandler);

Type Changed: CoreText.CTFontDescriptorAttributes

Added property:

public bool? WeakEnabled { get; set; }

New Type: CoreText.CTFontDescriptorMatchingProgress

public class CTFontDescriptorMatchingProgress : Foundation.DictionaryContainer {
	// constructors
	public CTFontDescriptorMatchingProgress ();
	public CTFontDescriptorMatchingProgress (Foundation.NSDictionary dictionary);
	// properties
	public long? CurrentAssetSize { get; }
	public CTFontDescriptor[] Descriptors { get; }
	public Foundation.NSError Error { get; }
	public double? Percentage { get; }
	public CTFontDescriptor[] Result { get; }
	public CTFontDescriptor SourceDescriptor { get; }
	public long? TotalAssetSize { get; }
	public long? TotalDownloadedSize { get; }
}

Namespace CoreVideo

Type Changed: CoreVideo.CVImageBuffer

Added properties:

public static Foundation.NSString LogTransferFunctionAppleLogKey { get; }
public static Foundation.NSString LogTransferFunctionKey { get; }

Namespace Foundation

Type Changed: Foundation.DictionaryContainer

Added methods:

protected T GetStrongDictionary<T> (NSString key, System.Func<NSDictionary,T> createStrongDictionary);
protected UIKit.UIEdgeInsets? GetUIEdgeInsets (NSString key);
protected void SetUIEdgeInsets (NSString key, UIKit.UIEdgeInsets? value);

Type Changed: Foundation.NSAttributedStringDocumentAttributes

Obsoleted properties:

 [Obsolete ("Use 'CharacterEncoding' instead.")]
 public NSStringEncoding? StringEncoding { get; set; }

Added properties:

public NSStringEncoding? CharacterEncoding { get; set; }
public float? CocoaVersion { get; set; }
public NSAttributedStringDocumentAttributes DefaultAttributes { get; set; }
public UIKit.NSTextScalingType? SourceTextScaling { get; set; }
public UIKit.NSTextScalingType? TextScaling { get; set; }

Type Changed: Foundation.NSAttributedStringNameKey

Added values:

InflectionAgreementArgument = 10,
InflectionAgreementConcept = 11,
InflectionReferentConcept = 12,

Type Changed: Foundation.NSBundle

Added property:

public static NSString BundleDidLoadNotification { get; }

Type Changed: Foundation.NSDataWritingOptions

Added value:

FileProtectionCompleteWhenUserInactive = 1342177280,

Type Changed: Foundation.NSDate

Added property:

public static NSString SystemClockDidChangeNotification { get; }

Type Changed: Foundation.NSError

Added property:

public static NSString NSNetServicesErrorCode { get; }

Type Changed: Foundation.NSFileManager

Obsoleted properties:

 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionComplete { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionCompleteUnlessOpen { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionCompleteUntilFirstUserAuthentication { get; }
 [Obsolete ("Use the 'NSFileProtectionType' instead.")]
 public static NSString FileProtectionNone { get; }

Type Changed: Foundation.NSLocale

Added properties:

public virtual string LanguageIdentifier { get; }
public virtual string RegionCode { get; }

Type Changed: Foundation.NSMorphology

Added properties:

public virtual NSGrammaticalDefiniteness Definiteness { get; set; }
public virtual NSGrammaticalDetermination Determination { get; set; }
public virtual NSGrammaticalCase GrammaticalCase { get; set; }
public virtual NSGrammaticalPerson GrammaticalPerson { get; set; }
public virtual NSGrammaticalPronounType PronounType { get; set; }

Type Changed: Foundation.NSPort

Added property:

public static NSString PortDidBecomeInvalidNotification { get; }

Type Changed: Foundation.NSThread

Added properties:

public static NSString ThreadWillExitNotification { get; }
public static NSString WillBecomeMultiThreadedNotification { get; }

Type Changed: Foundation.NSTimeZone

Added property:

public static NSString SystemTimeZoneDidChangeNotification { get; }

Type Changed: Foundation.NSUrl

Added properties:

public static NSString DirectoryEntryCountKey { get; }
public static NSString FileProtectionCompleteWhenUserInactive { get; }

Added methods:

public static NSUrl CreateFileUrl (string path);
public static NSUrl CreateFileUrl (string path, bool isDir);
public static NSUrl FromString (string url, bool encodingInvalidCharacters);

Type Changed: Foundation.NSUrlComponents

Added method:

public static NSUrlComponents FromString (string url, bool encodingInvalidCharacters);

Type Changed: Foundation.NSUrlSession

Added methods:

public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData);
public virtual NSUrlSessionUploadTask CreateUploadTask (NSData resumeData, System.Action<NSData,Foundation.NSUrlResponse,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData);
public virtual System.Threading.Tasks.Task<NSUrlSessionUploadTaskResumeRequest> CreateUploadTaskAsync (NSData resumeData, out NSUrlSessionUploadTask result);

Type Changed: Foundation.NSUrlSessionConfiguration

Added property:

public Network.NWProxyConfig[] ProxyConfigurations { get; set; }

Type Changed: Foundation.NSUrlSessionTaskDelegate

Added methods:

public virtual void DidReceiveInformationalResponse (NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response);
public virtual void NeedNewBodyStream (NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler);

Type Changed: Foundation.NSUrlSessionTaskDelegate_Extensions

Added methods:

public static void DidReceiveInformationalResponse (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, NSHttpUrlResponse response);
public static void NeedNewBodyStream (this INSUrlSessionTaskDelegate This, NSUrlSession session, NSUrlSessionTask task, long offset, System.Action<NSInputStream> completionHandler);

Type Changed: Foundation.NSUrlSessionUploadTask

Added property:

public static NSString ResumeDataKey { get; }

Added methods:

public virtual void CancelByProducingResumeData (System.Action<NSData> completionHandler);
public virtual System.Threading.Tasks.Task<NSData> CancelByProducingResumeDataAsync ();

Type Changed: Foundation.NSUserDefaults

Added properties:

public static NSString CompletedInitialSyncNotification { get; }
public static NSString DidChangeAccountsNotification { get; }
public static NSString SizeLimitExceededNotification { get; }

Type Changed: Foundation.NSUserDefaults.Notifications

Added methods:

public static NSObject ObserveCompletedInitialSync (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveCompletedInitialSync (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveDidChangeAccounts (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveDidChangeAccounts (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveSizeLimitExceeded (System.EventHandler<NSNotificationEventArgs> handler);
public static NSObject ObserveSizeLimitExceeded (NSObject objectToObserve, System.EventHandler<NSNotificationEventArgs> handler);

New Type: Foundation.NSFileProtectionType

[Serializable]
public enum NSFileProtectionType {
	Complete = 0,
	CompleteUnlessOpen = 1,
	CompleteUntilFirstUserAuthentication = 2,
	CompleteWhenUserInactive = 4,
	None = 3,
}

New Type: Foundation.NSFileProtectionTypeExtensions

public static class NSFileProtectionTypeExtensions {
	// methods
	public static NSString GetConstant (this NSFileProtectionType self);
	public static NSFileProtectionType GetValue (NSString constant);
}

New Type: Foundation.NSGrammaticalCase

[Serializable]
public enum NSGrammaticalCase {
	Ablative = 6,
	Accusative = 2,
	Adessive = 7,
	Allative = 8,
	Dative = 3,
	Elative = 9,
	Essive = 11,
	Genitive = 4,
	Illative = 10,
	Inessive = 12,
	Locative = 13,
	Nominative = 1,
	NotSet = 0,
	Prepositional = 5,
	Translative = 14,
}

New Type: Foundation.NSGrammaticalDefiniteness

[Serializable]
public enum NSGrammaticalDefiniteness {
	Definite = 2,
	Indefinite = 1,
	NotSet = 0,
}

New Type: Foundation.NSGrammaticalDetermination

[Serializable]
public enum NSGrammaticalDetermination {
	Dependent = 2,
	Independent = 1,
	NotSet = 0,
}

New Type: Foundation.NSGrammaticalPerson

[Serializable]
public enum NSGrammaticalPerson {
	First = 1,
	NotSet = 0,
	Second = 2,
	Third = 3,
}

New Type: Foundation.NSGrammaticalPronounType

[Serializable]
public enum NSGrammaticalPronounType {
	NotSet = 0,
	Personal = 1,
	Possessive = 3,
	Reflexive = 2,
}

New Type: Foundation.NSMorphologyPronoun

public class NSMorphologyPronoun : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSMorphologyPronoun (NSCoder coder);
	protected NSMorphologyPronoun (NSObjectFlag t);
	protected NSMorphologyPronoun (IntPtr handle);
	public NSMorphologyPronoun (string pronoun, NSMorphology morphology, NSMorphology dependentMorphology);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSMorphology DependentMorphology { get; }
	public virtual NSMorphology Morphology { get; }
	public virtual string Pronoun { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
}

New Type: Foundation.NSTermOfAddress

public class NSTermOfAddress : Foundation.NSObject, INSCoding, INSCopying, INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSTermOfAddress (NSCoder coder);
	protected NSTermOfAddress (NSObjectFlag t);
	protected NSTermOfAddress (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static NSTermOfAddress Feminine { get; }
	public virtual string LanguageIdentifier { get; }
	public static NSTermOfAddress Masculine { get; }
	public static NSTermOfAddress Neutral { get; }
	public virtual NSMorphologyPronoun[] Pronouns { get; }
	// methods
	public virtual NSObject Copy (NSZone zone);
	public virtual void EncodeTo (NSCoder encoder);
	public static NSTermOfAddress GetLocalized (string language, NSMorphologyPronoun[] pronouns);
}

New Type: Foundation.NSUrlSessionUploadTaskResumeRequest

public class NSUrlSessionUploadTaskResumeRequest {
	// constructors
	public NSUrlSessionUploadTaskResumeRequest (NSData arg1, NSUrlResponse arg2);
	// properties
	public NSData Arg1 { get; set; }
	public NSUrlResponse Arg2 { get; set; }
}

Namespace GameKit

Type Changed: GameKit.GKAchievement

Added methods:

public virtual UIKit.UIViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out UIKit.UIViewController result);

Type Changed: GameKit.GKAchievementDescription

Added property:

public virtual Foundation.NSNumber RarityPercent { get; }

Type Changed: GameKit.GKError

Added values:

ICloudUnavailable = 35,
LockdownMode = 36,

Type Changed: GameKit.GKLeaderboardEntry

Added methods:

public virtual UIKit.UIViewController ChallengeComposeControllerWithMessage (string message, GKPlayer[] players, GKChallengeComposeHandler2 completionHandler);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players);
public virtual System.Threading.Tasks.Task<GKChallengeComposeControllerResult> ChallengeComposeControllerWithMessageAsync (string message, GKPlayer[] players, out UIKit.UIViewController result);

Type Changed: GameKit.GKMatch

Added properties:

public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }

Type Changed: GameKit.GKMatchRequest

Added properties:

public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; set; }
public virtual string QueueName { get; set; }
public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> RecipientProperties { get; set; }

Type Changed: GameKit.GKMatchmaker

Added methods:

public virtual void FindMatchedPlayers (GKMatchRequest request, System.Action<GKMatchedPlayers,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<GKMatchedPlayers> FindMatchedPlayersAsync (GKMatchRequest request);
public virtual void QueryQueueActivity (string queueName, System.Action<System.nint,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<nint> QueryQueueActivityAsync (string queueName);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate

Added method:

public virtual void GetMatchProperties (GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

Type Changed: GameKit.GKMatchmakerViewControllerDelegate_Extensions

Added method:

public static void GetMatchProperties (this IGKMatchmakerViewControllerDelegate This, GKMatchmakerViewController viewController, GKPlayer recipient, System.Action<Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> completionHandler);

Type Changed: GameKit.GKVoiceChat

Added property:

public virtual System.Action<GKPlayer,GameKit.GKVoiceChatPlayerState> PlayerVoiceChatStateDidChangeHandler { get; }

New Type: GameKit.GKChallengeComposeControllerResult

public class GKChallengeComposeControllerResult {
	// constructors
	public GKChallengeComposeControllerResult (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers);
	// properties
	public UIKit.UIViewController ComposeController { get; set; }
	public bool IssuedChallenge { get; set; }
	public GKPlayer[] SentPlayers { get; set; }
}

New Type: GameKit.GKChallengeComposeHandler2

public sealed delegate GKChallengeComposeHandler2 : System.MulticastDelegate {
	// constructors
	public GKChallengeComposeHandler2 (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (UIKit.UIViewController composeController, bool issuedChallenge, GKPlayer[] sentPlayers);
}

New Type: GameKit.GKMatchedPlayers

public class GKMatchedPlayers : Foundation.NSObject {
	// constructors
	public GKMatchedPlayers ();
	protected GKMatchedPlayers (Foundation.NSObjectFlag t);
	protected GKMatchedPlayers (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<GameKit.GKPlayer,Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject>> PlayerProperties { get; }
	public virtual GKPlayer[] Players { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Properties { get; }
}

Namespace HomeKit

Type Changed: HomeKit.HMServiceTypeExtensions

Added methods:

public static Foundation.NSString[] ToArray (this HMServiceType value);
public static HMServiceType ToFlags (System.Collections.Generic.IEnumerable<Foundation.NSString> constants);

Namespace ImageIO

Type Changed: ImageIO.CGImageDestinationOptions

Added property:

public Foundation.NSDictionary AvisDictionary { get; set; }

Type Changed: ImageIO.CGImageDestinationOptionsKeys

Added property:

public static Foundation.NSString AvisDictionary { get; }

Type Changed: ImageIO.CGImageProperties

Added property:

public static Foundation.NSString AvisDictionary { get; }

New Type: ImageIO.CGImageDecodeOptions

public class CGImageDecodeOptions {
	// constructors
	public CGImageDecodeOptions ();
}

Namespace Intents

Type Changed: Intents.INIntentErrorCode

Added values:

NoAppIntent = 10001,
UnableToCreateAppIntentRepresentation = 10000,

Namespace MapKit

Type Changed: MapKit.MKMapSnapshotOptions

Added property:

public virtual MKMapConfiguration PreferredConfiguration { get; set; }

Type Changed: MapKit.MKMapView

Added properties:

public virtual MKFeatureVisibility PitchButtonVisibility { get; set; }
public virtual bool ShowsUserTrackingButton { get; set; }

Namespace MediaAccessibility

New Type: MediaAccessibility.MAFlashingLightsProcessor

public class MAFlashingLightsProcessor : Foundation.NSObject {
	// constructors
	public MAFlashingLightsProcessor ();
	protected MAFlashingLightsProcessor (Foundation.NSObjectFlag t);
	protected MAFlashingLightsProcessor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool CanProcess (IOSurface.IOSurface surface);
	public virtual MAFlashingLightsProcessorResult Process (IOSurface.IOSurface inSurface, IOSurface.IOSurface outSurface, double timestamp, Foundation.NSDictionary options);
}

New Type: MediaAccessibility.MAFlashingLightsProcessorResult

public class MAFlashingLightsProcessorResult : Foundation.NSObject {
	// constructors
	public MAFlashingLightsProcessorResult ();
	protected MAFlashingLightsProcessorResult (Foundation.NSObjectFlag t);
	protected MAFlashingLightsProcessorResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float IntensityLevel { get; }
	public virtual float MitigationLevel { get; }
	public virtual bool SurfaceProcessed { get; }
}

Namespace Metal

Type Changed: Metal.IMTLRenderPipelineState

Added properties:

public virtual MTLResourceId GpuResourceId { get; }
public virtual nuint MaxTotalThreadgroupsPerMeshGrid { get; }
public virtual nuint MeshThreadExecutionWidth { get; }

Type Changed: Metal.MTLArgumentEncoder_Extensions

Added methods:

public static void SetAccelerationStructure (this IMTLArgumentEncoder This, IMTLAccelerationStructure accelerationStructure, nuint index);
public static void SetIntersectionFunctionTable (this IMTLArgumentEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, nuint index);
public static void SetIntersectionFunctionTables (this IMTLArgumentEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
public static void SetVisibleFunctionTable (this IMTLArgumentEncoder This, IMTLVisibleFunctionTable visibleFunctionTable, nuint index);
public static void SetVisibleFunctionTables (this IMTLArgumentEncoder This, IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range);

Type Changed: Metal.MTLAttributeFormat

Added values:

FloatRG11B10 = 54,
FloatRGB9E5 = 55,

Type Changed: Metal.MTLBinaryArchiveError

Added value:

InternalError = 4,

Type Changed: Metal.MTLBlitCommandEncoder_Extensions

Added methods:

public static void GetTextureAccessCounters (this IMTLBlitCommandEncoder This, IMTLTexture texture, MTLRegion region, nuint mipLevel, nuint slice, bool resetCounters, IMTLBuffer countersBuffer, nuint countersBufferOffset);
public static void ResetTextureAccessCounters (this IMTLBlitCommandEncoder This, IMTLTexture texture, MTLRegion region, nuint mipLevel, nuint slice);

Type Changed: Metal.MTLBuffer_Extensions

Added method:

public static ulong GetGpuAddress (this IMTLBuffer This);

Type Changed: Metal.MTLCommandBuffer_Extensions

Added methods:

public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This);
public static IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (this IMTLCommandBuffer This, MTLAccelerationStructurePassDescriptor descriptor);
public static IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (this IMTLCommandBuffer This, MTLResourceStatePassDescriptor resourceStatePassDescriptor);
public static IMTLResourceStateCommandEncoder GetResourceStateCommandEncoder (this IMTLCommandBuffer This);

Type Changed: Metal.MTLCompileOptions

Added properties:

public virtual bool AllowReferencingUndefinedSymbols { get; set; }
public virtual MTLCompileSymbolVisibility CompileSymbolVisibility { get; set; }
public virtual nuint MaxTotalThreadsPerThreadgroup { get; set; }
public virtual MTLLibraryOptimizationLevel OptimizationLevel { get; set; }

Type Changed: Metal.MTLComputeCommandEncoder_Extensions

Added methods:

public static void SetAccelerationStructure (this IMTLComputeCommandEncoder This, IMTLAccelerationStructure accelerationStructure, nuint bufferIndex);
public static void SetBuffer (this IMTLComputeCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);
public static void SetBufferOffset (this IMTLComputeCommandEncoder This, nuint offset, nuint stride, nuint index);
public static void SetBuffers (this IMTLComputeCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
public static void SetBytes (this IMTLComputeCommandEncoder This, IntPtr bytes, nuint length, nuint stride, nuint index);
public static void SetIntersectionFunctionTable (this IMTLComputeCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex);
public static void SetIntersectionFunctionTables (this IMTLComputeCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTables, Foundation.NSRange range);
public static void SetVisibleFunctionTable (this IMTLComputeCommandEncoder This, IMTLVisibleFunctionTable visibleFunctionTable, nuint bufferIndex);
public static void SetVisibleFunctionTables (this IMTLComputeCommandEncoder This, IMTLVisibleFunctionTable[] visibleFunctionTables, Foundation.NSRange range);

Type Changed: Metal.MTLComputePipelineDescriptor

Added properties:

public virtual nuint MaxCallStackDepth { get; set; }
public virtual bool SupportAddingBinaryFunctions { get; set; }

Type Changed: Metal.MTLComputePipelineReflection

Added property:

public virtual IMTLBinding[] Bindings { get; }

Type Changed: Metal.MTLComputePipelineState_Extensions

Added methods:

public static IMTLComputePipelineState CreateComputePipelineState (this IMTLComputePipelineState This, IMTLFunction[] functions, out Foundation.NSError error);
public static IMTLFunctionHandle CreateFunctionHandle (this IMTLComputePipelineState This, IMTLFunction function);
public static IMTLIntersectionFunctionTable CreateIntersectionFunctionTable (this IMTLComputePipelineState This, MTLIntersectionFunctionTableDescriptor descriptor);
public static IMTLVisibleFunctionTable CreateVisibleFunctionTable (this IMTLComputePipelineState This, MTLVisibleFunctionTableDescriptor descriptor);
public static MTLResourceId GetGpuResourceId (this IMTLComputePipelineState This);

Type Changed: Metal.MTLDataType

Added values:

BFloat = 121,
BFloat2 = 122,
BFloat3 = 123,
BFloat4 = 124,

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static void ConvertSparsePixelRegions (this IMTLDevice This, IntPtr pixelRegions, IntPtr tileRegions, MTLSize tileSize, MTLSparseTextureRegionAlignmentMode mode, nuint numRegions);
public static void ConvertSparseTileRegions (this IMTLDevice This, IntPtr tileRegions, IntPtr pixelRegions, MTLSize tileSize, nuint numRegions);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLDevice This, nuint size);
public static MTLAccelerationStructureSizes CreateAccelerationStructureSizes (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLArgumentEncoder CreateArgumentEncoder (this IMTLDevice This, IMTLBufferBinding bufferBinding);
public static IMTLRasterizationRateMap CreateRasterizationRateMap (this IMTLDevice This, MTLRasterizationRateMapDescriptor descriptor);
public static void CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, MTLNewRenderPipelineStateWithReflectionCompletionHandler completionHandler);
public static IMTLRenderPipelineState CreateRenderPipelineState (this IMTLDevice This, MTLMeshRenderPipelineDescriptor descriptor, MTLPipelineOption options, out MTLRenderPipelineReflection reflection, out Foundation.NSError error);
public static MTLArchitecture GetArchitecture (this IMTLDevice This);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, MTLAccelerationStructureDescriptor descriptor);
public static MTLSizeAndAlign GetHeapAccelerationStructureSizeAndAlign (this IMTLDevice This, nuint size);
public static ulong GetRecommendedMaxWorkingSetSize (this IMTLDevice This);
public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, nuint sampleCount);
public static MTLSize GetSparseTileSize (this IMTLDevice This, MTLTextureType textureType, MTLPixelFormat pixelFormat, nuint sampleCount, MTLSparsePageSize sparsePageSize);
public static nuint GetSparseTileSizeInBytes (this IMTLDevice This);
public static nuint GetSparseTileSizeInBytes (this IMTLDevice This, MTLSparsePageSize sparsePageSize);
public static bool GetSupports32BitFloatFiltering (this IMTLDevice This);
public static bool GetSupports32BitMsaa (this IMTLDevice This);
public static bool GetSupportsBCTextureCompression (this IMTLDevice This);
public static bool GetSupportsFunctionPointers (this IMTLDevice This);
public static bool GetSupportsFunctionPointersFromRender (this IMTLDevice This);
public static bool GetSupportsPrimitiveMotionBlur (this IMTLDevice This);
public static bool GetSupportsQueryTextureLod (this IMTLDevice This);
public static bool GetSupportsRaytracing (this IMTLDevice This);
public static bool GetSupportsRaytracingFromRender (this IMTLDevice This);
public static bool GetSupportsShaderBarycentricCoordinates (this IMTLDevice This);
public static bool SupportsRasterizationRateMap (this IMTLDevice This, nuint layerCount);
public static bool SupportsVertexAmplification (this IMTLDevice This, nuint count);

Type Changed: Metal.MTLFunctionOptions

Added value:

StoreFunctionInMetalScript = 2,

Type Changed: Metal.MTLFunctionType

Added values:

Mesh = 7,
Object = 8,

Type Changed: Metal.MTLFunction_Extensions

Added method:

public static MTLFunctionOptions GetOptions (this IMTLFunction This);

Type Changed: Metal.MTLGpuFamily

Added values:

Apple8 = 1008,
Apple9 = 1009,
Metal3 = 5001,

Type Changed: Metal.MTLHeapDescriptor

Added property:

public virtual MTLSparsePageSize SparsePageSize { get; set; }

Type Changed: Metal.MTLHeap_Extensions

Added methods:

public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, nuint size);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, MTLAccelerationStructureDescriptor descriptor, nuint offset);
public static IMTLAccelerationStructure CreateAccelerationStructure (this IMTLHeap This, nuint size, nuint offset);

Type Changed: Metal.MTLIndirectCommandBufferDescriptor

Added properties:

public virtual nuint MaxKernelThreadgroupMemoryBindCount { get; set; }
public virtual nuint MaxMeshBufferBindCount { get; set; }
public virtual nuint MaxObjectBufferBindCount { get; set; }
public virtual nuint MaxObjectThreadgroupMemoryBindCount { get; set; }
public virtual bool SupportDynamicAttributeStride { get; set; }
public virtual bool SupportRayTracing { get; set; }

Type Changed: Metal.MTLIndirectCommandBuffer_Extensions

Added method:

public static MTLResourceId GetGpuResourceID (this IMTLIndirectCommandBuffer This);

Type Changed: Metal.MTLIndirectCommandType

Added values:

DrawMeshThreadgroups = 128,
DrawMeshThreads = 256,

Type Changed: Metal.MTLIndirectComputeCommand_Extensions

Added method:

public static void SetKernelBuffer (this IMTLIndirectComputeCommand This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);

Type Changed: Metal.MTLIndirectRenderCommand_Extensions

Added method:

public static void SetVertexBuffer (this IMTLIndirectRenderCommand This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);

Type Changed: Metal.MTLLanguageVersion

Added values:

v3_0 = 196608,
v3_1 = 196609,

Type Changed: Metal.MTLLibrary_Extensions

Added methods:

public static void CreateIntersectionFunction (this IMTLLibrary This, MTLIntersectionFunctionDescriptor descriptor, System.Action<IMTLFunction,Foundation.NSError> completionHandler);
public static IMTLFunction CreateIntersectionFunction (this IMTLLibrary This, MTLIntersectionFunctionDescriptor descriptor, out Foundation.NSError error);

Type Changed: Metal.MTLLinkedFunctions

Added property:

public virtual IMTLFunction[] BinaryFunctions { get; set; }

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added methods:

public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void DrawMeshThreadgroups (this IMTLRenderCommandEncoder This, IMTLBuffer indirectBuffer, nuint indirectBufferOffset, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void DrawMeshThreads (this IMTLRenderCommandEncoder This, MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup);
public static void MemoryBarrier (this IMTLRenderCommandEncoder This, MTLBarrierScope scope, MTLRenderStages after, MTLRenderStages before);
public static void MemoryBarrier (this IMTLRenderCommandEncoder This, IMTLResource[] resources, nuint count, MTLRenderStages after, MTLRenderStages before);
public static void SetFragmentAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, nuint bufferIndex);
public static void SetFragmentIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex);
public static void SetFragmentIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public static void SetFragmentVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, nuint bufferIndex);
public static void SetFragmentVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
public static void SetMeshBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint index);
public static void SetMeshBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint index);
public static void SetMeshBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public static void SetMeshBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint index);
public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, nuint index);
public static void SetMeshSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint index);
public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
public static void SetMeshSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
public static void SetMeshTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, nuint index);
public static void SetMeshTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
public static void SetObjectBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint index);
public static void SetObjectBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint index);
public static void SetObjectBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
public static void SetObjectBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint index);
public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, nuint index);
public static void SetObjectSamplerState (this IMTLRenderCommandEncoder This, IMTLSamplerState sampler, float lodMinClamp, float lodMaxClamp, nuint index);
public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, Foundation.NSRange range);
public static void SetObjectSamplerStates (this IMTLRenderCommandEncoder This, IntPtr samplers, IntPtr lodMinClamps, IntPtr lodMaxClamps, Foundation.NSRange range);
public static void SetObjectTexture (this IMTLRenderCommandEncoder This, IMTLTexture texture, nuint index);
public static void SetObjectTextures (this IMTLRenderCommandEncoder This, IntPtr textures, Foundation.NSRange range);
public static void SetObjectThreadgroupMemoryLength (this IMTLRenderCommandEncoder This, nuint length, nuint index);
public static void SetTileAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, nuint bufferIndex);
public static void SetTileIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex);
public static void SetTileIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public static void SetTileVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, nuint bufferIndex);
public static void SetTileVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);
public static void SetVertexAccelerationStructure (this IMTLRenderCommandEncoder This, IMTLAccelerationStructure accelerationStructure, nuint bufferIndex);
public static void SetVertexAmplificationCount (this IMTLRenderCommandEncoder This, nuint count, MTLVertexAmplificationViewMapping viewMappings);
public static void SetVertexBuffer (this IMTLRenderCommandEncoder This, IMTLBuffer buffer, nuint offset, nuint stride, nuint index);
public static void SetVertexBufferOffset (this IMTLRenderCommandEncoder This, nuint offset, nuint stride, nuint index);
public static void SetVertexBuffers (this IMTLRenderCommandEncoder This, IntPtr buffers, IntPtr offsets, IntPtr strides, Foundation.NSRange range);
public static void SetVertexBytes (this IMTLRenderCommandEncoder This, IntPtr bytes, nuint length, nuint stride, nuint index);
public static void SetVertexIntersectionFunctionTable (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable intersectionFunctionTable, nuint bufferIndex);
public static void SetVertexIntersectionFunctionTables (this IMTLRenderCommandEncoder This, IMTLIntersectionFunctionTable[] intersectionFunctionTable, Foundation.NSRange range);
public static void SetVertexVisibleFunctionTable (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable functionTable, nuint bufferIndex);
public static void SetVertexVisibleFunctionTables (this IMTLRenderCommandEncoder This, IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange range);

Type Changed: Metal.MTLRenderPassDescriptor

Added property:

public virtual IMTLRasterizationRateMap RasterizationRateMap { get; set; }

Type Changed: Metal.MTLRenderPipelineDescriptor

Added property:

public virtual nuint MaxVertexAmplificationCount { get; set; }

Type Changed: Metal.MTLRenderPipelineReflection

Added properties:

public virtual IMTLBinding[] FragmentBindings { get; }
public virtual IMTLBinding[] MeshBindings { get; }
public virtual IMTLBinding[] ObjectBindings { get; }
public virtual IMTLBinding[] TileBindings { get; }
public virtual IMTLBinding[] VertexBindings { get; }

Type Changed: Metal.MTLRenderPipelineState_Extensions

Added methods:

public static IMTLFunctionHandle FunctionHandleWithFunction (this IMTLRenderPipelineState This, IMTLFunction function, MTLRenderStages stage);
public static nuint GetMaxTotalThreadsPerMeshThreadgroup (this IMTLRenderPipelineState This);
public static nuint GetMaxTotalThreadsPerObjectThreadgroup (this IMTLRenderPipelineState This);
public static nuint GetObjectThreadExecutionWidth (this IMTLRenderPipelineState This);
public static IMTLIntersectionFunctionTable NewIntersectionFunctionTableWithDescriptor (this IMTLRenderPipelineState This, MTLIntersectionFunctionTableDescriptor descriptor, MTLRenderStages stage);
public static IMTLRenderPipelineState NewRenderPipelineStateWithAdditionalBinaryFunctions (this IMTLRenderPipelineState This, MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, out Foundation.NSError error);
public static IMTLVisibleFunctionTable NewVisibleFunctionTableWithDescriptor (this IMTLRenderPipelineState This, MTLVisibleFunctionTableDescriptor descriptor, MTLRenderStages stage);

Type Changed: Metal.MTLRenderStages

Added values:

Mesh = 16,
Object = 8,

Type Changed: Metal.MTLSamplerDescriptor

Added property:

public virtual MTLSamplerBorderColor BorderColor { get; set; }

Type Changed: Metal.MTLTextureDescriptor

Added property:

public virtual MTLTextureCompressionType CompressionType { get; set; }

Type Changed: Metal.MTLTextureUsage

Added value:

ShaderAtomic = 32,

Type Changed: Metal.MTLTexture_Extensions

Added methods:

public static MTLTextureCompressionType GetCompressionType (this IMTLTexture This);
public static nuint GetFirstMipmapInTail (this IMTLTexture This);
public static MTLResourceId GetGpuResourceId (this IMTLTexture This);
public static bool GetIsSparse (this IMTLTexture This);
public static nuint GetTailSizeInBytes (this IMTLTexture This);

Type Changed: Metal.MTLTileRenderPipelineDescriptor

Added properties:

public virtual nuint MaxCallStackDepth { get; set; }
public virtual bool SupportAddingBinaryFunctions { get; set; }

Type Changed: Metal.MTLVertexFormat

Added values:

FloatRG11B10 = 54,
FloatRgb9E5 = 55,

New Type: Metal.IMTLAccelerationStructure

public interface IMTLAccelerationStructure : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLResourceId GpuResourceId { get; }
	public virtual nuint Size { get; }
}

New Type: Metal.IMTLAccelerationStructureCommandEncoder

public interface IMTLAccelerationStructureCommandEncoder : IMTLCommandEncoder, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void BuildAccelerationStructure (IMTLAccelerationStructure accelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLBuffer scratchBuffer, nuint scratchBufferOffset);
	public abstract void CopyAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure);
	public abstract void CopyAndCompactAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, IMTLAccelerationStructure destinationAccelerationStructure);
	public abstract void RefitAccelerationStructure (IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, nuint scratchBufferOffset);
	public abstract void SampleCountersInBuffer (MTLCounterSampleBuffer sampleBuffer, nuint sampleIndex, bool barrier);
	public abstract void UpdateFence (IMTLFence fence);
	public abstract void UseHeap (IMTLHeap heap);
	public abstract void UseHeaps (IMTLHeap[] heaps, nuint count);
	public abstract void UseResource (IMTLResource resource, MTLResourceUsage usage);
	public abstract void UseResources (IMTLResource[] resources, nuint count, MTLResourceUsage usage);
	public abstract void WaitForFence (IMTLFence fence);
	public abstract void WriteCompactedAccelerationStructureSize (IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, nuint offset);
}

New Type: Metal.IMTLBinding

public interface IMTLBinding : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual MTLBindingAccess Access { get; }
	public virtual bool Argument { get; }
	public virtual nuint Index { get; }
	public virtual string Name { get; }
	public virtual MTLBindingType Type { get; }
	public virtual bool Used { get; }
}

New Type: Metal.IMTLBufferBinding

public interface IMTLBufferBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint BufferAlignment { get; }
	public virtual nuint BufferDataSize { get; }
	public virtual MTLDataType BufferDataType { get; }
	public virtual MTLPointerType BufferPointerType { get; }
	public virtual MTLStructType BufferStructType { get; }
}

New Type: Metal.IMTLFunctionHandle

public interface IMTLFunctionHandle : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IMTLDevice Device { get; }
	public virtual MTLFunctionType FunctionType { get; }
	public virtual string Name { get; }
}

New Type: Metal.IMTLIntersectionFunctionTable

public interface IMTLIntersectionFunctionTable : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void SetBuffer (IMTLBuffer buffer, nuint offset, nuint index);
	public abstract void SetBuffers (IntPtr buffers, IntPtr offsets, Foundation.NSRange range);
	public abstract void SetFunction (IMTLFunctionHandle function, nuint index);
	public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range);
	public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public abstract void SetOpaqueTriangleIntersectionFunction (MTLIntersectionFunctionSignature signature, nuint index);
	public abstract void SetVisibleFunctionTable (IMTLVisibleFunctionTable functionTable, nuint bufferIndex);
	public abstract void SetVisibleFunctionTables (IMTLVisibleFunctionTable[] functionTables, Foundation.NSRange bufferRange);
}

New Type: Metal.IMTLObjectPayloadBinding

public interface IMTLObjectPayloadBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint ObjectPayloadAlignment { get; }
	public virtual nuint ObjectPayloadDataSize { get; }
}

New Type: Metal.IMTLRasterizationRateMap

public interface IMTLRasterizationRateMap : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IMTLDevice Device { get; }
	public virtual string Label { get; }
	public virtual nuint LayerCount { get; }
	public virtual MTLSizeAndAlign ParameterBufferSizeAndAlign { get; }
	public virtual MTLSize PhysicalGranularity { get; }
	public virtual MTLSize ScreenSize { get; }
	// methods
	public abstract void CopyParameterData (IMTLBuffer buffer, nuint offset);
	public abstract MTLSize GetPhysicalSize (nuint layerIndex);
	public abstract MTLCoordinate2D MapPhysicalToScreenCoordinates (MTLCoordinate2D physicalCoordinates, nuint layerIndex);
	public abstract MTLCoordinate2D MapScreenToPhysicalCoordinates (MTLCoordinate2D screenCoordinates, nuint layerIndex);
}

New Type: Metal.IMTLResourceStateCommandEncoder

public interface IMTLResourceStateCommandEncoder : IMTLCommandEncoder, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void Update (IMTLFence fence);
	public abstract void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IMTLBuffer indirectBuffer, nuint indirectBufferOffset);
	public abstract void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, MTLRegion region, nuint mipLevel, nuint slice);
	public abstract void Update (IMTLTexture texture, MTLSparseTextureMappingMode mode, IntPtr regions, IntPtr mipLevels, IntPtr slices, nuint numRegions);
	public abstract void Wait (IMTLFence fence);
}

New Type: Metal.IMTLTextureBinding

public interface IMTLTextureBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint ArrayLength { get; }
	public virtual bool DepthTexture { get; }
	public virtual MTLDataType TextureDataType { get; }
	public virtual MTLTextureType TextureType { get; }
}

New Type: Metal.IMTLThreadgroupBinding

public interface IMTLThreadgroupBinding : IMTLBinding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual nuint ThreadgroupMemoryAlignment { get; }
	public virtual nuint ThreadgroupMemoryDataSize { get; }
}

New Type: Metal.IMTLVisibleFunctionTable

public interface IMTLVisibleFunctionTable : IMTLResource, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract void SetFunction (IMTLFunctionHandle function, nuint index);
	public abstract void SetFunctions (IMTLFunctionHandle[] functions, Foundation.NSRange range);
}

New Type: Metal.MTLAccelerationStructureBoundingBoxGeometryDescriptor

public class MTLAccelerationStructureBoundingBoxGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	protected MTLAccelerationStructureBoundingBoxGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureBoundingBoxGeometryDescriptor (IntPtr handle);
	// properties
	public virtual IMTLBuffer BoundingBoxBuffer { get; set; }
	public virtual nuint BoundingBoxBufferOffset { get; set; }
	public virtual nuint BoundingBoxCount { get; set; }
	public virtual nuint BoundingBoxStride { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static MTLAccelerationStructureBoundingBoxGeometryDescriptor Create ();
}

New Type: Metal.MTLAccelerationStructureCommandEncoder_Extensions

public static class MTLAccelerationStructureCommandEncoder_Extensions {
	// methods
	public static void RefitAccelerationStructure (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure sourceAccelerationStructure, MTLAccelerationStructureDescriptor descriptor, IMTLAccelerationStructure destinationAccelerationStructure, IMTLBuffer scratchBuffer, nuint scratchBufferOffset, MTLAccelerationStructureRefitOptions options);
	public static void WriteCompactedAccelerationStructureSize (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, nuint offset, MTLDataType sizeDataType);
}

New Type: Metal.MTLAccelerationStructureCurveGeometryDescriptor

public class MTLAccelerationStructureCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureCurveGeometryDescriptor ();
	protected MTLAccelerationStructureCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureCurveGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer ControlPointBuffer { get; set; }
	public virtual nuint ControlPointBufferOffset { get; set; }
	public virtual nuint ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual nuint ControlPointStride { get; set; }
	public virtual MTLCurveBasis CurveBasis { get; set; }
	public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
	public virtual MTLCurveType CurveType { get; set; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer RadiusBuffer { get; set; }
	public virtual nuint RadiusBufferOffset { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual nuint RadiusStride { get; set; }
	public virtual nuint SegmentControlPointCount { get; set; }
	public virtual nuint SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructureDescriptor

public class MTLAccelerationStructureDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructureDescriptor ();
	protected MTLAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLAccelerationStructureUsage Usage { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructureGeometryDescriptor

public class MTLAccelerationStructureGeometryDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructureGeometryDescriptor ();
	protected MTLAccelerationStructureGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureGeometryDescriptor (IntPtr handle);
	// properties
	public virtual bool AllowDuplicateIntersectionFunctionInvocation { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual nuint IntersectionFunctionTableOffset { get; set; }
	public virtual string Label { get; set; }
	public virtual bool Opaque { get; set; }
	public virtual IMTLBuffer PrimitiveDataBuffer { get; set; }
	public virtual nuint PrimitiveDataBufferOffset { get; set; }
	public virtual nuint PrimitiveDataElementSize { get; set; }
	public virtual nuint PrimitiveDataStride { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructureInstanceDescriptorType

[Serializable]
public enum MTLAccelerationStructureInstanceDescriptorType {
	Default = 0,
	Indirect = 3,
	IndirectMotion = 4,
	Motion = 2,
	UserID = 1,
}

New Type: Metal.MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor

public class MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor ();
	protected MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor (IntPtr handle);
	// properties
	public virtual MTLMotionKeyframeData[] BoundingBoxBuffers { get; set; }
	public virtual nuint BoundingBoxCount { get; set; }
	public virtual nuint BoundingBoxStride { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor Create ();
}

New Type: Metal.MTLAccelerationStructureMotionCurveGeometryDescriptor

public class MTLAccelerationStructureMotionCurveGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionCurveGeometryDescriptor ();
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionCurveGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLMotionKeyframeData[] ControlPointBuffers { get; set; }
	public virtual nuint ControlPointCount { get; set; }
	public virtual MTLAttributeFormat ControlPointFormat { get; set; }
	public virtual nuint ControlPointStride { get; set; }
	public virtual MTLCurveBasis CurveBasis { get; set; }
	public virtual MTLCurveEndCaps CurveEndCaps { get; set; }
	public virtual MTLCurveType CurveType { get; set; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual MTLMotionKeyframeData[] RadiusBuffers { get; set; }
	public virtual MTLAttributeFormat RadiusFormat { get; set; }
	public virtual nuint RadiusStride { get; set; }
	public virtual nuint SegmentControlPointCount { get; set; }
	public virtual nuint SegmentCount { get; set; }
	// methods
	public static MTLAccelerationStructureMotionCurveGeometryDescriptor GetDescriptor ();
}

New Type: Metal.MTLAccelerationStructureMotionTriangleGeometryDescriptor

public class MTLAccelerationStructureMotionTriangleGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureMotionTriangleGeometryDescriptor ();
	protected MTLAccelerationStructureMotionTriangleGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureMotionTriangleGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
	public virtual nuint TransformationMatrixBufferOffset { get; set; }
	public virtual nuint TriangleCount { get; set; }
	public virtual MTLMotionKeyframeData[] VertexBuffers { get; set; }
	public virtual MTLAttributeFormat VertexFormat { get; set; }
	public virtual nuint VertexStride { get; set; }
	// methods
	public static MTLAccelerationStructureMotionTriangleGeometryDescriptor Create ();
}

New Type: Metal.MTLAccelerationStructurePassDescriptor

public class MTLAccelerationStructurePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructurePassDescriptor ();
	protected MTLAccelerationStructurePassDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassDescriptor (IntPtr handle);
	// properties
	public static MTLAccelerationStructurePassDescriptor AccelerationStructurePassDescriptor { get; }
	public override IntPtr ClassHandle { get; }
	public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray SampleBufferAttachments { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptor

public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLAccelerationStructurePassSampleBufferAttachmentDescriptor ();
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint EndOfEncoderSampleIndex { get; set; }
	public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; }
	public virtual nuint StartOfEncoderSampleIndex { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray

public class MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray : Foundation.NSObject {
	// constructors
	public MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray ();
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructurePassSampleBufferAttachmentDescriptorArray (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual MTLAccelerationStructurePassSampleBufferAttachmentDescriptor GetObject (nuint attachmentIndex);
	public virtual void SetObject (MTLAccelerationStructurePassSampleBufferAttachmentDescriptor attachment, nuint attachmentIndex);
}

New Type: Metal.MTLAccelerationStructureRefitOptions

[Serializable]
[Flags]
public enum MTLAccelerationStructureRefitOptions {
	PerPrimitiveData = 2,
	VertexData = 1,
}

New Type: Metal.MTLAccelerationStructureTriangleGeometryDescriptor

public class MTLAccelerationStructureTriangleGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor {
	// constructors
	public MTLAccelerationStructureTriangleGeometryDescriptor ();
	protected MTLAccelerationStructureTriangleGeometryDescriptor (Foundation.NSObjectFlag t);
	protected MTLAccelerationStructureTriangleGeometryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer IndexBuffer { get; set; }
	public virtual nuint IndexBufferOffset { get; set; }
	public virtual MTLIndexType IndexType { get; set; }
	public virtual IMTLBuffer TransformationMatrixBuffer { get; set; }
	public virtual nuint TransformationMatrixBufferOffset { get; set; }
	public virtual nuint TriangleCount { get; set; }
	public virtual IMTLBuffer VertexBuffer { get; set; }
	public virtual nuint VertexBufferOffset { get; set; }
	public virtual MTLAttributeFormat VertexFormat { get; set; }
	public virtual nuint VertexStride { get; set; }
	// methods
	public static MTLAccelerationStructureTriangleGeometryDescriptor Create ();
}

New Type: Metal.MTLAccelerationStructureUsage

[Serializable]
[Flags]
public enum MTLAccelerationStructureUsage {
	ExtendedLimits = 4,
	None = 0,
	PreferFastBuild = 2,
	Refit = 1,
}

New Type: Metal.MTLArchitecture

public class MTLArchitecture : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLArchitecture ();
	protected MTLArchitecture (Foundation.NSObjectFlag t);
	protected MTLArchitecture (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLBindingAccess

[Serializable]
public enum MTLBindingAccess {
	ReadOnly = 0,
	ReadWrite = 1,
	WriteOnly = 2,
}

New Type: Metal.MTLBindingType

[Serializable]
public enum MTLBindingType {
	Buffer = 0,
	Imageblock = 17,
	ImageblockData = 16,
	InstanceAccelerationStructure = 26,
	IntersectionFunctionTable = 27,
	ObjectPayload = 34,
	PrimitiveAccelerationStructure = 25,
	Sampler = 3,
	Texture = 2,
	ThreadgroupMemory = 1,
	VisibleFunctionTable = 24,
}

New Type: Metal.MTLCompileSymbolVisibility

[Serializable]
public enum MTLCompileSymbolVisibility {
	Default = 0,
	Hidden = 1,
}

New Type: Metal.MTLCoordinate2D

public struct MTLCoordinate2D {
	// fields
	public float X;
	public float Y;
}

New Type: Metal.MTLCurveBasis

[Serializable]
public enum MTLCurveBasis {
	BSpline = 0,
	Bezier = 3,
	CatmullRom = 1,
	Linear = 2,
}

New Type: Metal.MTLCurveEndCaps

[Serializable]
public enum MTLCurveEndCaps {
	Disk = 1,
	None = 0,
	Sphere = 2,
}

New Type: Metal.MTLCurveType

[Serializable]
public enum MTLCurveType {
	Flat = 1,
	Round = 0,
}

New Type: Metal.MTLIOCommandQueueType

[Serializable]
public enum MTLIOCommandQueueType {
	Concurrent = 0,
	Serial = 1,
}

New Type: Metal.MTLIOCompressionContext

public class MTLIOCompressionContext : ObjCRuntime.DisposableObject {
	// properties
	public static nint DefaultChunkSize { get; }
	// methods
	public void AppendData (Foundation.NSData data);
	public void AppendData (byte[] data);
	public void AppendData (System.ReadOnlySpan<byte> data);
	public static MTLIOCompressionContext Create (string path, MTLIOCompressionMethod type, long chunkSize);
	protected override void Dispose (bool disposing);
	public MTLIOCompressionStatus FlushAndDestroy ();
}

New Type: Metal.MTLIOCompressionMethod

[Serializable]
public enum MTLIOCompressionMethod {
	Lz4 = 2,
	LzBitmap = 4,
	Lzfse = 1,
	Lzma = 3,
	Zlib = 0,
}

New Type: Metal.MTLIOCompressionStatus

[Serializable]
public enum MTLIOCompressionStatus {
	Complete = 0,
	Error = 1,
}

New Type: Metal.MTLIOError

[Serializable]
public enum MTLIOError {
	Internal = 2,
	UrlInvalid = 1,
}

New Type: Metal.MTLIOErrorExtensions

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

New Type: Metal.MTLIOPriority

[Serializable]
public enum MTLIOPriority {
	High = 0,
	Low = 2,
	Normal = 1,
}

New Type: Metal.MTLIOStatus

[Serializable]
public enum MTLIOStatus {
	Cancelled = 1,
	Complete = 3,
	Error = 2,
	Pending = 0,
}

New Type: Metal.MTLIndirectInstanceAccelerationStructureDescriptor

public class MTLIndirectInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	public MTLIndirectInstanceAccelerationStructureDescriptor ();
	protected MTLIndirectInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLIndirectInstanceAccelerationStructureDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLBuffer InstanceCountBuffer { get; set; }
	public virtual nuint InstanceCountBufferOffset { get; set; }
	public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; }
	public virtual nuint InstanceDescriptorBufferOffset { get; set; }
	public virtual nuint InstanceDescriptorStride { get; set; }
	public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
	public virtual nuint MaxInstanceCount { get; set; }
	public virtual nuint MaxMotionTransformCount { get; set; }
	public virtual IMTLBuffer MotionTransformBuffer { get; set; }
	public virtual nuint MotionTransformBufferOffset { get; set; }
	public virtual IMTLBuffer MotionTransformCountBuffer { get; set; }
	public virtual nuint MotionTransformCountBufferOffset { get; set; }
	// methods
	public static MTLIndirectInstanceAccelerationStructureDescriptor GetDescriptor ();
}

New Type: Metal.MTLInstanceAccelerationStructureDescriptor

public class MTLInstanceAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	protected MTLInstanceAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLInstanceAccelerationStructureDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint InstanceCount { get; set; }
	public virtual IMTLBuffer InstanceDescriptorBuffer { get; set; }
	public virtual nuint InstanceDescriptorBufferOffset { get; set; }
	public virtual nuint InstanceDescriptorStride { get; set; }
	public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
	public virtual IMTLAccelerationStructure[] InstancedAccelerationStructures { get; set; }
	public virtual IMTLBuffer MotionTransformBuffer { get; set; }
	public virtual nuint MotionTransformBufferOffset { get; set; }
	public virtual nuint MotionTransformCount { get; set; }
	// methods
	public static MTLInstanceAccelerationStructureDescriptor Create ();
}

New Type: Metal.MTLIntersectionFunctionDescriptor

public class MTLIntersectionFunctionDescriptor : Metal.MTLFunctionDescriptor, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLIntersectionFunctionDescriptor (Foundation.NSObjectFlag t);
	protected MTLIntersectionFunctionDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLIntersectionFunctionSignature

[Serializable]
[Flags]
public enum MTLIntersectionFunctionSignature {
	CurveData = 128,
	ExtendedLimits = 32,
	InstanceMotion = 8,
	Instancing = 1,
	MaxLevels = 64,
	None = 0,
	PrimitiveMotion = 16,
	TriangleData = 2,
	WorldSpaceData = 4,
}

New Type: Metal.MTLIntersectionFunctionTableDescriptor

public class MTLIntersectionFunctionTableDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLIntersectionFunctionTableDescriptor (Foundation.NSObjectFlag t);
	protected MTLIntersectionFunctionTableDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint FunctionCount { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLIntersectionFunctionTableDescriptor Create ();
}

New Type: Metal.MTLIntersectionFunctionTable_Extensions

public static class MTLIntersectionFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLIntersectionFunctionTable This);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, Foundation.NSRange range);
	public static void SetOpaqueCurveIntersectionFunction (this IMTLIntersectionFunctionTable This, MTLIntersectionFunctionSignature signature, nuint index);
}

New Type: Metal.MTLLibraryOptimizationLevel

[Serializable]
public enum MTLLibraryOptimizationLevel {
	Default = 0,
	Size = 1,
}

New Type: Metal.MTLMeshRenderPipelineDescriptor

public class MTLMeshRenderPipelineDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLMeshRenderPipelineDescriptor ();
	protected MTLMeshRenderPipelineDescriptor (Foundation.NSObjectFlag t);
	protected MTLMeshRenderPipelineDescriptor (IntPtr handle);
	// properties
	public virtual bool AlphaToCoverageEnabled { get; set; }
	public virtual bool AlphaToOneEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual MTLRenderPipelineColorAttachmentDescriptorArray ColorAttachments { get; }
	public virtual MTLPixelFormat DepthAttachmentPixelFormat { get; set; }
	public virtual MTLPipelineBufferDescriptorArray FragmentBuffers { get; }
	public virtual IMTLFunction FragmentFunction { get; set; }
	public virtual MTLLinkedFunctions FragmentLinkedFunctions { get; set; }
	public virtual string Label { get; set; }
	public virtual nuint MaxTotalThreadgroupsPerMeshGrid { get; set; }
	public virtual nuint MaxTotalThreadsPerMeshThreadgroup { get; set; }
	public virtual nuint MaxTotalThreadsPerObjectThreadgroup { get; set; }
	public virtual nuint MaxVertexAmplificationCount { get; set; }
	public virtual MTLPipelineBufferDescriptorArray MeshBuffers { get; }
	public virtual IMTLFunction MeshFunction { get; set; }
	public virtual MTLLinkedFunctions MeshLinkedFunctions { get; set; }
	public virtual bool MeshThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
	public virtual MTLPipelineBufferDescriptorArray ObjectBuffers { get; }
	public virtual IMTLFunction ObjectFunction { get; set; }
	public virtual MTLLinkedFunctions ObjectLinkedFunctions { get; set; }
	public virtual bool ObjectThreadgroupSizeIsMultipleOfThreadExecutionWidth { get; set; }
	public virtual nuint PayloadMemoryLength { get; set; }
	public virtual nuint RasterSampleCount { get; set; }
	public virtual bool RasterizationEnabled { get; set; }
	public virtual MTLPixelFormat StencilAttachmentPixelFormat { get; set; }
	public virtual bool SupportIndirectCommandBuffers { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void Reset ();
}

New Type: Metal.MTLMotionBorderMode

[Serializable]
public enum MTLMotionBorderMode {
	Clamp = 0,
	Vanish = 1,
}

New Type: Metal.MTLMotionKeyframeData

public class MTLMotionKeyframeData : Foundation.NSObject {
	// constructors
	public MTLMotionKeyframeData ();
	protected MTLMotionKeyframeData (Foundation.NSObjectFlag t);
	protected MTLMotionKeyframeData (IntPtr handle);
	// properties
	public virtual IMTLBuffer Buffer { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual nuint Offset { get; set; }
	// methods
	public static MTLMotionKeyframeData Create ();
}

New Type: Metal.MTLPrimitiveAccelerationStructureDescriptor

public class MTLPrimitiveAccelerationStructureDescriptor : Metal.MTLAccelerationStructureDescriptor {
	// constructors
	protected MTLPrimitiveAccelerationStructureDescriptor (Foundation.NSObjectFlag t);
	protected MTLPrimitiveAccelerationStructureDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLAccelerationStructureGeometryDescriptor[] GeometryDescriptors { get; set; }
	public virtual MTLMotionBorderMode MotionEndBorderMode { get; set; }
	public virtual float MotionEndTime { get; set; }
	public virtual nuint MotionKeyframeCount { get; set; }
	public virtual MTLMotionBorderMode MotionStartBorderMode { get; set; }
	public virtual float MotionStartTime { get; set; }
	// methods
	public static MTLPrimitiveAccelerationStructureDescriptor Create ();
}

New Type: Metal.MTLRasterizationRateLayerArray

public class MTLRasterizationRateLayerArray : Foundation.NSObject {
	// constructors
	public MTLRasterizationRateLayerArray ();
	protected MTLRasterizationRateLayerArray (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateLayerArray (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual MTLRasterizationRateLayerDescriptor GetObject (nuint layerIndex);
	public virtual void SetObject (MTLRasterizationRateLayerDescriptor layer, nuint layerIndex);
}

New Type: Metal.MTLRasterizationRateLayerDescriptor

public class MTLRasterizationRateLayerDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLRasterizationRateLayerDescriptor (Foundation.NSObjectFlag t);
	public MTLRasterizationRateLayerDescriptor (MTLSize sampleCount);
	protected MTLRasterizationRateLayerDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLRasterizationRateSampleArray Horizontal { get; }
	public virtual MTLSize MaxSampleCount { get; }
	public virtual MTLSize SampleCount { get; set; }
	public virtual MTLRasterizationRateSampleArray Vertical { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLRasterizationRateMapDescriptor

public class MTLRasterizationRateMapDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLRasterizationRateMapDescriptor ();
	protected MTLRasterizationRateMapDescriptor (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateMapDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual nuint LayerCount { get; }
	public virtual MTLRasterizationRateLayerArray Layers { get; }
	public virtual MTLSize ScreenSize { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize, MTLRasterizationRateLayerDescriptor layer);
	public static MTLRasterizationRateMapDescriptor Create (MTLSize screenSize, nuint layerCount, out MTLRasterizationRateLayerDescriptor layers);
	public virtual MTLRasterizationRateLayerDescriptor GetLayer (nuint layerIndex);
	public virtual void SetLayer (MTLRasterizationRateLayerDescriptor layer, nuint layerIndex);
}

New Type: Metal.MTLRasterizationRateSampleArray

public class MTLRasterizationRateSampleArray : Foundation.NSObject {
	// constructors
	public MTLRasterizationRateSampleArray ();
	protected MTLRasterizationRateSampleArray (Foundation.NSObjectFlag t);
	protected MTLRasterizationRateSampleArray (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSNumber GetObject (nuint index);
	public virtual void SetObject (Foundation.NSNumber value, nuint index);
}

New Type: Metal.MTLRenderPipelineFunctionsDescriptor

public class MTLRenderPipelineFunctionsDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLRenderPipelineFunctionsDescriptor ();
	protected MTLRenderPipelineFunctionsDescriptor (Foundation.NSObjectFlag t);
	protected MTLRenderPipelineFunctionsDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual IMTLFunction[] FragmentAdditionalBinaryFunctions { get; set; }
	public virtual IMTLFunction[] TileAdditionalBinaryFunctions { get; set; }
	public virtual IMTLFunction[] VertexAdditionalBinaryFunctions { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLResourceId

public struct MTLResourceId {
	// fields
	public ulong Impl;
}

New Type: Metal.MTLResourceStateCommandEncoder_Extensions

public static class MTLResourceStateCommandEncoder_Extensions {
	// methods
	public static void MoveTextureMappings (this IMTLResourceStateCommandEncoder This, IMTLTexture sourceTexture, nuint sourceSlice, nuint sourceLevel, MTLOrigin sourceOrigin, MTLSize sourceSize, IMTLTexture destinationTexture, nuint destinationSlice, nuint destinationLevel, MTLOrigin destinationOrigin);
}

New Type: Metal.MTLResourceStatePassDescriptor

public class MTLResourceStatePassDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLResourceStatePassDescriptor (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLResourceStatePassSampleBufferAttachmentDescriptorArray SampleBufferAttachments { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLResourceStatePassDescriptor Create ();
}

New Type: Metal.MTLResourceStatePassSampleBufferAttachmentDescriptor

public class MTLResourceStatePassSampleBufferAttachmentDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public MTLResourceStatePassSampleBufferAttachmentDescriptor ();
	protected MTLResourceStatePassSampleBufferAttachmentDescriptor (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassSampleBufferAttachmentDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint EndOfEncoderSampleIndex { get; set; }
	public virtual IMTLCounterSampleBuffer SampleBuffer { get; set; }
	public virtual nuint StartOfEncoderSampleIndex { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLResourceStatePassSampleBufferAttachmentDescriptorArray

public class MTLResourceStatePassSampleBufferAttachmentDescriptorArray : Foundation.NSObject {
	// constructors
	public MTLResourceStatePassSampleBufferAttachmentDescriptorArray ();
	protected MTLResourceStatePassSampleBufferAttachmentDescriptorArray (Foundation.NSObjectFlag t);
	protected MTLResourceStatePassSampleBufferAttachmentDescriptorArray (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual MTLResourceStatePassSampleBufferAttachmentDescriptor GetObject (nuint attachmentIndex);
	public virtual void SetObject (MTLResourceStatePassSampleBufferAttachmentDescriptor attachment, nuint attachmentIndex);
}

New Type: Metal.MTLSamplerState_Extensions

public static class MTLSamplerState_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLSamplerState This);
}

New Type: Metal.MTLSparsePageSize

[Serializable]
public enum MTLSparsePageSize {
	Size16 = 101,
	Size256 = 103,
	Size64 = 102,
}

New Type: Metal.MTLSparseTextureMappingMode

[Serializable]
[Flags]
public enum MTLSparseTextureMappingMode {
	Map = 0,
	Unmap = 1,
}

New Type: Metal.MTLSparseTextureRegionAlignmentMode

[Serializable]
[Flags]
public enum MTLSparseTextureRegionAlignmentMode {
	Inward = 1,
	Outward = 0,
}

New Type: Metal.MTLTextureCompressionType

[Serializable]
public enum MTLTextureCompressionType {
	Lossless = 0,
	Lossy = 1,
}

New Type: Metal.MTLVertexAmplificationViewMapping

public struct MTLVertexAmplificationViewMapping {
	// fields
	public uint RenderTargetArrayIndexOffset;
	public uint ViewportArrayIndexOffset;
}

New Type: Metal.MTLVisibleFunctionTableDescriptor

public class MTLVisibleFunctionTableDescriptor : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected MTLVisibleFunctionTableDescriptor (Foundation.NSObjectFlag t);
	protected MTLVisibleFunctionTableDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint FunctionCount { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MTLVisibleFunctionTableDescriptor Create ();
}

New Type: Metal.MTLVisibleFunctionTable_Extensions

public static class MTLVisibleFunctionTable_Extensions {
	// methods
	public static MTLResourceId GetGpuResourceId (this IMTLVisibleFunctionTable This);
}

Namespace MetalKit

Type Changed: MetalKit.MTKTextureLoaderOptions

Added property:

public bool? LoadAsArray { get; set; }

Type Changed: MetalKit.MTKView

Added property:

public virtual Metal.MTLStorageMode DepthStencilStorageMode { get; set; }

Namespace MetalPerformanceShaders

Type Changed: MetalPerformanceShaders.MPSCommandBuffer

Added property:

public virtual Metal.IMTLResourceStateCommandEncoder ResourceStateCommandEncoder { get; }

Added methods:

public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder ();
public virtual Metal.IMTLAccelerationStructureCommandEncoder CreateAccelerationStructureCommandEncoder (Metal.MTLAccelerationStructurePassDescriptor descriptor);
public virtual Metal.IMTLResourceStateCommandEncoder CreateResourceStateCommandEncoder (Metal.MTLResourceStatePassDescriptor resourceStatePassDescriptor);

Namespace ModelIO

Type Changed: ModelIO.MDLMaterial

Added properties:

public MDLMaterialProperty Item { get; }
public MDLMaterialProperty Item { get; }

Namespace NaturalLanguage

New Type: NaturalLanguage.NLContextualEmbedding

public class NLContextualEmbedding : Foundation.NSObject {
	// constructors
	protected NLContextualEmbedding (Foundation.NSObjectFlag t);
	protected NLContextualEmbedding (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Dimension { get; }
	public virtual bool HasAvailableAssets { get; }
	public virtual string[] Languages { get; }
	public virtual nuint MaximumSequenceLength { get; }
	public virtual string ModelIdentifier { get; }
	public virtual nuint Revision { get; }
	public virtual string[] Scripts { get; }
	// methods
	public static NLContextualEmbedding[] Create (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> values);
	public static NLContextualEmbedding CreateWithLanguage (string language);
	public static NLContextualEmbedding CreateWithModelIdentifier (string modelIdentifier);
	public static NLContextualEmbedding CreateWithScript (string script);
	public virtual NLContextualEmbeddingResult GetEmbeddingResult (string string, string language, out Foundation.NSError error);
	public virtual bool Load (out Foundation.NSError error);
	public virtual void RequestAssets (System.Action<NLContextualEmbeddingAssetsResult,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<NLContextualEmbeddingAssetsResult> RequestAssetsAsync ();
	public virtual void Unload ();
}

New Type: NaturalLanguage.NLContextualEmbeddingAssetsResult

[Serializable]
public enum NLContextualEmbeddingAssetsResult {
	Available = 0,
	Error = 2,
	NotAvailable = 1,
}

New Type: NaturalLanguage.NLContextualEmbeddingResult

public class NLContextualEmbeddingResult : Foundation.NSObject {
	// constructors
	protected NLContextualEmbeddingResult (Foundation.NSObjectFlag t);
	protected NLContextualEmbeddingResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Language { get; }
	public virtual nuint SequenceLength { get; }
	public virtual string String { get; }
	// methods
	public virtual void EnumerateTokenVectors (Foundation.NSRange range, TokenVectorEnumeratorHandler enumerationHandler);
	public virtual nuint[] GetVector (nuint characterIndex, ref Foundation.NSRange tokenRange);
}

New Type: NaturalLanguage.NLContextualEmebeddingKey

[Serializable]
public enum NLContextualEmebeddingKey {
	Languages = 0,
	Revision = 2,
	Scripts = 1,
}

New Type: NaturalLanguage.NLContextualEmebeddingKeyExtensions

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

New Type: NaturalLanguage.NLScript

[Serializable]
public enum NLScript {
	Arabic = 1,
	Armenian = 2,
	Bengali = 3,
	CanadianAboriginalSyllabics = 4,
	Cherokee = 5,
	Cyrillic = 6,
	Devanagari = 7,
	Ethiopic = 8,
	Georgian = 9,
	Greek = 10,
	Gujarati = 11,
	Gurmukhi = 12,
	Hebrew = 13,
	Japanese = 14,
	Kannada = 15,
	Khmer = 16,
	Korean = 17,
	Lao = 18,
	Latin = 19,
	Malayalam = 20,
	Mongolian = 21,
	Myanmar = 22,
	Oriya = 23,
	SimplifiedChinese = 24,
	Sinhala = 25,
	Tamil = 26,
	Telugu = 27,
	Thai = 28,
	Tibetan = 29,
	TraditionalChinese = 30,
	Undetermined = 0,
}

New Type: NaturalLanguage.NLScriptExtensions

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

New Type: NaturalLanguage.TokenVectorEnumeratorHandler

public sealed delegate TokenVectorEnumeratorHandler : System.MulticastDelegate {
	// constructors
	public TokenVectorEnumeratorHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<Foundation.NSNumber> tokenVector, Foundation.NSRange tokenRange, out bool stop);
}

Namespace Network

Type Changed: Network.NWPrivacyContext

Added methods:

public void AddProxy (NWProxyConfig proxyConfig);
public void ClearProxies ();

New Type: Network.NWProxyConfig

public class NWProxyConfig : CoreFoundation.NativeObject {
	// constructors
	public NWProxyConfig (IntPtr handle, bool owns);
	// properties
	public bool FailoverAllowed { get; set; }
	// methods
	public void AddExcludedDomain (string domain);
	public void AddMatchDomain (string domain);
	public void ClearExcludedDomains ();
	public void ClearMatchDomains ();
	public static NWProxyConfig CreateHttpConnect (NWEndpoint proxyEndpoint, NWProtocolTlsOptions options);
	public static NWProxyConfig CreateObliviousHttp (NWRelayHop hop, string relaysResourcePath, byte[] gatewayKeyConfig);
	public static NWProxyConfig CreateRelay (NWRelayHop firstHop, NWRelayHop secondHop);
	public static NWProxyConfig CreateSocksV5 (NWEndpoint endpoint);
	public void EnumerateExcludedDomains (System.Action<string> handler);
	public void EnumerateMatchDomains (System.Action<string> handler);
	public void SetUsernameAndPassword (string username, string password);
}

New Type: Network.NWRelayHop

public class NWRelayHop : CoreFoundation.NativeObject {
	// constructors
	public NWRelayHop (IntPtr handle, bool owns);
	// methods
	public void AddAdditionalHttpHeaderField (string fieldName, string fieldValue);
	public static NWRelayHop Create (NWEndpoint http3RelayEndpoint, NWEndpoint http2RelayEndpoint, NWProtocolOptions relayTlsOptions);
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "16.4";
+public const string SdkVersion = "17.2";
-public const string Version = "16.4.0";
+public const string Version = "17.3.0";

Added fields:

public static const string CinematicLibrary = "/System/Library/Frameworks/Cinematic.framework/Cinematic";
public static const string CoreMidiLibrary = "/System/Library/Frameworks/CoreMIDI.framework/CoreMIDI";
public static const string NetworkExtensionLibrary = "/System/Library/Frameworks/NetworkExtension.framework/NetworkExtension";
public static const string PhaseLibrary = "/System/Library/Frameworks/PHASE.framework/PHASE";
public static const string SymbolsLibrary = "/System/Library/Frameworks/Symbols.framework/Symbols";

Namespace Photos

Type Changed: Photos.PHAssetResourceType

Added value:

PhotoProxy = 19,

Type Changed: Photos.PHContentEditingOutput

Added properties:

public virtual UniformTypeIdentifiers.UTType DefaultRenderedContentType { get; }
public virtual UniformTypeIdentifiers.UTType[] SupportedRenderedContentTypes { get; }

Added method:

public virtual Foundation.NSUrl GetRenderedContentUrl (UniformTypeIdentifiers.UTType type, out Foundation.NSError error);

Type Changed: Photos.PHImageRequestOptions

Added property:

public virtual bool AllowSecondaryDegradedImage { get; set; }

Type Changed: Photos.PHVideoRequestOptions

Added interfaces:

Foundation.INSCopying
ObjCRuntime.INativeObject
System.IDisposable

Added method:

public virtual Foundation.NSObject Copy (Foundation.NSZone zone);

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoView

Added property:

public virtual CoreGraphics.CGRect ContentsRect { get; set; }

Namespace SceneKit

Type Changed: SceneKit.SCNRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Type Changed: SceneKit.SCNSceneRenderer_Extensions

Added method:

public static CoreGraphics.CGColorSpace GetWorkingColorSpace (this ISCNSceneRenderer This);

Type Changed: SceneKit.SCNView

Added property:

public virtual CoreGraphics.CGColorSpace WorkingColorSpace { get; }

Namespace Security

Type Changed: Security.SecKeyAlgorithm

Added values:

EcdsaSignatureDigestRfc4754 = 76,
EcdsaSignatureDigestRfc4754Sha1 = 77,
EcdsaSignatureDigestRfc4754Sha224 = 78,
EcdsaSignatureDigestRfc4754Sha256 = 79,
EcdsaSignatureDigestRfc4754Sha384 = 80,
EcdsaSignatureDigestRfc4754Sha512 = 81,
EcdsaSignatureMessageRfc4754Sha1 = 82,
EcdsaSignatureMessageRfc4754Sha224 = 83,
EcdsaSignatureMessageRfc4754Sha256 = 84,
EcdsaSignatureMessageRfc4754Sha384 = 85,
EcdsaSignatureMessageRfc4754Sha512 = 86,

Namespace ShazamKit

Type Changed: ShazamKit.SHErrorCode

Added value:

MediaItemFetchFailed = 600,

Type Changed: ShazamKit.SHMediaItem

Added property:

public virtual Foundation.NSDate CreationDate { get; }

Type Changed: ShazamKit.SHMediaItemProperty

Added value:

CreationDate = 16,

Namespace StoreKit

Type Changed: StoreKit.SKCloudServiceController

Added constructor:

public SKCloudServiceController ();

Type Changed: StoreKit.SKStoreProductParameterKey

Added property:

public static Foundation.NSString AdNetworkSourceIdentifier { get; }

Namespace UIKit

Type Changed: UIKit.NSCollectionLayoutDimension

Added property:

public virtual bool IsUniformAcrossSiblings { get; }

Added method:

public static NSCollectionLayoutDimension CreateUniformAcrossSiblings (nfloat estimatedDimension);

Type Changed: UIKit.NSCollectionLayoutSection

Added property:

public virtual UICollectionLayoutSectionOrthogonalScrollingProperties OrthogonalScrollingProperties { get; }

Type Changed: UIKit.NSTextLayoutFragment

Added methods:

public virtual NSTextLineFragment GetTextLineFragment (nfloat verticalOffset, bool requiresExactMatch);
public virtual NSTextLineFragment GetTextLineFragment (INSTextLocation textLocation, bool isUpstreamAffinity);

Type Changed: UIKit.UIAction

Added property:

public virtual UIImage SelectedImage { get; set; }

Type Changed: UIKit.UIApplication

Added method:

public virtual void ActivateSceneSession (UISceneSessionActivationRequest request, System.Action<Foundation.NSError> errorHandler);

Type Changed: UIKit.UIBarButtonItem

Added properties:

public virtual bool ChangesSelectionAsPrimaryAction { get; set; }
public virtual UIMenu Menu { get; set; }
public virtual UIContextMenuConfigurationElementOrder PreferredMenuElementOrder { get; set; }
public virtual bool SymbolAnimationEnabled { get; set; }

Added methods:

public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveAllSymbolEffects ();
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options);
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void SetSymbolImage (UIImage symbolImage, Symbols.NSSymbolContentTransition transition);
public virtual void SetSymbolImage (UIImage symbolImage, Symbols.NSSymbolContentTransition transition, Symbols.NSSymbolEffectOptions options);

Type Changed: UIKit.UIBarItem

Obsoleted properties:

 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAdjustable { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAllowsDirectInteraction { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitButton { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitCausesPageTurn { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitHeader { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitImage { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitKeyboardKey { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitLink { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNone { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNotEnabled { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitPlaysSound { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSearchField { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSelected { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStartsMediaSession { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStaticText { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSummaryElement { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitTabBar { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitUpdatesFrequently { get; }

Added properties:

public virtual UIAccessibilityDirectTouchOptions AccessibilityDirectTouchOptions { get; set; }
public static Foundation.NSString SpeechAttributeAnnouncementPriority { get; }

Type Changed: UIKit.UIButton

Added properties:

public virtual bool ChangesSelectionAsPrimaryAction { get; set; }
public virtual UIMenu Menu { get; set; }
public virtual UIContextMenuConfigurationElementOrder PreferredMenuElementOrder { get; set; }

Type Changed: UIKit.UICollectionView

Added property:

public virtual UIContextMenuInteraction ContextMenuInteraction { get; }

Type Changed: UIKit.UICollectionViewController

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetContextMenuConfigurationDismissalPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual UITargetedPreview GetContextMenuConfigurationHighlightPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual void WillDisplayContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UICollectionViewDelegate

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetContextMenuConfigurationDismissalPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual UITargetedPreview GetContextMenuConfigurationHighlightPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual void WillDisplayContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UICollectionViewDelegate_Extensions

Added methods:

public static UIContextMenuConfiguration GetContextMenuConfiguration (this IUICollectionViewDelegate This, UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point);
public static UITargetedPreview GetContextMenuConfigurationDismissalPreview (this IUICollectionViewDelegate This, UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public static UITargetedPreview GetContextMenuConfigurationHighlightPreview (this IUICollectionViewDelegate This, UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public static void WillDisplayContextMenu (this IUICollectionViewDelegate This, UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public static void WillEndContextMenuInteraction (this IUICollectionViewDelegate This, UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UICollectionViewSource

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UICollectionView collectionView, Foundation.NSIndexPath[] indexPaths, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetContextMenuConfigurationDismissalPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual UITargetedPreview GetContextMenuConfigurationHighlightPreview (UICollectionView collectionView, UIContextMenuConfiguration configuration, Foundation.NSIndexPath indexPath);
public virtual void WillDisplayContextMenu (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UICollectionView collectionView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UICommand

Added property:

public virtual UIImage SelectedImage { get; set; }

Type Changed: UIKit.UIControl

Added interfaces:

ObjCRuntime.INativeObject
System.IDisposable
IUIContextMenuInteractionDelegate

Added properties:

public virtual UIContextMenuInteraction ContextMenuInteraction { get; }
public virtual bool ContextMenuInteractionEnabled { get; set; }
public virtual bool ShowsMenuAsPrimaryAction { get; set; }
public virtual bool SymbolAnimationEnabled { get; set; }

Added methods:

public virtual UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location);
public virtual UITargetedPreview GetDismissalPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
public virtual UITargetedPreview GetHighlightPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
public virtual CoreGraphics.CGPoint GetMenuAttachmentPoint (UIContextMenuConfiguration configuration);
public virtual void WillDisplayMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEnd (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UIFontTextStyle

Added values:

ExtraLargeTitle = 11,
ExtraLargeTitle2 = 12,

Type Changed: UIKit.UIGraphicsImageRendererFormat

Added property:

public virtual bool SupportsHighDynamicRange { get; }

Type Changed: UIKit.UIImage

Obsoleted properties:

 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAdjustable { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAllowsDirectInteraction { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitButton { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitCausesPageTurn { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitHeader { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitImage { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitKeyboardKey { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitLink { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNone { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNotEnabled { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitPlaysSound { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSearchField { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSelected { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStartsMediaSession { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStaticText { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSummaryElement { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitTabBar { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitUpdatesFrequently { get; }

Added properties:

public virtual UIAccessibilityDirectTouchOptions AccessibilityDirectTouchOptions { get; set; }
public Foundation.NSData HeicRepresentation { get; }
public virtual UIImage ImageRestrictedToStandardDynamicRange { get; }
public virtual bool IsHighDynamicRange { get; }
public static Foundation.NSString SpeechAttributeAnnouncementPriority { get; }

Type Changed: UIKit.UIImageConfiguration

Added property:

public virtual Foundation.NSLocale Locale { get; }

Added methods:

public static UIImageConfiguration CreateConfiguration (Foundation.NSLocale locale);
public static UIImageConfiguration CreateConfiguration (UITraitCollection traitCollection);
public virtual UIImageConfiguration GetConfiguration (Foundation.NSLocale locale);

Type Changed: UIKit.UIImageView

Added properties:

public virtual UIImageDynamicRange ImageDynamicRange { get; }
public virtual UIImageDynamicRange PreferredImageDynamicRange { get; set; }

Added methods:

public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void AddSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated, System.Action<UISymbolEffectCompletionContext> completionHandler);
public virtual System.Threading.Tasks.Task<UISymbolEffectCompletionContext> AddSymbolEffectAsync (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveAllSymbolEffects ();
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options);
public virtual void RemoveAllSymbolEffects (Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void RemoveSymbolEffect (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated, System.Action<UISymbolEffectCompletionContext> completionHandler);
public virtual System.Threading.Tasks.Task<UISymbolEffectCompletionContext> RemoveSymbolEffectAsync (Symbols.NSSymbolEffect symbolEffect, Symbols.NSSymbolEffectOptions options, bool animated);
public virtual void SetSymbolImage (UIImage symbolImage, Symbols.NSSymbolContentTransition transition);
public virtual void SetSymbolImage (UIImage symbolImage, Symbols.NSSymbolContentTransition transition, Symbols.NSSymbolEffectOptions options);
public virtual void SetSymbolImage (UIImage symbolImage, Symbols.NSSymbolContentTransition transition, Symbols.NSSymbolEffectOptions options, System.Action<UISymbolEffectCompletionContext> completionHandler);
public virtual System.Threading.Tasks.Task<UISymbolEffectCompletionContext> SetSymbolImageAsync (UIImage symbolImage, Symbols.NSSymbolContentTransition transition, Symbols.NSSymbolEffectOptions options);

Type Changed: UIKit.UILabel

Added interface:

IUILetterformAwareAdjusting

Added properties:

public virtual UILabelVibrancy PreferredVibrancy { get; set; }
public virtual UILetterformAwareSizingRule SizingRule { get; set; }

Type Changed: UIKit.UILabel.UILabelAppearance

Added property:

public virtual UILabelVibrancy PreferredVibrancy { get; set; }

Type Changed: UIKit.UIMenuElementSize

Added value:

Automatic = -1,

Type Changed: UIKit.UIMenuIdentifier

Added value:

AutoFill = 47,

Type Changed: UIKit.UIMenuOptions

Added value:

DisplayAsPalette = 128,

Type Changed: UIKit.UINavigationItemLargeTitleDisplayMode

Added value:

Inline = 3,

Type Changed: UIKit.UIPageControl

Added property:

public virtual UIPageControlProgress Progress { get; set; }

Type Changed: UIKit.UIPresentationController

Added interface:

IUITraitChangeObservable

Added property:

public virtual IUITraitOverrides TraitOverrides { get; }

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

Type Changed: UIKit.UISearchBar

Added interface:

IUILookToDictateCapable

Added property:

public virtual UITextInlinePredictionType InlinePredictionType { get; set; }

Type Changed: UIKit.UISpringTimingParameters

Added constructors:

public UISpringTimingParameters (double duration, nfloat bounce);
public UISpringTimingParameters (double duration, nfloat bounce, CoreGraphics.CGVector velocity);

Type Changed: UIKit.UITableView

Added property:

public virtual UIContextMenuInteraction ContextMenuInteraction { get; }

Type Changed: UIKit.UITableViewController

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual void WillDisplayContextMenu (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UITableViewDelegate

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual void WillDisplayContextMenu (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UITableViewDelegate_Extensions

Added methods:

public static UIContextMenuConfiguration GetContextMenuConfiguration (this IUITableViewDelegate This, UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point);
public static UITargetedPreview GetPreviewForDismissingContextMenu (this IUITableViewDelegate This, UITableView tableView, UIContextMenuConfiguration configuration);
public static UITargetedPreview GetPreviewForHighlightingContextMenu (this IUITableViewDelegate This, UITableView tableView, UIContextMenuConfiguration configuration);
public static void WillDisplayContextMenu (this IUITableViewDelegate This, UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public static void WillEndContextMenuInteraction (this IUITableViewDelegate This, UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UITableViewSource

Added methods:

public virtual UIContextMenuConfiguration GetContextMenuConfiguration (UITableView tableView, Foundation.NSIndexPath indexPath, CoreGraphics.CGPoint point);
public virtual UITargetedPreview GetPreviewForDismissingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual UITargetedPreview GetPreviewForHighlightingContextMenu (UITableView tableView, UIContextMenuConfiguration configuration);
public virtual void WillDisplayContextMenu (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
public virtual void WillEndContextMenuInteraction (UITableView tableView, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);

Type Changed: UIKit.UITextContentType

Added properties:

public static Foundation.NSString Birthdate { get; }
public static Foundation.NSString BirthdateDay { get; }
public static Foundation.NSString BirthdateMonth { get; }
public static Foundation.NSString BirthdateYear { get; }
public static Foundation.NSString CreditCardExpiration { get; }
public static Foundation.NSString CreditCardExpirationMonth { get; }
public static Foundation.NSString CreditCardExpirationYear { get; }
public static Foundation.NSString CreditCardFamilyName { get; }
public static Foundation.NSString CreditCardGivenName { get; }
public static Foundation.NSString CreditCardMiddleName { get; }
public static Foundation.NSString CreditCardName { get; }
public static Foundation.NSString CreditCardSecurityCode { get; }
public static Foundation.NSString CreditCardType { get; }

Type Changed: UIKit.UITextDocumentProxy

Added property:

public virtual UITextInlinePredictionType InlinePredictionType { get; set; }

Type Changed: UIKit.UITextField

Added interface:

IUILetterformAwareAdjusting

Added properties:

public virtual UITextInlinePredictionType InlinePredictionType { get; set; }
public virtual UILetterformAwareSizingRule SizingRule { get; set; }

Type Changed: UIKit.UITextInputTraits_Extensions

Added methods:

public static UITextInlinePredictionType GetInlinePredictionType (this IUITextInputTraits This);
public static void SetInlinePredictionType (this IUITextInputTraits This, UITextInlinePredictionType value);

Type Changed: UIKit.UITextView

Added interface:

IUILetterformAwareAdjusting

Added properties:

public virtual UITextViewBorderStyle BorderStyle { get; set; }
public virtual UITextInlinePredictionType InlinePredictionType { get; set; }
public virtual UILetterformAwareSizingRule SizingRule { get; set; }

Type Changed: UIKit.UITraitCollection

Added properties:

public virtual UIImageDynamicRange ImageDynamicRange { get; }
public virtual UISceneCaptureState SceneCaptureState { get; }

[Obsolete ("Use 'SystemTraitsAffectingColorAppearance2' instead.")]
public static IUITraitDefinition[] SystemTraitsAffectingColorAppearance { get; }
public ObjCRuntime.Class[] SystemTraitsAffectingColorAppearance2 { get; }

[Obsolete ("Use 'SystemTraitsAffectingImageLookup2' instead.")]
public static IUITraitDefinition[] SystemTraitsAffectingImageLookup { get; }
public ObjCRuntime.Class[] SystemTraitsAffectingImageLookup2 { get; }
public virtual string TypesettingLanguage { get; }

Added methods:

public static UITraitCollection FromSceneCaptureState (UISceneCaptureState sceneCaptureState);

[Obsolete ("Use 'GetChangedTraits2' instead.")]
public virtual Foundation.NSSet<IUITraitDefinition> GetChangedTraits (UITraitCollection traitCollection);
public Foundation.NSSet<ObjCRuntime.Class> GetChangedTraits2 (UITraitCollection traitCollection);
public virtual Foundation.NSObject GetObject (IUIObjectTraitDefinition trait);
public static UITraitCollection GetTraitCollection (string language);
public static UITraitCollection GetTraitCollection (UIImageDynamicRange imageDynamicRange);
public virtual UITraitCollection GetTraitCollectionByModifyingTraits (System.Func<IUIMutableTraits> mutations);
public virtual UITraitCollection GetTraitCollectionByReplacingObject (Foundation.NSObject object, IUIObjectTraitDefinition trait);
public virtual UITraitCollection GetTraitCollectionByReplacingValue (nfloat value, IUICGFloatTraitDefinition trait);
public static UITraitCollection GetTraitCollectionWithObject (Foundation.NSObject object, IUIObjectTraitDefinition trait);
public static UITraitCollection GetTraitCollectionWithTraits (System.Func<IUIMutableTraits> mutations);
public static UITraitCollection GetTraitCollectionWithValue (nfloat value, IUICGFloatTraitDefinition trait);
public static UITraitCollection GetTraitCollectionWithValue (nint value, IUINSIntegerTraitDefinition trait);
public virtual nfloat GetValueForTrait (IUICGFloatTraitDefinition trait);
public virtual nint GetValueForTrait (IUINSIntegerTraitDefinition trait);
public virtual UITraitCollection TraitCollectionByReplacingValue (nint value, IUINSIntegerTraitDefinition trait);

Type Changed: UIKit.UIUserInterfaceIdiom

Added value:

Vision = 6,

Type Changed: UIKit.UIView

Added interface:

IUITraitChangeObservable

Obsoleted properties:

 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAdjustable { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitAllowsDirectInteraction { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitButton { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitCausesPageTurn { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitHeader { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitImage { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitKeyboardKey { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitLink { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNone { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitNotEnabled { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitPlaysSound { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSearchField { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSelected { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStartsMediaSession { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitStaticText { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitSummaryElement { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitTabBar { get; }
 [Obsolete ("Use 'UIAccessibilityTraits' enum instead.")]
 public static long TraitUpdatesFrequently { get; }

Added properties:

public virtual UIAccessibilityDirectTouchOptions AccessibilityDirectTouchOptions { get; set; }
public static Foundation.NSString SpeechAttributeAnnouncementPriority { get; }
public virtual IUITraitOverrides TraitOverrides { get; }

Added methods:

public static void Animate (double duration, nfloat bounce, nfloat velocity, double delay, UIViewAnimationOptions options, System.Action animations, System.Action<bool> completion);
public static System.Threading.Tasks.Task<bool> AnimateAsync (double duration, nfloat bounce, nfloat velocity, double delay, UIViewAnimationOptions options, System.Action animations);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);
public virtual void UpdateTraitsIfNeeded ();

Type Changed: UIKit.UIViewController

Added interface:

IUITraitChangeObservable

Added properties:

public virtual IUIContentConfiguration ContentUnavailableConfiguration { get; set; }
public virtual UIContentUnavailableConfigurationState ContentUnavailableConfigurationState { get; }
public virtual IUITraitOverrides TraitOverrides { get; }

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void SetNeedsUpdateContentUnavailableConfiguration ();
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);
public virtual void UpdateContentUnavailableConfiguration (UIContentUnavailableConfigurationState state);
public virtual void UpdateTraitsIfNeeded ();
public virtual void ViewIsAppearing (bool animated);

Type Changed: UIKit.UIWindowScene

Added interfaces:

ObjCRuntime.INativeObject
System.IDisposable
IUITraitChangeObservable

Added property:

public virtual IUITraitOverrides TraitOverrides { get; }

Added methods:

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
public virtual void UnregisterForTraitChanges (IUITraitChangeRegistration registration);

Type Changed: UIKit.UIWindowSceneActivationRequestOptions

Added property:

public virtual UIWindowScenePlacement Placement { get; set; }

New Type: UIKit.IUICGFloatTraitDefinition

public interface IUICGFloatTraitDefinition : ObjCRuntime.INativeObject, System.IDisposable, IUITraitDefinition {
}

New Type: UIKit.IUIContextMenuInteractionAnimating

public interface IUIContextMenuInteractionAnimating : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIViewController PreviewViewController { get; }
	// methods
	public abstract void AddAnimations (System.Action animations);
	public abstract void AddCompletion (System.Action completion);
}

New Type: UIKit.IUIContextMenuInteractionDelegate

public interface IUIContextMenuInteractionDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public abstract UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location);
}

New Type: UIKit.IUILetterformAwareAdjusting

public interface IUILetterformAwareAdjusting : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UILetterformAwareSizingRule SizingRule { get; set; }
}

New Type: UIKit.IUILookToDictateCapable

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

New Type: UIKit.IUIMutableTraits

public interface IUIMutableTraits : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual UIAccessibilityContrast AccessibilityContrast { get; set; }
	public virtual UIUserInterfaceActiveAppearance ActiveAppearance { get; set; }
	public virtual UIDisplayGamut DisplayGamut { get; set; }
	public virtual nfloat DisplayScale { get; set; }
	public virtual UIForceTouchCapability ForceTouchCapability { get; set; }
	public virtual UIUserInterfaceSizeClass HorizontalSizeClass { get; set; }
	public virtual UIImageDynamicRange ImageDynamicRange { get; set; }
	public virtual UITraitEnvironmentLayoutDirection LayoutDirection { get; set; }
	public virtual UILegibilityWeight LegibilityWeight { get; set; }
	public virtual string PreferredContentSizeCategory { get; set; }
	public virtual UISceneCaptureState SceneCaptureState { get; set; }
	public virtual UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; }
	public virtual string TypesettingLanguage { get; set; }
	public virtual UIUserInterfaceIdiom UserInterfaceIdiom { get; set; }
	public virtual UIUserInterfaceStyle UserInterfaceStyle { get; set; }
	public virtual UIUserInterfaceSizeClass VerticalSizeClass { get; set; }
	// methods
	public abstract Foundation.NSObject GetObject (IUIObjectTraitDefinition trait);
	public abstract nfloat GetValue (IUICGFloatTraitDefinition trait);
	public abstract nint GetValue (IUINSIntegerTraitDefinition trait);
	public abstract void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait);
	public abstract void SetValue (nfloat value, IUICGFloatTraitDefinition trait);
	public abstract void SetValue (nint value, IUINSIntegerTraitDefinition trait);
}

New Type: UIKit.IUINSIntegerTraitDefinition

public interface IUINSIntegerTraitDefinition : ObjCRuntime.INativeObject, System.IDisposable, IUITraitDefinition {
}

New Type: UIKit.IUIObjectTraitDefinition

public interface IUIObjectTraitDefinition : ObjCRuntime.INativeObject, System.IDisposable, IUITraitDefinition {
}

New Type: UIKit.IUIPageControlProgressDelegate

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

New Type: UIKit.IUIPageControlTimerProgressDelegate

public interface IUIPageControlTimerProgressDelegate : ObjCRuntime.INativeObject, System.IDisposable, IUIPageControlProgressDelegate {
}

New Type: UIKit.IUITextCursorView

public interface IUITextCursorView : ObjCRuntime.INativeObject, System.IDisposable, IUICoordinateSpace {
	// properties
	public virtual bool Blinking { get; set; }
	// methods
	public abstract void ResetBlinkAnimation ();
}

New Type: UIKit.IUITextSelectionDisplayInteractionDelegate

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

New Type: UIKit.IUITextSelectionHandleView

public interface IUITextSelectionHandleView : ObjCRuntime.INativeObject, System.IDisposable, IUICoordinateSpace {
	// properties
	public virtual UIBezierPath CustomShape { get; set; }
	public virtual NSDirectionalRectEdge Direction { get; set; }
	public virtual bool Vertical { get; }
	// methods
	public abstract CoreGraphics.CGRect GetPreferredFrame (CoreGraphics.CGRect rect);
}

New Type: UIKit.IUITextSelectionHighlightView

public interface IUITextSelectionHighlightView : ObjCRuntime.INativeObject, System.IDisposable, IUICoordinateSpace {
	// properties
	public virtual UITextSelectionRect[] SelectionRects { get; set; }
}

New Type: UIKit.IUITraitChangeObservable

public interface IUITraitChangeObservable : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public static IntPtr NativeHandle_objc_msgSend_NativeHandle_BlockLiteral (IntPtr receiver, IntPtr selector, IntPtr arg1, ObjCRuntime.BlockLiteral* arg2);
	public static IntPtr NativeHandle_objc_msgSend_NativeHandle_NativeHandle (IntPtr receiver, IntPtr selector, IntPtr arg1, IntPtr arg2);
	public static IntPtr NativeHandle_objc_msgSend_NativeHandle_NativeHandle_NativeHandle (IntPtr receiver, IntPtr selector, IntPtr arg1, IntPtr arg2, IntPtr arg3);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges<T> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges<T1, T2, T3, T4> (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, ObjCRuntime.Selector action);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler, System.Type[] traits);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, ObjCRuntime.Selector action);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, ObjCRuntime.Selector action);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (ObjCRuntime.Class[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
	public virtual IUITraitChangeRegistration RegisterForTraitChanges (System.Type[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public virtual IUITraitChangeRegistration RegisterForTraitChanges (IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
	public static ObjCRuntime.Class[] ToClasses (System.Type[] traits);
	public static ObjCRuntime.Class[] ToClasses (IUITraitDefinition[] traits);
	public abstract void UnregisterForTraitChanges (IUITraitChangeRegistration registration);
}

New Type: UIKit.IUITraitChangeRegistration

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

New Type: UIKit.IUITraitDefinition

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

New Type: UIKit.IUITraitOverrides

public interface IUITraitOverrides : ObjCRuntime.INativeObject, System.IDisposable, IUIMutableTraits {
	// methods
	public bool ContainsTrait<T> ();
	public bool ContainsTrait (ObjCRuntime.Class trait);
	public bool ContainsTrait (System.Type trait);

	[Obsolete ("Use 'ContainsTrait<T> ()', 'ContainsTrait (Type)' or 'ContainsTrait (Class)' instead.")]
public abstract bool ContainsTrait (IUITraitDefinition trait);
	public void RemoveTrait<T> ();
	public void RemoveTrait (ObjCRuntime.Class trait);
	public void RemoveTrait (System.Type trait);

	[Obsolete ("Use 'RemoveTrait<T> ()', 'RemoveTrait (Type)' or 'RemoveTrait (Class)' instead.")]
public abstract void RemoveTrait (IUITraitDefinition trait);
}

New Type: UIKit.NSAttributedStringDocumentReadingOptions

public class NSAttributedStringDocumentReadingOptions : Foundation.DictionaryContainer {
	// constructors
	public NSAttributedStringDocumentReadingOptions ();
	public NSAttributedStringDocumentReadingOptions (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSStringEncoding? CharacterEncoding { get; set; }
	public Foundation.NSDictionary DefaultAttributes { get; set; }
	public NSAttributedStringDocumentType? DocumentType { get; set; }
	public NSTextScalingType? SourceTextScaling { get; set; }
	public NSTextScalingType? TargetTextScaling { get; set; }
}

New Type: UIKit.NSAttributedStringDocumentType

[Serializable]
public enum NSAttributedStringDocumentType {
	DocFormat = 5,
	Html = 3,
	MacSimple = 4,
	OfficeOpenXml = 7,
	OpenDocument = 9,
	Plain = 0,
	Rtf = 1,
	Rtfd = 2,
	Unknown = -1,
	WebArchive = 8,
	WordML = 6,
}

New Type: UIKit.NSAttributedStringDocumentTypeExtensions

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

New Type: UIKit.UIAccessibilityDirectTouchOptions

[Serializable]
[Flags]
public enum UIAccessibilityDirectTouchOptions {
	None = 0,
	RequiresActivation = 2,
	SilentOnTouch = 1,
}

New Type: UIKit.UIAccessibilityPriority

[Serializable]
public enum UIAccessibilityPriority {
	Default = 1,
	High = 0,
	Low = 2,
}

New Type: UIKit.UIAccessibilityPriorityExtensions

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

New Type: UIKit.UIAccessibilityTraits

[Serializable]
public enum UIAccessibilityTraits {
	Adjustable = 14,
	AllowsDirectInteraction = 15,
	Button = 1,
	CausesPageTurn = 16,
	Header = 3,
	Image = 5,
	KeyboardKey = 8,
	Link = 2,
	None = 0,
	NotEnabled = 11,
	PlaysSound = 7,
	SearchField = 4,
	Selected = 6,
	StartsMediaSession = 13,
	StaticText = 9,
	SummaryElement = 10,
	SupportsZoom = 18,
	TabBar = 17,
	ToggleButton = 19,
	UpdatesFrequently = 12,
}

New Type: UIKit.UIAccessibilityTraitsExtensions

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

New Type: UIKit.UIBehavioralStyle

[Serializable]
public enum UIBehavioralStyle {
	Automatic = 0,
	Mac = 2,
	Pad = 1,
}

New Type: UIKit.UICGFloatTraitDefinition

public abstract class UICGFloatTraitDefinition : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUICGFloatTraitDefinition, IUITraitDefinition {
	// constructors
	protected UICGFloatTraitDefinition ();
	protected UICGFloatTraitDefinition (Foundation.NSObjectFlag t);
	protected UICGFloatTraitDefinition (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public static nfloat DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UICollectionLayoutSectionOrthogonalScrollingBounce

[Serializable]
public enum UICollectionLayoutSectionOrthogonalScrollingBounce {
	Always = 1,
	Automatic = 0,
	Never = 2,
}

New Type: UIKit.UICollectionLayoutSectionOrthogonalScrollingDecelerationRate

public static class UICollectionLayoutSectionOrthogonalScrollingDecelerationRate {
	// properties
	public static double Automatic { get; }
	public static double Fast { get; }
	public static double Normal { get; }
}

New Type: UIKit.UICollectionLayoutSectionOrthogonalScrollingProperties

public class UICollectionLayoutSectionOrthogonalScrollingProperties : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UICollectionLayoutSectionOrthogonalScrollingProperties ();
	protected UICollectionLayoutSectionOrthogonalScrollingProperties (Foundation.NSObjectFlag t);
	protected UICollectionLayoutSectionOrthogonalScrollingProperties (IntPtr handle);
	// properties
	public virtual UICollectionLayoutSectionOrthogonalScrollingBounce Bounce { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual double DecelerationRate { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UIContentUnavailableAlignment

[Serializable]
public enum UIContentUnavailableAlignment {
	Center = 0,
	Natural = 1,
}

New Type: UIKit.UIContentUnavailableButtonProperties

public class UIContentUnavailableButtonProperties : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIContentUnavailableButtonProperties ();
	public UIContentUnavailableButtonProperties (Foundation.NSCoder coder);
	protected UIContentUnavailableButtonProperties (Foundation.NSObjectFlag t);
	protected UIContentUnavailableButtonProperties (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual UIMenu Menu { get; set; }
	public virtual UIAction PrimaryAction { get; set; }
	public virtual UIButtonRole Role { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UIKit.UIContentUnavailableConfiguration

public class UIContentUnavailableConfiguration : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, IUIContentConfiguration {
	// constructors
	public UIContentUnavailableConfiguration (Foundation.NSCoder coder);
	protected UIContentUnavailableConfiguration (Foundation.NSObjectFlag t);
	protected UIContentUnavailableConfiguration (IntPtr handle);
	// properties
	public virtual UIContentUnavailableAlignment Alignment { get; set; }
	public virtual Foundation.NSAttributedString AttributedText { get; set; }
	public virtual UIAxis AxesPreservingSuperviewLayoutMargins { get; set; }
	public virtual UIBackgroundConfiguration Background { get; set; }
	public virtual UIButtonConfiguration Button { get; set; }
	public virtual UIContentUnavailableButtonProperties ButtonProperties { get; }
	public virtual nfloat ButtonToSecondaryButtonPadding { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSDirectionalEdgeInsets DirectionalLayoutMargins { get; set; }
	public virtual UIImage Image { get; set; }
	public virtual UIContentUnavailableImageProperties ImageProperties { get; }
	public virtual nfloat ImageToTextPadding { get; set; }
	public virtual Foundation.NSAttributedString SecondaryAttributedText { get; set; }
	public virtual UIButtonConfiguration SecondaryButton { get; set; }
	public virtual UIContentUnavailableButtonProperties SecondaryButtonProperties { get; }
	public virtual string SecondaryText { get; set; }
	public virtual UIContentUnavailableTextProperties SecondaryTextProperties { get; }
	public virtual string Text { get; set; }
	public virtual UIContentUnavailableTextProperties TextProperties { get; }
	public virtual nfloat TextToButtonPadding { get; set; }
	public virtual nfloat TextToSecondaryTextPadding { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static UIContentUnavailableConfiguration CreateEmptyConfiguration ();
	public static UIContentUnavailableConfiguration CreateLoadingConfiguration ();
	public static UIContentUnavailableConfiguration CreateSearchConfiguration ();
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual IUIContentConfiguration GetUpdatedConfiguration (IUIConfigurationState state);
	public virtual IUIContentView MakeContentView ();
}

New Type: UIKit.UIContentUnavailableConfigurationState

public class UIContentUnavailableConfigurationState : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, IUIConfigurationState {
	// constructors
	public UIContentUnavailableConfigurationState (Foundation.NSCoder coder);
	protected UIContentUnavailableConfigurationState (Foundation.NSObjectFlag t);
	protected UIContentUnavailableConfigurationState (IntPtr handle);
	public UIContentUnavailableConfigurationState (UITraitCollection traitCollection);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string SearchText { get; set; }
	public virtual UITraitCollection TraitCollection { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual Foundation.NSObject GetCustomState (string key);
	public virtual Foundation.NSObject GetObject (string key);
	public virtual void SetCustomState (Foundation.NSObject customState, string key);
	public virtual void SetObject (Foundation.NSObject obj, string key);
}

New Type: UIKit.UIContentUnavailableImageProperties

public class UIContentUnavailableImageProperties : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIContentUnavailableImageProperties ();
	public UIContentUnavailableImageProperties (Foundation.NSCoder coder);
	protected UIContentUnavailableImageProperties (Foundation.NSObjectFlag t);
	protected UIContentUnavailableImageProperties (IntPtr handle);
	// properties
	public virtual bool AccessibilityIgnoresInvertColors { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual nfloat CornerRadius { get; set; }
	public virtual CoreGraphics.CGSize MaximumSize { get; set; }
	public virtual UIImageSymbolConfiguration PreferredSymbolConfiguration { get; set; }
	public virtual UIColor TintColor { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UIKit.UIContentUnavailableTextProperties

public class UIContentUnavailableTextProperties : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIContentUnavailableTextProperties ();
	public UIContentUnavailableTextProperties (Foundation.NSCoder coder);
	protected UIContentUnavailableTextProperties (Foundation.NSObjectFlag t);
	protected UIContentUnavailableTextProperties (IntPtr handle);
	// properties
	public virtual bool AdjustsFontSizeToFitWidth { get; set; }
	public virtual bool AllowsDefaultTighteningForTruncation { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual UIColor Color { get; set; }
	public virtual UIFont Font { get; set; }
	public virtual UILineBreakMode LineBreakMode { get; set; }
	public virtual nfloat MinimumScaleFactor { get; set; }
	public virtual nint NumberOfLines { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: UIKit.UIContentUnavailableView

public class UIContentUnavailableView : UIKit.UIView, ObjCRuntime.INativeObject, System.IDisposable, IUIContentView {
	// constructors
	public UIContentUnavailableView (Foundation.NSCoder coder);
	protected UIContentUnavailableView (Foundation.NSObjectFlag t);
	protected UIContentUnavailableView (IntPtr handle);
	public UIContentUnavailableView (UIContentUnavailableConfiguration configuration);
	// properties
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance Appearance { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IUIContentConfiguration Configuration { get; set; }
	public virtual bool ScrollEnabled { get; set; }
	// methods
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance AppearanceWhenContainedIn (System.Type[] containers);
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance GetAppearance<T> ();
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance GetAppearance<T> (UITraitCollection traits);
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance GetAppearance (UITraitCollection traits);
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance GetAppearance<T> (UITraitCollection traits, System.Type[] containers);
	public static UIContentUnavailableView.UIContentUnavailableViewAppearance GetAppearance (UITraitCollection traits, System.Type[] containers);
	public virtual bool SupportsConfiguration (IUIContentConfiguration configuration);

	// inner types
	public class UIContentUnavailableViewAppearance : UIKit.UIView+UIViewAppearance {
		// constructors
		protected UIContentUnavailableView.UIContentUnavailableViewAppearance (IntPtr handle);
	}
}

New Type: UIKit.UIContextMenuActionProvider

public sealed delegate UIContextMenuActionProvider : System.MulticastDelegate {
	// constructors
	public UIContextMenuActionProvider (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (UIMenuElement[] suggestedActions, System.AsyncCallback callback, object object);
	public virtual UIMenu EndInvoke (System.IAsyncResult result);
	public virtual UIMenu Invoke (UIMenuElement[] suggestedActions);
}

New Type: UIKit.UIContextMenuConfiguration

public class UIContextMenuConfiguration : Foundation.NSObject {
	// constructors
	public UIContextMenuConfiguration ();
	protected UIContextMenuConfiguration (Foundation.NSObjectFlag t);
	protected UIContextMenuConfiguration (IntPtr handle);
	// properties
	public virtual nint BadgeCount { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.INSCopying Identifier { get; }
	public virtual UIContextMenuConfigurationElementOrder PreferredMenuElementOrder { get; set; }
	public virtual Foundation.NSSet<Foundation.INSCopying> SecondaryItemIdentifiers { get; set; }
	// methods
	public static UIContextMenuConfiguration Create (Foundation.INSCopying identifier, UIContextMenuContentPreviewProvider previewProvider, UIContextMenuActionProvider actionProvider);
}

New Type: UIKit.UIContextMenuConfigurationElementOrder

[Serializable]
public enum UIContextMenuConfigurationElementOrder {
	Automatic = 0,
	Fixed = 2,
	Priority = 1,
}

New Type: UIKit.UIContextMenuContentPreviewProvider

public sealed delegate UIContextMenuContentPreviewProvider : System.MulticastDelegate {
	// constructors
	public UIContextMenuContentPreviewProvider (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (System.AsyncCallback callback, object object);
	public virtual UIViewController EndInvoke (System.IAsyncResult result);
	public virtual UIViewController Invoke ();
}

New Type: UIKit.UIContextMenuInteraction

public class UIContextMenuInteraction : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIInteraction {
	// constructors
	protected UIContextMenuInteraction (Foundation.NSObjectFlag t);
	protected UIContextMenuInteraction (IntPtr handle);
	public UIContextMenuInteraction (IUIContextMenuInteractionDelegate delegate);
	// properties
	public override IntPtr ClassHandle { get; }
	public IUIContextMenuInteractionDelegate Delegate { get; }
	public virtual UIContextMenuInteractionAppearance MenuAppearance { get; }
	public virtual UIView View { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	public virtual void DidMoveToView (UIView view);
	public virtual void DismissMenu ();
	protected override void Dispose (bool disposing);
	public virtual CoreGraphics.CGPoint GetLocation (UIView inView);
	public virtual void UpdateVisibleMenu (System.Func<UIMenu,UIKit.UIMenu> handler);
	public virtual void WillMoveToView (UIView view);
}

New Type: UIKit.UIContextMenuInteractionAppearance

[Serializable]
public enum UIContextMenuInteractionAppearance {
	Compact = 2,
	Rich = 1,
	Unknown = 0,
}

New Type: UIKit.UIContextMenuInteractionDelegate

public abstract class UIContextMenuInteractionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIContextMenuInteractionDelegate {
	// constructors
	protected UIContextMenuInteractionDelegate ();
	protected UIContextMenuInteractionDelegate (Foundation.NSObjectFlag t);
	protected UIContextMenuInteractionDelegate (IntPtr handle);
	// methods
	public abstract UIContextMenuConfiguration GetConfigurationForMenu (UIContextMenuInteraction interaction, CoreGraphics.CGPoint location);
	public virtual UITargetedPreview GetDismissalPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
	public virtual UITargetedPreview GetHighlightPreview (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
	public virtual void WillDisplayMenu (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
	public virtual void WillEnd (UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
}

New Type: UIKit.UIContextMenuInteractionDelegate_Extensions

public static class UIContextMenuInteractionDelegate_Extensions {
	// methods
	public static UITargetedPreview GetDismissalPreview (this IUIContextMenuInteractionDelegate This, UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
	public static UITargetedPreview GetHighlightPreview (this IUIContextMenuInteractionDelegate This, UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, Foundation.INSCopying identifier);
	public static void WillDisplayMenu (this IUIContextMenuInteractionDelegate This, UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
	public static void WillEnd (this IUIContextMenuInteractionDelegate This, UIContextMenuInteraction interaction, UIContextMenuConfiguration configuration, IUIContextMenuInteractionAnimating animator);
}

New Type: UIKit.UICornerCurve

[Serializable]
public enum UICornerCurve {
	Automatic = 0,
	Circular = 1,
	Continuous = 2,
}

New Type: UIKit.UIImageDynamicRange

[Serializable]
public enum UIImageDynamicRange {
	ConstrainedHigh = 1,
	High = 2,
	Standard = 0,
	Unspecified = -1,
}

New Type: UIKit.UIImageReader

public class UIImageReader : Foundation.NSObject {
	// constructors
	public UIImageReader ();
	protected UIImageReader (Foundation.NSObjectFlag t);
	protected UIImageReader (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIImageReaderConfiguration Configuration { get; }
	public static UIImageReader DefaultReader { get; }
	// methods
	public static UIImageReader CreateReader (UIImageReaderConfiguration configuration);
	public virtual UIImage GetImage (Foundation.NSData data);
	public virtual UIImage GetImage (Foundation.NSUrl url);
	public virtual void GetImage (Foundation.NSData data, System.Action<UIImage> completion);
	public virtual void GetImage (Foundation.NSUrl url, System.Action<UIImage> completion);
	public virtual System.Threading.Tasks.Task<UIImage> GetImageAsync (Foundation.NSData data);
	public virtual System.Threading.Tasks.Task<UIImage> GetImageAsync (Foundation.NSUrl url);
}

New Type: UIKit.UIImageReaderConfiguration

public class UIImageReaderConfiguration : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIImageReaderConfiguration ();
	protected UIImageReaderConfiguration (Foundation.NSObjectFlag t);
	protected UIImageReaderConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nfloat PixelsPerInch { get; set; }
	public virtual CoreGraphics.CGSize PreferredThumbnailSize { get; set; }
	public virtual bool PrefersHighDynamicRange { get; set; }
	public virtual bool PreparesImagesForDisplay { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UILabelVibrancy

[Serializable]
public enum UILabelVibrancy {
	Automatic = 1,
	None = 0,
}

New Type: UIKit.UILetterformAwareSizingRule

[Serializable]
public enum UILetterformAwareSizingRule {
	Oversize = 1,
	Typographic = 0,
}

New Type: UIKit.UIMenuLeaf_Extensions

public static class UIMenuLeaf_Extensions {
	// methods
	public static UIImage GetSelectedImage (this IUIMenuLeaf This);
	public static void SetSelectedImage (this IUIMenuLeaf This, UIImage value);
}

New Type: UIKit.UIMutableTraits

public abstract class UIMutableTraits : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIMutableTraits {
	// constructors
	protected UIMutableTraits ();
	protected UIMutableTraits (Foundation.NSObjectFlag t);
	protected UIMutableTraits (IntPtr handle);
	// properties
	public virtual UIAccessibilityContrast AccessibilityContrast { get; set; }
	public virtual UIUserInterfaceActiveAppearance ActiveAppearance { get; set; }
	public virtual UIDisplayGamut DisplayGamut { get; set; }
	public virtual nfloat DisplayScale { get; set; }
	public virtual UIForceTouchCapability ForceTouchCapability { get; set; }
	public virtual UIUserInterfaceSizeClass HorizontalSizeClass { get; set; }
	public virtual UIImageDynamicRange ImageDynamicRange { get; set; }
	public virtual UITraitEnvironmentLayoutDirection LayoutDirection { get; set; }
	public virtual UILegibilityWeight LegibilityWeight { get; set; }
	public virtual string PreferredContentSizeCategory { get; set; }
	public virtual UISceneCaptureState SceneCaptureState { get; set; }
	public virtual UINSToolbarItemPresentationSize ToolbarItemPresentationSize { get; set; }
	public virtual string TypesettingLanguage { get; set; }
	public virtual UIUserInterfaceIdiom UserInterfaceIdiom { get; set; }
	public virtual UIUserInterfaceStyle UserInterfaceStyle { get; set; }
	public virtual UIUserInterfaceSizeClass VerticalSizeClass { get; set; }
	// methods
	public abstract Foundation.NSObject GetObject (IUIObjectTraitDefinition trait);
	public abstract nfloat GetValue (IUICGFloatTraitDefinition trait);
	public abstract nint GetValue (IUINSIntegerTraitDefinition trait);
	public abstract void SetObject (Foundation.NSObject object, IUIObjectTraitDefinition trait);
	public abstract void SetValue (nfloat value, IUICGFloatTraitDefinition trait);
	public abstract void SetValue (nint value, IUINSIntegerTraitDefinition trait);
}

New Type: UIKit.UINSIntegerTraitDefinition

public abstract class UINSIntegerTraitDefinition : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	protected UINSIntegerTraitDefinition ();
	protected UINSIntegerTraitDefinition (Foundation.NSObjectFlag t);
	protected UINSIntegerTraitDefinition (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UIObjectTraitDefinition

public abstract class UIObjectTraitDefinition : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIObjectTraitDefinition, IUITraitDefinition {
	// constructors
	protected UIObjectTraitDefinition ();
	protected UIObjectTraitDefinition (Foundation.NSObjectFlag t);
	protected UIObjectTraitDefinition (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public static Foundation.NSObject DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UIPageControlProgress

public class UIPageControlProgress : Foundation.NSObject {
	// constructors
	public UIPageControlProgress ();
	protected UIPageControlProgress (Foundation.NSObjectFlag t);
	protected UIPageControlProgress (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float CurrentProgress { get; set; }
	public IUIPageControlProgressDelegate Delegate { get; set; }
	public virtual bool ProgressVisible { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: UIKit.UIPageControlProgressDelegate

public class UIPageControlProgressDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIPageControlProgressDelegate {
	// constructors
	public UIPageControlProgressDelegate ();
	protected UIPageControlProgressDelegate (Foundation.NSObjectFlag t);
	protected UIPageControlProgressDelegate (IntPtr handle);
	// methods
	public virtual float GetInitialProgressForPage (UIPageControlProgress progress, nint page);
	public virtual void VisibilityDidChange (UIPageControlProgress progress);
}

New Type: UIKit.UIPageControlProgressDelegate_Extensions

public static class UIPageControlProgressDelegate_Extensions {
	// methods
	public static float GetInitialProgressForPage (this IUIPageControlProgressDelegate This, UIPageControlProgress progress, nint page);
	public static void VisibilityDidChange (this IUIPageControlProgressDelegate This, UIPageControlProgress progress);
}

New Type: UIKit.UIPageControlTimerProgress

public class UIPageControlTimerProgress : UIKit.UIPageControlProgress {
	// constructors
	protected UIPageControlTimerProgress (Foundation.NSObjectFlag t);
	public UIPageControlTimerProgress (double preferredDuration);
	protected UIPageControlTimerProgress (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IUIPageControlTimerProgressDelegate Delegate { get; set; }
	public virtual double PreferredDuration { get; set; }
	public virtual bool ResetsToInitialPageAfterEnd { get; set; }
	public virtual bool Running { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual double GetDuration (nint page);
	public virtual void PauseTimer ();
	public virtual void ResumeTimer ();
	public virtual void SetDuration (double duration, nint page);
}

New Type: UIKit.UIPageControlTimerProgressDelegate

public class UIPageControlTimerProgressDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIPageControlProgressDelegate, IUIPageControlTimerProgressDelegate {
	// constructors
	public UIPageControlTimerProgressDelegate ();
	protected UIPageControlTimerProgressDelegate (Foundation.NSObjectFlag t);
	protected UIPageControlTimerProgressDelegate (IntPtr handle);
	// methods
	public virtual float GetInitialProgressForPage (UIPageControlProgress progress, nint page);
	public virtual void PageControlTimerProgressDidChange (UIPageControlTimerProgress progress);
	public virtual bool ShouldAdvanceToPage (UIPageControlTimerProgress progress, nint page);
	public virtual void VisibilityDidChange (UIPageControlProgress progress);
}

New Type: UIKit.UIPageControlTimerProgressDelegate_Extensions

public static class UIPageControlTimerProgressDelegate_Extensions {
	// methods
	public static void PageControlTimerProgressDidChange (this IUIPageControlTimerProgressDelegate This, UIPageControlTimerProgress progress);
	public static bool ShouldAdvanceToPage (this IUIPageControlTimerProgressDelegate This, UIPageControlTimerProgress progress, nint page);
}

New Type: UIKit.UIPreviewParameters

public class UIPreviewParameters : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIPreviewParameters ();
	protected UIPreviewParameters (Foundation.NSObjectFlag t);
	public UIPreviewParameters (Foundation.NSValue[] textLineRects);
	protected UIPreviewParameters (IntPtr handle);
	// properties
	public virtual UIColor BackgroundColor { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual UIBezierPath ShadowPath { get; set; }
	public virtual UIBezierPath VisiblePath { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UIPreviewTarget

public class UIPreviewTarget : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected UIPreviewTarget (Foundation.NSObjectFlag t);
	protected UIPreviewTarget (IntPtr handle);
	public UIPreviewTarget (UIView container, CoreGraphics.CGPoint center);
	public UIPreviewTarget (UIView container, CoreGraphics.CGPoint center, CoreGraphics.CGAffineTransform transform);
	// properties
	public virtual CoreGraphics.CGPoint Center { get; }
	public override IntPtr ClassHandle { get; }
	public virtual UIView Container { get; }
	public virtual CoreGraphics.CGAffineTransform Transform { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UISceneCaptureState

[Serializable]
public enum UISceneCaptureState {
	Active = 1,
	Inactive = 0,
	Unspecified = -1,
}

New Type: UIKit.UISceneSessionActivationRequest

public class UISceneSessionActivationRequest : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected UISceneSessionActivationRequest (Foundation.NSObjectFlag t);
	protected UISceneSessionActivationRequest (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UISceneActivationRequestOptions Options { get; set; }
	public virtual string Role { get; }
	public virtual UISceneSession Session { get; }
	public virtual Foundation.NSUserActivity UserActivity { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static UISceneSessionActivationRequest Create ();
	public static UISceneSessionActivationRequest Create (string role);
	public static UISceneSessionActivationRequest Create (UISceneSession session);
}

New Type: UIKit.UISymbolEffectCompletionContext

public class UISymbolEffectCompletionContext : Foundation.NSObject {
	// constructors
	protected UISymbolEffectCompletionContext (Foundation.NSObjectFlag t);
	protected UISymbolEffectCompletionContext (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Symbols.NSSymbolContentTransition ContentTransition { get; }
	public virtual Symbols.NSSymbolEffect Effect { get; }
	public virtual bool Finished { get; }
	public virtual Foundation.NSObject Sender { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: UIKit.UITargetedPreview

public class UITargetedPreview : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected UITargetedPreview (Foundation.NSObjectFlag t);
	protected UITargetedPreview (IntPtr handle);
	public UITargetedPreview (UIView view);
	public UITargetedPreview (UIView view, UIPreviewParameters parameters);
	public UITargetedPreview (UIView view, UIPreviewParameters parameters, UIPreviewTarget target);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual UIPreviewParameters Parameters { get; }
	public virtual CoreGraphics.CGSize Size { get; }
	public virtual UIPreviewTarget Target { get; }
	public virtual UIView View { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual UITargetedPreview GetRetargetedPreview (UIPreviewTarget newTarget);
}

New Type: UIKit.UITextInlinePredictionType

[Serializable]
public enum UITextInlinePredictionType {
	Default = 0,
	No = 1,
	Yes = 2,
}

New Type: UIKit.UITextLoupeSession

public class UITextLoupeSession : Foundation.NSObject {
	// constructors
	public UITextLoupeSession ();
	protected UITextLoupeSession (Foundation.NSObjectFlag t);
	protected UITextLoupeSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static UITextLoupeSession BeginLoupeSession (CoreGraphics.CGPoint point, UIView selectionWidget, UIView interactionView);
	public virtual void Invalidate ();
	public virtual void MoveToPoint (CoreGraphics.CGPoint point, CoreGraphics.CGRect caretRect, bool tracksCaret);
}

New Type: UIKit.UITextSelectionDisplayInteraction

public class UITextSelectionDisplayInteraction : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIInteraction {
	// constructors
	protected UITextSelectionDisplayInteraction (Foundation.NSObjectFlag t);
	protected UITextSelectionDisplayInteraction (IntPtr handle);
	public UITextSelectionDisplayInteraction (IUITextInput textInput, IUITextSelectionDisplayInteractionDelegate delegate);
	// properties
	public virtual bool Activated { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual IUITextCursorView CursorView { get; set; }
	public IUITextSelectionDisplayInteractionDelegate Delegate { get; }
	public virtual IUITextSelectionHandleView[] HandleViews { get; set; }
	public virtual IUITextSelectionHighlightView HighlightView { get; set; }
	public virtual IUITextInput TextInput { get; }
	public virtual UIView View { get; }
	public virtual Foundation.NSObject WeakDelegate { get; }
	// methods
	public virtual void DidMoveToView (UIView view);
	protected override void Dispose (bool disposing);
	public virtual void LayoutManagedSubviews ();
	public virtual void SetNeedsSelectionUpdate ();
	public virtual void WillMoveToView (UIView view);
}

New Type: UIKit.UITextSelectionDisplayInteractionDelegate

public class UITextSelectionDisplayInteractionDelegate : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUITextSelectionDisplayInteractionDelegate {
	// constructors
	public UITextSelectionDisplayInteractionDelegate ();
	protected UITextSelectionDisplayInteractionDelegate (Foundation.NSObjectFlag t);
	protected UITextSelectionDisplayInteractionDelegate (IntPtr handle);
	// methods
	public virtual UIView GetSelectionContainerViewBelowText (UITextSelectionDisplayInteraction interaction);
}

New Type: UIKit.UITextSelectionDisplayInteractionDelegate_Extensions

public static class UITextSelectionDisplayInteractionDelegate_Extensions {
	// methods
	public static UIView GetSelectionContainerViewBelowText (this IUITextSelectionDisplayInteractionDelegate This, UITextSelectionDisplayInteraction interaction);
}

New Type: UIKit.UITextViewBorderStyle

[Serializable]
public enum UITextViewBorderStyle {
	None = 0,
	RoundedRect = 1,
}

New Type: UIKit.UITraitAccessibilityContrast

public class UITraitAccessibilityContrast : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitAccessibilityContrast ();
	protected UITraitAccessibilityContrast (Foundation.NSObjectFlag t);
	protected UITraitAccessibilityContrast (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitActiveAppearance

public class UITraitActiveAppearance : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitActiveAppearance ();
	protected UITraitActiveAppearance (Foundation.NSObjectFlag t);
	protected UITraitActiveAppearance (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitChangeObservable_Extensions

public static class UITraitChangeObservable_Extensions {
	// methods

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Selector)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, ObjCRuntime.Selector action);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], Action<IUITraitEnvironment, UITraitCollection>)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, System.Action<IUITraitEnvironment,UIKit.UITraitCollection> handler);

	[Obsolete ("Use the 'UITraitChangeObservable.RegisterForTraitChanges (Class[], NSObject, Selector)' method instead.")]
public static IUITraitChangeRegistration RegisterForTraitChanges (this IUITraitChangeObservable This, IUITraitDefinition[] traits, Foundation.NSObject target, ObjCRuntime.Selector action);
}

New Type: UIKit.UITraitDisplayGamut

public class UITraitDisplayGamut : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitDisplayGamut ();
	protected UITraitDisplayGamut (Foundation.NSObjectFlag t);
	protected UITraitDisplayGamut (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitDisplayScale

public class UITraitDisplayScale : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUICGFloatTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitDisplayScale ();
	protected UITraitDisplayScale (Foundation.NSObjectFlag t);
	protected UITraitDisplayScale (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nfloat DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitForceTouchCapability

public class UITraitForceTouchCapability : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitForceTouchCapability ();
	protected UITraitForceTouchCapability (Foundation.NSObjectFlag t);
	protected UITraitForceTouchCapability (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitHorizontalSizeClass

public class UITraitHorizontalSizeClass : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitHorizontalSizeClass ();
	protected UITraitHorizontalSizeClass (Foundation.NSObjectFlag t);
	protected UITraitHorizontalSizeClass (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitImageDynamicRange

public class UITraitImageDynamicRange : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitImageDynamicRange ();
	protected UITraitImageDynamicRange (Foundation.NSObjectFlag t);
	protected UITraitImageDynamicRange (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitLayoutDirection

public class UITraitLayoutDirection : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitLayoutDirection ();
	protected UITraitLayoutDirection (Foundation.NSObjectFlag t);
	protected UITraitLayoutDirection (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitLegibilityWeight

public class UITraitLegibilityWeight : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitLegibilityWeight ();
	protected UITraitLegibilityWeight (Foundation.NSObjectFlag t);
	protected UITraitLegibilityWeight (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitPreferredContentSizeCategory

public class UITraitPreferredContentSizeCategory : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIObjectTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitPreferredContentSizeCategory ();
	protected UITraitPreferredContentSizeCategory (Foundation.NSObjectFlag t);
	protected UITraitPreferredContentSizeCategory (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSObject DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitSceneCaptureState

public class UITraitSceneCaptureState : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitSceneCaptureState ();
	protected UITraitSceneCaptureState (Foundation.NSObjectFlag t);
	protected UITraitSceneCaptureState (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitToolbarItemPresentationSize

public class UITraitToolbarItemPresentationSize : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitToolbarItemPresentationSize ();
	protected UITraitToolbarItemPresentationSize (Foundation.NSObjectFlag t);
	protected UITraitToolbarItemPresentationSize (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitTypesettingLanguage

public class UITraitTypesettingLanguage : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUIObjectTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitTypesettingLanguage ();
	protected UITraitTypesettingLanguage (Foundation.NSObjectFlag t);
	protected UITraitTypesettingLanguage (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSObject DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitUserInterfaceIdiom

public class UITraitUserInterfaceIdiom : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitUserInterfaceIdiom ();
	protected UITraitUserInterfaceIdiom (Foundation.NSObjectFlag t);
	protected UITraitUserInterfaceIdiom (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitUserInterfaceLevel

public class UITraitUserInterfaceLevel : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitUserInterfaceLevel ();
	protected UITraitUserInterfaceLevel (Foundation.NSObjectFlag t);
	protected UITraitUserInterfaceLevel (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitUserInterfaceStyle

public class UITraitUserInterfaceStyle : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitUserInterfaceStyle ();
	protected UITraitUserInterfaceStyle (Foundation.NSObjectFlag t);
	protected UITraitUserInterfaceStyle (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UITraitVerticalSizeClass

public class UITraitVerticalSizeClass : Foundation.NSObject, ObjCRuntime.INativeObject, System.IDisposable, IUINSIntegerTraitDefinition, IUITraitDefinition {
	// constructors
	public UITraitVerticalSizeClass ();
	protected UITraitVerticalSizeClass (Foundation.NSObjectFlag t);
	protected UITraitVerticalSizeClass (IntPtr handle);
	// properties
	public static bool AffectsColorAppearance { get; }
	public override IntPtr ClassHandle { get; }
	public static nint DefaultValue { get; }
	public static string Identifier { get; }
	public static string Name { get; }
}

New Type: UIKit.UIWindowScenePlacement

public class UIWindowScenePlacement : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public UIWindowScenePlacement ();
	protected UIWindowScenePlacement (Foundation.NSObjectFlag t);
	protected UIWindowScenePlacement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: UIKit.UIWindowSceneStandardPlacement

public class UIWindowSceneStandardPlacement : UIKit.UIWindowScenePlacement {
	// constructors
	public UIWindowSceneStandardPlacement ();
	protected UIWindowSceneStandardPlacement (Foundation.NSObjectFlag t);
	protected UIWindowSceneStandardPlacement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static UIWindowSceneStandardPlacement Create ();
}

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added property:

public static UTType Ahap { get; }

Namespace Vision

Type Changed: Vision.VNBarcodeObservation

Added properties:

public virtual bool IsColorInverted { get; }
public virtual bool IsGS1DataCarrier { get; }
public virtual Foundation.NSData PayloadData { get; }
public virtual VNBarcodeCompositeType SupplementalCompositeType { get; }
public virtual Foundation.NSData SupplementalPayloadData { get; }
public virtual string SupplementalPayloadString { get; }

Type Changed: Vision.VNBarcodeSymbology

Added value:

MsiPlessey = 23,

Type Changed: Vision.VNClassifyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNDetectBarcodesRequest

Added property:

public virtual bool CoalesceCompositeSymbologies { get; set; }

Type Changed: Vision.VNDetectBarcodesRequestRevision

Added values:

Four = 4,
Three = 3,

Type Changed: Vision.VNDetectFaceCaptureQualityRequestRevision

Added value:

Three = 3,

Type Changed: Vision.VNDetectHumanBodyPoseRequest

Added methods:

public virtual VNHumanBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNDetectHumanHandPoseRequest

Added methods:

public virtual VNHumanHandPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
public virtual VNHumanHandPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);

Type Changed: Vision.VNErrorCode

Added values:

UnsupportedComputeDevice = 22,
UnsupportedComputeStage = 21,

Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateImageFeaturePrintRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNImageRequestHandler

Added constructors:

public VNImageRequestHandler (CoreMedia.CMSampleBuffer sampleBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
public VNImageRequestHandler (CoreVideo.CVPixelBuffer pixelBuffer, AVFoundation.AVDepthData depthData, ImageIO.CGImagePropertyOrientation orientation, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);

Type Changed: Vision.VNRectangleObservation

Added method:

public static VNRectangleObservation FromRectangleObservation (VNRectangleObservationRequestRevision requestRevision, CoreGraphics.CGPoint topLeft, CoreGraphics.CGPoint topRight, CoreGraphics.CGPoint bottomRight, CoreGraphics.CGPoint bottomLeft);

Type Changed: Vision.VNRequest

Added methods:

public virtual CoreML.IMLComputeDeviceProtocol GetComputeDevice (string computeStage);
public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<CoreML.IMLComputeDeviceProtocol>> GetSupportedComputeDevices (out Foundation.NSError error);
public virtual void SetComputeDevice (CoreML.IMLComputeDeviceProtocol computeDevice, string computeStage);

Type Changed: Vision.VNTrackingRequest

Added method:

public virtual nuint GetSupportedNumberOfTrackers (out Foundation.NSError error);

New Type: Vision.VNAnimalBodyPoseObservation

public class VNAnimalBodyPoseObservation : Vision.VNRecognizedPointsObservation {
	// constructors
	public VNAnimalBodyPoseObservation (Foundation.NSCoder coder);
	protected VNAnimalBodyPoseObservation (Foundation.NSObjectFlag t);
	protected VNAnimalBodyPoseObservation (IntPtr handle);
	// properties
	public virtual VNAnimalBodyPoseObservationJointsGroupName[] AvailableJointGroupNames { get; }
	public virtual VNAnimalBodyPoseObservationJointName[] AvailableJointNames { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual VNRecognizedPoint GetRecognizedPoint (VNAnimalBodyPoseObservationJointName jointName, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint> GetRecognizedPoints (VNAnimalBodyPoseObservationJointsGroupName jointsGroupName, out Foundation.NSError error);
}

New Type: Vision.VNAnimalBodyPoseObservationJointName

[Serializable]
public enum VNAnimalBodyPoseObservationJointName {
	LeftBackElbow = 17,
	LeftBackKnee = 19,
	LeftBackPaw = 21,
	LeftEarBottom = 5,
	LeftEarMiddle = 3,
	LeftEarTop = 1,
	LeftEye = 7,
	LeftFrontElbow = 11,
	LeftFrontKnee = 13,
	LeftFrontPaw = 15,
	Neck = 10,
	None = 0,
	Nose = 9,
	RightBackElbow = 18,
	RightBackKnee = 20,
	RightBackPaw = 22,
	RightEarBottom = 6,
	RightEarMiddle = 4,
	RightEarTop = 2,
	RightEye = 8,
	RightFrontElbow = 12,
	RightFrontKnee = 14,
	RightFrontPaw = 16,
	TailBottom = 25,
	TailMiddle = 24,
	TailTop = 23,
}

New Type: Vision.VNAnimalBodyPoseObservationJointNameExtensions

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

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupName

[Serializable]
public enum VNAnimalBodyPoseObservationJointsGroupName {
	All = 6,
	Forelegs = 3,
	Head = 1,
	Hindlegs = 4,
	None = 0,
	Tail = 5,
	Trunk = 2,
}

New Type: Vision.VNAnimalBodyPoseObservationJointsGroupNameExtensions

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

New Type: Vision.VNBarcodeCompositeType

[Serializable]
public enum VNBarcodeCompositeType {
	Gs1TypeA = 2,
	Gs1TypeB = 3,
	Gs1TypeC = 4,
	Linked = 1,
	None = 0,
}

New Type: Vision.VNComputeStage

[Serializable]
public enum VNComputeStage {
	Main = 1,
	None = 0,
	PostProcessing = 2,
}

New Type: Vision.VNComputeStageExtensions

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

New Type: Vision.VNDetectAnimalBodyPoseRequest

public class VNDetectAnimalBodyPoseRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNDetectAnimalBodyPoseRequest (Foundation.NSObjectFlag t);
	protected VNDetectAnimalBodyPoseRequest (IntPtr handle);
	public VNDetectAnimalBodyPoseRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNAnimalBodyPoseObservation[] Results { get; }
	// methods
	public virtual VNAnimalBodyPoseObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
	public virtual VNAnimalBodyPoseObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
}

New Type: Vision.VNDetectHumanBodyPose3DRequest

public class VNDetectHumanBodyPose3DRequest : Vision.VNStatefulRequest {
	// constructors
	public VNDetectHumanBodyPose3DRequest ();
	protected VNDetectHumanBodyPose3DRequest (Foundation.NSObjectFlag t);
	protected VNDetectHumanBodyPose3DRequest (IntPtr handle);
	public VNDetectHumanBodyPose3DRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public static VNDetectHumanBodyPose3DRequestRevision CurrentRevision { get; }
	public static VNDetectHumanBodyPose3DRequestRevision DefaultRevision { get; }
	public virtual VNHumanBodyPose3DObservation[] Results { get; }
	public virtual VNDetectHumanBodyPose3DRequestRevision Revision { get; set; }
	public static VNDetectHumanBodyPose3DRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
	// methods
	public virtual VNHumanBodyPose3DObservationJointName[] GetSupportedJointNames (out Foundation.NSError error);
	public virtual VNHumanBodyPose3DObservationJointsGroupName[] GetSupportedJointsGroupNames (out Foundation.NSError error);
}

New Type: Vision.VNDetectHumanBodyPose3DRequestRevision

[Serializable]
public enum VNDetectHumanBodyPose3DRequestRevision {
	One = 1,
}

New Type: Vision.VNGenerateForegroundInstanceMaskRequest

public class VNGenerateForegroundInstanceMaskRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNGenerateForegroundInstanceMaskRequest (Foundation.NSObjectFlag t);
	protected VNGenerateForegroundInstanceMaskRequest (IntPtr handle);
	public VNGenerateForegroundInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNInstanceMaskObservation[] Results { get; }
}

New Type: Vision.VNGeneratePersonInstanceMaskRequest

public class VNGeneratePersonInstanceMaskRequest : Vision.VNImageBasedRequest {
	// constructors
	protected VNGeneratePersonInstanceMaskRequest (Foundation.NSObjectFlag t);
	protected VNGeneratePersonInstanceMaskRequest (IntPtr handle);
	public VNGeneratePersonInstanceMaskRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNInstanceMaskObservation[] Results { get; }
}

New Type: Vision.VNHumanBodyPose3DObservation

public class VNHumanBodyPose3DObservation : Vision.VNRecognizedPoints3DObservation {
	// constructors
	public VNHumanBodyPose3DObservation (Foundation.NSCoder coder);
	protected VNHumanBodyPose3DObservation (Foundation.NSObjectFlag t);
	protected VNHumanBodyPose3DObservation (IntPtr handle);
	// properties
	public virtual VNHumanBodyPose3DObservationJointName[] AvailableJointNames { get; }
	public virtual VNHumanBodyPose3DObservationJointsGroupName[] AvailableJointsGroupNames { get; }
	public virtual float BodyHeight { get; }
	public virtual OpenTK.NMatrix4 CameraOriginMatrix { get; }
	public override IntPtr ClassHandle { get; }
	public virtual VNHumanBodyPose3DObservationHeightEstimation HeightEstimation { get; }
	// methods
	public virtual bool GetCameraRelativePosition (out OpenTK.NMatrix4 modelPositionOut, VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual VNHumanBodyPose3DObservationJointName GetParentJointName (VNHumanBodyPose3DObservationJointName jointName);
	public virtual VNPoint GetPointInImage (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual VNHumanBodyRecognizedPoint3D GetRecognizedPoint (VNHumanBodyPose3DObservationJointName jointName, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNHumanBodyRecognizedPoint3D> GetRecognizedPoints (VNHumanBodyPose3DObservationJointsGroupName jointName, out Foundation.NSError error);
}

New Type: Vision.VNHumanBodyPose3DObservationHeightEstimation

[Serializable]
public enum VNHumanBodyPose3DObservationHeightEstimation {
	Measured = 1,
	Reference = 0,
}

New Type: Vision.VNHumanBodyPose3DObservationJointName

[Serializable]
public enum VNHumanBodyPose3DObservationJointName {
	CenterHead = 11,
	CenterShoulder = 10,
	LeftAnkle = 8,
	LeftElbow = 14,
	LeftHip = 6,
	LeftKnee = 7,
	LeftShoulder = 13,
	LeftWrist = 15,
	None = 0,
	RightAnkle = 4,
	RightElbow = 16,
	RightHip = 2,
	RightKnee = 3,
	RightShoulder = 5,
	RightWrist = 17,
	Root = 1,
	Spine = 9,
	TopHead = 12,
}

New Type: Vision.VNHumanBodyPose3DObservationJointNameExtensions

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

New Type: Vision.VNHumanBodyPose3DObservationJointsGroupName

[Serializable]
public enum VNHumanBodyPose3DObservationJointsGroupName {
	All = 7,
	Head = 1,
	LeftArm = 3,
	LeftLeg = 5,
	None = 0,
	RightArm = 4,
	RightLeg = 6,
	Torso = 2,
}

New Type: Vision.VNHumanBodyPose3DObservationJointsGroupNameExtensions

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

New Type: Vision.VNHumanBodyRecognizedPoint3D

public class VNHumanBodyRecognizedPoint3D : Vision.VNRecognizedPoint3D {
	// constructors
	public VNHumanBodyRecognizedPoint3D (Foundation.NSCoder coder);
	protected VNHumanBodyRecognizedPoint3D (Foundation.NSObjectFlag t);
	public VNHumanBodyRecognizedPoint3D (OpenTK.NMatrix4 position);
	protected VNHumanBodyRecognizedPoint3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NMatrix4 LocalPosition { get; }
	public virtual VNHumanBodyPose3DObservationJointName ParentJoint { get; }
}

New Type: Vision.VNInstanceMaskObservation

public class VNInstanceMaskObservation : Vision.VNObservation {
	// constructors
	public VNInstanceMaskObservation (Foundation.NSCoder coder);
	protected VNInstanceMaskObservation (Foundation.NSObjectFlag t);
	protected VNInstanceMaskObservation (IntPtr handle);
	// properties
	public virtual Foundation.NSIndexSet AllInstances { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreVideo.CVPixelBuffer InstanceMask { get; }
	// methods
	public virtual CoreVideo.CVPixelBuffer GenerateMask (Foundation.NSIndexSet instances, out Foundation.NSError error);
	public virtual CoreVideo.CVPixelBuffer GenerateMaskedImage (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, bool cropResult, out Foundation.NSError error);
	public virtual CoreVideo.CVPixelBuffer GenerateScaledMask (Foundation.NSIndexSet instances, VNImageRequestHandler requestHandler, out Foundation.NSError error);
}

New Type: Vision.VNPoint3D

public class VNPoint3D : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public VNPoint3D (Foundation.NSCoder coder);
	protected VNPoint3D (Foundation.NSObjectFlag t);
	public VNPoint3D (OpenTK.NMatrix4 position);
	protected VNPoint3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual OpenTK.NMatrix4 Position { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Vision.VNRecognizedPoint3D

public class VNRecognizedPoint3D : Vision.VNPoint3D {
	// constructors
	public VNRecognizedPoint3D (Foundation.NSCoder coder);
	protected VNRecognizedPoint3D (Foundation.NSObjectFlag t);
	public VNRecognizedPoint3D (OpenTK.NMatrix4 position);
	protected VNRecognizedPoint3D (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString GroupKeyAll { get; }
	public virtual string Identifier { get; }
}

New Type: Vision.VNRecognizedPoints3DObservation

public class VNRecognizedPoints3DObservation : Vision.VNObservation {
	// constructors
	public VNRecognizedPoints3DObservation (Foundation.NSCoder coder);
	protected VNRecognizedPoints3DObservation (Foundation.NSObjectFlag t);
	protected VNRecognizedPoints3DObservation (IntPtr handle);
	// properties
	public virtual Foundation.NSString[] AvailableGroupKeys { get; }
	public virtual Foundation.NSString[] AvailableKeys { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual VNRecognizedPoint3D GetRecognizedPoint (Foundation.NSString pointKey, out Foundation.NSError error);
	public virtual Foundation.NSDictionary<Foundation.NSString,Vision.VNRecognizedPoint3D> GetRecognizedPoints (Foundation.NSString groupKey, out Foundation.NSError error);
}

New Type: Vision.VNTrackHomographicImageRegistrationRequest

public class VNTrackHomographicImageRegistrationRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackHomographicImageRegistrationRequest ();
	protected VNTrackHomographicImageRegistrationRequest (Foundation.NSObjectFlag t);
	protected VNTrackHomographicImageRegistrationRequest (IntPtr handle);
	public VNTrackHomographicImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public static VNTrackHomographicImageRegistrationRequestRevision CurrentRevision { get; }
	public static VNTrackHomographicImageRegistrationRequestRevision DefaultRevision { get; }
	public virtual VNImageHomographicAlignmentObservation[] Results { get; }
	public virtual VNTrackHomographicImageRegistrationRequestRevision Revision { get; set; }
	public static VNTrackHomographicImageRegistrationRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
}

New Type: Vision.VNTrackHomographicImageRegistrationRequestRevision

[Serializable]
public enum VNTrackHomographicImageRegistrationRequestRevision {
	One = 1,
}

New Type: Vision.VNTrackOpticalFlowRequest

public class VNTrackOpticalFlowRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackOpticalFlowRequest ();
	protected VNTrackOpticalFlowRequest (Foundation.NSObjectFlag t);
	protected VNTrackOpticalFlowRequest (IntPtr handle);
	public VNTrackOpticalFlowRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNTrackOpticalFlowRequestComputationAccuracy ComputationAccuracy { get; set; }
	public virtual bool KeepNetworkOutput { get; set; }
	public virtual uint OutputPixelFormat { get; set; }
	public virtual VNPixelBufferObservation[] Results { get; }
}

New Type: Vision.VNTrackOpticalFlowRequestComputationAccuracy

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

New Type: Vision.VNTrackOpticalFlowRequestRevision

[Serializable]
public enum VNTrackOpticalFlowRequestRevision {
	One = 1,
}

New Type: Vision.VNTrackTranslationalImageRegistrationRequest

public class VNTrackTranslationalImageRegistrationRequest : Vision.VNStatefulRequest {
	// constructors
	public VNTrackTranslationalImageRegistrationRequest ();
	protected VNTrackTranslationalImageRegistrationRequest (Foundation.NSObjectFlag t);
	protected VNTrackTranslationalImageRegistrationRequest (IntPtr handle);
	public VNTrackTranslationalImageRegistrationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision CurrentRevision { get; }
	public static VNTrackTranslationalImageRegistrationRequestRevision DefaultRevision { get; }
	public virtual VNImageTranslationAlignmentObservation[] Results { get; }
	public virtual VNTrackTranslationalImageRegistrationRequestRevision Revision { get; set; }
	public static VNTrackTranslationalImageRegistrationRequestRevision[] SupportedRevisions { get; }
	public static Foundation.NSIndexSet WeakSupportedRevisions { get; }
}

New Type: Vision.VNTrackTranslationalImageRegistrationRequestRevision

[Serializable]
public enum VNTrackTranslationalImageRegistrationRequestRevision {
	One = 1,
}

New Namespace Cinematic

New Type: Cinematic.CNAssetInfo

public class CNAssetInfo : Foundation.NSObject {
	// constructors
	protected CNAssetInfo (Foundation.NSObjectFlag t);
	protected CNAssetInfo (IntPtr handle);
	// properties
	public virtual AVFoundation.AVAssetTrack[] AllCinematicTracks { get; }
	public virtual AVFoundation.AVAsset Asset { get; }
	public virtual AVFoundation.AVAssetTrack CinematicDisparityTrack { get; }
	public virtual AVFoundation.AVAssetTrack CinematicMetadataTrack { get; }
	public virtual AVFoundation.AVAssetTrack CinematicVideoTrack { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAssetTrack FrameTimingTrack { get; }
	public virtual CoreGraphics.CGSize NaturalSize { get; }
	public virtual CoreGraphics.CGSize PreferredSize { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual Foundation.NSNumber[] SampleDataTrackIds { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	public virtual Foundation.NSNumber[] VideoCompositionTrackIds { get; }
	public virtual AVFoundation.AVAssetTrack[] VideoCompositionTracks { get; }
	// methods
	public static void CheckIfCinematic (AVFoundation.AVAsset asset, System.Action<bool> completionHandler);
	public static System.Threading.Tasks.Task<bool> CheckIfCinematicAsync (AVFoundation.AVAsset asset);
	public static void LoadFromAsset (AVFoundation.AVAsset asset, System.Action<CNAssetInfo,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNAssetInfo> LoadFromAssetAsync (AVFoundation.AVAsset asset);
}

New Type: Cinematic.CNBoundsPrediction

public class CNBoundsPrediction : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public CNBoundsPrediction ();
	protected CNBoundsPrediction (Foundation.NSObjectFlag t);
	protected CNBoundsPrediction (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float Confidence { get; set; }
	public virtual CoreGraphics.CGRect NormalizedBounds { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: Cinematic.CNCinematicErrorCode

[Serializable]
public enum CNCinematicErrorCode {
	Cancelled = 7,
	Incompatible = 6,
	Incomplete = 3,
	Malformed = 4,
	Unknown = 1,
	Unreadable = 2,
	Unsupported = 5,
}

New Type: Cinematic.CNCinematicErrorCodeExtensions

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

New Type: Cinematic.CNCompositionInfo

public class CNCompositionInfo : Cinematic.CNAssetInfo {
	// constructors
	public CNCompositionInfo ();
	protected CNCompositionInfo (Foundation.NSObjectFlag t);
	protected CNCompositionInfo (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool InsertTimeRange (CoreMedia.CMTimeRange timeRange, CNAssetInfo assetInfo, CoreMedia.CMTime startTime, out Foundation.NSError outError);
}

New Type: Cinematic.CNCustomDetectionTrack

public class CNCustomDetectionTrack : Cinematic.CNDetectionTrack {
	// constructors
	public CNCustomDetectionTrack ();
	protected CNCustomDetectionTrack (Foundation.NSObjectFlag t);
	protected CNCustomDetectionTrack (IntPtr handle);
	public CNCustomDetectionTrack (CNDetection[] detections, bool applySmoothing);
	// properties
	public virtual CNDetection[] AllDetections { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: Cinematic.CNDecision

public class CNDecision : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDecision (Foundation.NSObjectFlag t);
	protected CNDecision (IntPtr handle);
	public CNDecision (CoreMedia.CMTime time, long detectionId, bool isStrong, CNDecisionIdentifierType identifierType);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual bool GroupDecision { get; }
	public virtual bool StrongDecision { get; }
	public virtual CoreMedia.CMTime Time { get; }
	public virtual bool UserDecision { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Cinematic.CNDecisionIdentifierType

[Serializable]
public enum CNDecisionIdentifierType {
	Group = 1,
	Single = 0,
}

New Type: Cinematic.CNDetection

public class CNDetection : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDetection (Foundation.NSObjectFlag t);
	protected CNDetection (IntPtr handle);
	public CNDetection (CoreMedia.CMTime time, CNDetectionType detectionType, CoreGraphics.CGRect normalizedRect, float focusDisparity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual CNDetectionType DetectionType { get; }
	public virtual float FocusDisparity { get; }
	public virtual CoreGraphics.CGRect NormalizedRect { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	public static string AccessibilityLabelForDetectionType (CNDetectionType detectionType);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static float DisparityInNormalizedRect (CoreGraphics.CGRect normalizedRect, CoreVideo.CVPixelBuffer sourceDisparity, CNDetectionType detectionType, float priorDisparity);
	public static bool IsValidDetectionGroupId (long detectionGroupId);
	public static bool IsValidDetectionId (long detectionId);
}

New Type: Cinematic.CNDetectionTrack

public class CNDetectionTrack : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNDetectionTrack (Foundation.NSObjectFlag t);
	protected CNDetectionTrack (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual long DetectionGroupId { get; }
	public virtual long DetectionId { get; }
	public virtual CNDetectionType DetectionType { get; }
	public virtual bool Discrete { get; }
	public virtual bool UserCreated { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CNDetection GetDetectionAtOrBeforeTime (CoreMedia.CMTime time);
	public virtual CNDetection GetDetectionNearestTime (CoreMedia.CMTime time);
	public virtual CNDetection[] GetDetectionsInTimeRange (CoreMedia.CMTimeRange timeRange);
}

New Type: Cinematic.CNDetectionType

[Serializable]
public enum CNDetectionType {
	AutoFocus = 100,
	CatBody = 4,
	CatHead = 9,
	Custom = 102,
	DogBody = 5,
	DogHead = 10,
	FixedFocus = 101,
	HumanFace = 1,
	HumanHead = 2,
	HumanTorso = 3,
	SportsBall = 11,
	Unknown = 0,
}

New Type: Cinematic.CNFixedDetectionTrack

public class CNFixedDetectionTrack : Cinematic.CNDetectionTrack {
	// constructors
	public CNFixedDetectionTrack ();
	public CNFixedDetectionTrack (CNDetection originalDetection);
	protected CNFixedDetectionTrack (Foundation.NSObjectFlag t);
	protected CNFixedDetectionTrack (IntPtr handle);
	public CNFixedDetectionTrack (float focusDisparity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float FocusDisparity { get; }
	public virtual CNDetection OriginalDetection { get; }
}

New Type: Cinematic.CNObjectTracker

public class CNObjectTracker : Foundation.NSObject {
	// constructors
	protected CNObjectTracker (Foundation.NSObjectFlag t);
	public CNObjectTracker (Metal.IMTLCommandQueue commandQueue);
	protected CNObjectTracker (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CNDetectionTrack FinishDetectionTrack { get; }
	public static bool IsSupported { get; }
	// methods
	public virtual CNBoundsPrediction ContinueTracking (CoreMedia.CMTime atTime, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity);
	public virtual CNBoundsPrediction FindObject (CoreGraphics.CGPoint point, CoreVideo.CVPixelBuffer sourceImage);
	public virtual void ResetDetectionTrack ();
	public virtual bool StartTracking (CoreMedia.CMTime atTime, CoreGraphics.CGRect normalizedBounds, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity);
}

New Type: Cinematic.CNRenderingQuality

[Serializable]
public enum CNRenderingQuality {
	Export = 2,
	ExportHigh = 3,
	Preview = 1,
	Thumbnail = 0,
}

New Type: Cinematic.CNRenderingSession

public class CNRenderingSession : Foundation.NSObject {
	// constructors
	protected CNRenderingSession (Foundation.NSObjectFlag t);
	protected CNRenderingSession (IntPtr handle);
	public CNRenderingSession (Metal.IMTLCommandQueue commandQueue, CNRenderingSessionAttributes sessionAttributes, CoreGraphics.CGAffineTransform preferredTransform, CNRenderingQuality quality);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Metal.IMTLCommandQueue CommandQueue { get; }
	public static Foundation.NSNumber[] DestinationPixelFormatTypes { get; }
	public virtual CoreGraphics.CGAffineTransform PreferredTransform { get; }
	public virtual CNRenderingQuality Quality { get; }
	public virtual CNRenderingSessionAttributes SessionAttributes { get; }
	public static Foundation.NSNumber[] SourcePixelFormatTypes { get; }
	// methods
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, CoreVideo.CVPixelBuffer destinationImage);
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationRgba);
	public virtual bool EncodeRender (Metal.IMTLCommandBuffer commandBuffer, CNRenderingSessionFrameAttributes frameAttributes, CoreVideo.CVPixelBuffer sourceImage, CoreVideo.CVPixelBuffer sourceDisparity, Metal.IMTLTexture destinationLuma, Metal.IMTLTexture destinationChroma);
}

New Type: Cinematic.CNRenderingSessionAttributes

public class CNRenderingSessionAttributes : Foundation.NSObject {
	// constructors
	protected CNRenderingSessionAttributes (Foundation.NSObjectFlag t);
	protected CNRenderingSessionAttributes (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint RenderingVersion { get; }
	// methods
	public static void Load (AVFoundation.AVAsset asset, System.Action<CNRenderingSessionAttributes,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNRenderingSessionAttributes> LoadAsync (AVFoundation.AVAsset asset);
}

New Type: Cinematic.CNRenderingSessionFrameAttributes

public class CNRenderingSessionFrameAttributes : Foundation.NSObject, Foundation.INSCopying, Foundation.INSMutableCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNRenderingSessionFrameAttributes (Foundation.NSObjectFlag t);
	protected CNRenderingSessionFrameAttributes (IntPtr handle);
	public CNRenderingSessionFrameAttributes (AVFoundation.AVTimedMetadataGroup metadataGroup, CNRenderingSessionAttributes sessionAttributes);
	public CNRenderingSessionFrameAttributes (CoreMedia.CMSampleBuffer sampleBuffer, CNRenderingSessionAttributes sessionAttributes);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual float FNumber { get; set; }
	public virtual float FocusDisparity { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: Cinematic.CNScript

public class CNScript : Foundation.NSObject {
	// constructors
	protected CNScript (Foundation.NSObjectFlag t);
	protected CNScript (IntPtr handle);
	// properties
	public virtual CNDetectionTrack[] AddedDetectionTracks { get; }
	public virtual CNScriptChanges Changes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual float FNumber { get; set; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	// methods
	public virtual long AddDetectionTrack (CNDetectionTrack detectionTrack);
	public virtual bool AddUserDecision (CNDecision decision);
	public virtual CNDecision[] GetBaseDecisions (CoreMedia.CMTimeRange timeRange);
	public virtual CNScriptChanges GetChangesTrimmed (CoreMedia.CMTimeRange timeRange);
	public virtual CNDecision GetDecision (CoreMedia.CMTime time, CoreMedia.CMTime tolerance);
	public virtual CNDecision GetDecisionAfterTime (CoreMedia.CMTime time);
	public virtual CNDecision GetDecisionBeforeTime (CoreMedia.CMTime time);
	public virtual CNDecision[] GetDecisions (CoreMedia.CMTimeRange timeRange);
	public virtual CNDetectionTrack GetDetectionTrack (CNDecision decision);
	public virtual CNDetectionTrack GetDetectionTrackForId (long detectionId);
	public virtual CNScriptFrame GetFrame (CoreMedia.CMTime time, CoreMedia.CMTime tolerance);
	public virtual CNScriptFrame[] GetFrames (CoreMedia.CMTimeRange timeRange);
	public virtual CNDecision GetPrimaryDecision (CoreMedia.CMTime time);
	public virtual CNDecision GetSecondaryDecision (CoreMedia.CMTime time);
	public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionAfterDecision (CNDecision decision);
	public virtual CoreMedia.CMTimeRange GetTimeRangeOfTransitionBeforeDecision (CNDecision decision);
	public virtual CNDecision[] GetUserDecisions (CoreMedia.CMTimeRange timeRange);
	public static void Load (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress, System.Action<CNScript,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<CNScript> LoadAsync (AVFoundation.AVAsset asset, CNScriptChanges changes, Foundation.NSProgress progress);
	public virtual void Reload (CNScriptChanges changes);
	public virtual void RemoveAllUserDecisions ();
	public virtual bool RemoveDetectionTrack (CNDetectionTrack detectionTrack);
	public virtual bool RemoveUserDecision (CNDecision decision);
}

New Type: Cinematic.CNScriptChanges

public class CNScriptChanges : Foundation.NSObject {
	// constructors
	public CNScriptChanges (Foundation.NSData dataRepresentation);
	protected CNScriptChanges (Foundation.NSObjectFlag t);
	protected CNScriptChanges (IntPtr handle);
	// properties
	public virtual CNDetectionTrack[] AddedDetectionTracks { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData DataRepresentation { get; }
	public virtual float FNumber { get; }
	public virtual CNDecision[] UserDecisions { get; }
}

New Type: Cinematic.CNScriptFrame

public class CNScriptFrame : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected CNScriptFrame (Foundation.NSObjectFlag t);
	protected CNScriptFrame (IntPtr handle);
	// properties
	public virtual CNDetection[] AllDetections { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CNDetection FocusDetection { get; }
	public virtual float FocusDisparity { get; }
	public virtual CoreMedia.CMTime Time { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual CNDetection GetBestDetectionForGroupId (long detectionGroupId);
	public virtual CNDetection GetDetectionForId (long detectionId);
}

New Namespace CoreMidi

New Type: CoreMidi.MidiCVStatus

[Serializable]
public enum MidiCVStatus {
	AssignableControl = 3,
	AssignablePnc = 1,
	ChannelPressure = 13,
	ControlChange = 11,
	NoteOff = 8,
	NoteOn = 9,
	PerNoteMgmt = 15,
	PerNotePitchBend = 6,
	PitchBend = 14,
	PolyPressure = 10,
	ProgramChange = 12,
	RegisteredControl = 2,
	RegisteredPnc = 0,
	RelAssignableControl = 5,
	RelRegisteredControl = 4,
}

New Type: CoreMidi.MidiMessageType

[Serializable]
public enum MidiMessageType {
	ChannelVoice1 = 2,
	ChannelVoice2 = 4,
	Data128 = 5,
	SysEx = 3,
	System = 1,
	UnknownF = 15,
	Utility = 0,
}

New Type: CoreMidi.MidiNetworkConnectionPolicy

[Serializable]
public enum MidiNetworkConnectionPolicy {
	Anyone = 2,
	HostsInContactsList = 1,
	NoOne = 0,
}

New Type: CoreMidi.MidiNoteAttribute

[Serializable]
public enum MidiNoteAttribute {
	ManufacturerSpecific = 1,
	None = 0,
	Pitch = 3,
	ProfileSpecific = 2,
}

New Type: CoreMidi.MidiPerNoteManagementOptions

[Serializable]
[Flags]
public enum MidiPerNoteManagementOptions {
	Detach = 2,
	Reset = 1,
}

New Type: CoreMidi.MidiProgramChangeOptions

[Serializable]
[Flags]
public enum MidiProgramChangeOptions {
	BankValid = 1,
}

New Type: CoreMidi.MidiProtocolId

[Serializable]
public enum MidiProtocolId {
	Protocol_1_0 = 1,
	Protocol_2_0 = 2,
}

New Type: CoreMidi.MidiSysExStatus

[Serializable]
public enum MidiSysExStatus {
	Complete = 0,
	Continue = 2,
	End = 3,
	MixedDataSetHeader = 8,
	MixedDataSetPayload = 9,
	Start = 1,
}

New Type: CoreMidi.MidiSystemStatus

[Serializable]
public enum MidiSystemStatus {
	ActiveSending = 254,
	Continue = 251,
	EndOfExclusive = 247,
	Mtc = 241,
	SongPosPointer = 242,
	SongSelect = 243,
	Start = 250,
	StartOfExclusive = 240,
	Stop = 252,
	SystemReset = 255,
	TimingClock = 248,
	TuneRequest = 246,
}

New Type: CoreMidi.MidiUtilityStatus

[Serializable]
public enum MidiUtilityStatus {
	JitterReductionClock = 1,
	JitterReductionTimestamp = 2,
	Noop = 0,
}

New Namespace NetworkExtension

New Type: NetworkExtension.INWTcpConnectionAuthenticationDelegate

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

New Type: NetworkExtension.NEAppProxyFlowError

[Serializable]
public enum NEAppProxyFlowError {
	Aborted = 5,
	DatagramTooLarge = 9,
	HostUnreachable = 3,
	Internal = 8,
	InvalidArgument = 4,
	None = 0,
	NotConnected = 1,
	PeerReset = 2,
	ReadAlreadyPending = 10,
	Refused = 6,
	TimedOut = 7,
}

New Type: NetworkExtension.NEAppProxyFlowErrorExtensions

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

New Type: NetworkExtension.NEDnsOverHttpsSettings

public class NEDnsOverHttpsSettings : NetworkExtension.NEDnsSettings {
	// constructors
	public NEDnsOverHttpsSettings ();
	public NEDnsOverHttpsSettings (Foundation.NSCoder coder);
	protected NEDnsOverHttpsSettings (Foundation.NSObjectFlag t);
	protected NEDnsOverHttpsSettings (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData IdentityReference { get; set; }
	public virtual Foundation.NSUrl ServerUrl { get; set; }
}

New Type: NetworkExtension.NEDnsOverTlsSettings

public class NEDnsOverTlsSettings : NetworkExtension.NEDnsSettings {
	// constructors
	public NEDnsOverTlsSettings ();
	public NEDnsOverTlsSettings (Foundation.NSCoder coder);
	protected NEDnsOverTlsSettings (Foundation.NSObjectFlag t);
	protected NEDnsOverTlsSettings (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData IdentityReference { get; set; }
	public virtual string ServerName { get; set; }
}

New Type: NetworkExtension.NEDnsProtocol

[Serializable]
public enum NEDnsProtocol {
	Cleartext = 1,
	Https = 3,
	Tls = 2,
}

New Type: NetworkExtension.NEDnsSettings

public class NEDnsSettings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEDnsSettings (Foundation.NSCoder coder);
	protected NEDnsSettings (Foundation.NSObjectFlag t);
	protected NEDnsSettings (IntPtr handle);
	public NEDnsSettings (string[] servers);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEDnsProtocol DnsProtocol { get; }
	public virtual string DomainName { get; set; }
	public virtual string[] MatchDomains { get; set; }
	public virtual bool MatchDomainsNoSearch { get; set; }
	public virtual string[] SearchDomains { get; set; }
	public virtual string[] Servers { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEEvaluateConnectionRule

public class NEEvaluateConnectionRule : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEEvaluateConnectionRule ();
	public NEEvaluateConnectionRule (Foundation.NSCoder coder);
	protected NEEvaluateConnectionRule (Foundation.NSObjectFlag t);
	protected NEEvaluateConnectionRule (IntPtr handle);
	public NEEvaluateConnectionRule (string[] domains, NEEvaluateConnectionRuleAction action);
	// properties
	public virtual NEEvaluateConnectionRuleAction Action { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] MatchDomains { get; }
	public virtual Foundation.NSUrl ProbeUrl { get; set; }
	public virtual string[] UseDnsServers { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEEvaluateConnectionRuleAction

[Serializable]
public enum NEEvaluateConnectionRuleAction {
	ConnectIfNeeded = 1,
	NeverConnect = 2,
}

New Type: NetworkExtension.NEFailureHandlerProvider

public class NEFailureHandlerProvider : NetworkExtension.NEProvider {
	// constructors
	protected NEFailureHandlerProvider (Foundation.NSObjectFlag t);
	protected NEFailureHandlerProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void HandleFailure (Foundation.NSError error, System.Action completionHandler);
	public virtual System.Threading.Tasks.Task HandleFailureAsync (Foundation.NSError error);
}

New Type: NetworkExtension.NEFilterFlow

public class NEFilterFlow {
	// constructors
	public NEFilterFlow ();
	// fields
	public static const ulong MaxBytes;
}

New Type: NetworkExtension.NEFilterProvider

public class NEFilterProvider {
	// constructors
	public NEFilterProvider ();
	// properties
	public static Foundation.NSString RemediationUrlFlowUrl { get; }
	public static Foundation.NSString RemediationUrlFlowUrlHostname { get; }
	public static Foundation.NSString RemediationUrlOrganization { get; }
	public static Foundation.NSString RemediationUrlUsername { get; }
}

New Type: NetworkExtension.NEIPv4Route

public class NEIPv4Route : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEIPv4Route (Foundation.NSCoder coder);
	protected NEIPv4Route (Foundation.NSObjectFlag t);
	protected NEIPv4Route (IntPtr handle);
	public NEIPv4Route (string address, string subnetMask);
	// properties
	public override IntPtr ClassHandle { get; }
	public static NEIPv4Route DefaultRoute { get; }
	public virtual string DestinationAddress { get; }
	public virtual string DestinationSubnetMask { get; }
	public virtual string GatewayAddress { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEIPv4Settings

public class NEIPv4Settings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEIPv4Settings (Foundation.NSCoder coder);
	protected NEIPv4Settings (Foundation.NSObjectFlag t);
	protected NEIPv4Settings (IntPtr handle);
	public NEIPv4Settings (string[] addresses, string[] subnetMasks);
	// properties
	public virtual string[] Addresses { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NEIPv4Route[] ExcludedRoutes { get; set; }
	public virtual NEIPv4Route[] IncludedRoutes { get; set; }
	public virtual string[] SubnetMasks { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEIPv6Route

public class NEIPv6Route : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEIPv6Route (Foundation.NSCoder coder);
	protected NEIPv6Route (Foundation.NSObjectFlag t);
	protected NEIPv6Route (IntPtr handle);
	public NEIPv6Route (string address, Foundation.NSNumber networkPrefixLength);
	// properties
	public override IntPtr ClassHandle { get; }
	public static NEIPv6Route DefaultRoute { get; }
	public virtual string DestinationAddress { get; }
	public virtual Foundation.NSNumber DestinationNetworkPrefixLength { get; }
	public virtual string GatewayAddress { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEIPv6Settings

public class NEIPv6Settings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEIPv6Settings (Foundation.NSCoder coder);
	protected NEIPv6Settings (Foundation.NSObjectFlag t);
	protected NEIPv6Settings (IntPtr handle);
	public NEIPv6Settings (string[] addresses, Foundation.NSNumber[] networkPrefixLengths);
	// properties
	public virtual string[] Addresses { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NEIPv6Route[] ExcludedRoutes { get; set; }
	public virtual NEIPv6Route[] IncludedRoutes { get; set; }
	public virtual Foundation.NSNumber[] NetworkPrefixLengths { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEOnDemandRule

public abstract class NEOnDemandRule : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected NEOnDemandRule ();
	protected NEOnDemandRule (Foundation.NSCoder coder);
	protected NEOnDemandRule (Foundation.NSObjectFlag t);
	protected NEOnDemandRule (IntPtr handle);
	// properties
	public virtual NEOnDemandRuleAction Action { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] DnsSearchDomainMatch { get; set; }
	public virtual string[] DnsServerAddressMatch { get; set; }
	public virtual NEOnDemandRuleInterfaceType InterfaceTypeMatch { get; set; }
	public virtual Foundation.NSUrl ProbeUrl { get; set; }
	public virtual string[] SsidMatch { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEOnDemandRuleAction

[Serializable]
public enum NEOnDemandRuleAction {
	Connect = 1,
	Disconnect = 2,
	EvaluateConnection = 3,
	Ignore = 4,
}

New Type: NetworkExtension.NEOnDemandRuleConnect

public class NEOnDemandRuleConnect : NetworkExtension.NEOnDemandRule {
	// constructors
	public NEOnDemandRuleConnect ();
	public NEOnDemandRuleConnect (Foundation.NSCoder coder);
	protected NEOnDemandRuleConnect (Foundation.NSObjectFlag t);
	protected NEOnDemandRuleConnect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: NetworkExtension.NEOnDemandRuleDisconnect

public class NEOnDemandRuleDisconnect : NetworkExtension.NEOnDemandRule {
	// constructors
	public NEOnDemandRuleDisconnect ();
	public NEOnDemandRuleDisconnect (Foundation.NSCoder coder);
	protected NEOnDemandRuleDisconnect (Foundation.NSObjectFlag t);
	protected NEOnDemandRuleDisconnect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: NetworkExtension.NEOnDemandRuleEvaluateConnection

public class NEOnDemandRuleEvaluateConnection : NetworkExtension.NEOnDemandRule {
	// constructors
	public NEOnDemandRuleEvaluateConnection ();
	public NEOnDemandRuleEvaluateConnection (Foundation.NSCoder coder);
	protected NEOnDemandRuleEvaluateConnection (Foundation.NSObjectFlag t);
	protected NEOnDemandRuleEvaluateConnection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEEvaluateConnectionRule[] ConnectionRules { get; set; }
}

New Type: NetworkExtension.NEOnDemandRuleIgnore

public class NEOnDemandRuleIgnore : NetworkExtension.NEOnDemandRule {
	// constructors
	public NEOnDemandRuleIgnore ();
	public NEOnDemandRuleIgnore (Foundation.NSCoder coder);
	protected NEOnDemandRuleIgnore (Foundation.NSObjectFlag t);
	protected NEOnDemandRuleIgnore (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: NetworkExtension.NEOnDemandRuleInterfaceType

[Serializable]
public enum NEOnDemandRuleInterfaceType {
	Any = 0,
	Cellular = 3,
	Ethernet = 1,
	WiFi = 2,
}

New Type: NetworkExtension.NEPacket

public class NEPacket : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEPacket ();
	public NEPacket (Foundation.NSCoder coder);
	protected NEPacket (Foundation.NSObjectFlag t);
	protected NEPacket (IntPtr handle);
	public NEPacket (Foundation.NSData data, byte protocolFamily);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual byte ProtocolFamily { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEPacketTunnelFlow

public class NEPacketTunnelFlow : Foundation.NSObject {
	// constructors
	public NEPacketTunnelFlow ();
	protected NEPacketTunnelFlow (Foundation.NSObjectFlag t);
	protected NEPacketTunnelFlow (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadPacketObjects (System.Action<NEPacket[]> completionHandler);
	public virtual System.Threading.Tasks.Task<NEPacket[]> ReadPacketObjectsAsync ();
	public virtual void ReadPackets (System.Action<Foundation.NSData[],Foundation.NSNumber[]> completionHandler);
	public virtual System.Threading.Tasks.Task<NEPacketTunnelFlowReadResult> ReadPacketsAsync ();
	public virtual bool WritePacketObjects (NEPacket[] packets);
	public virtual bool WritePackets (Foundation.NSData[] packets, Foundation.NSNumber[] protocols);
}

New Type: NetworkExtension.NEPacketTunnelFlowReadResult

public class NEPacketTunnelFlowReadResult {
	// constructors
	public NEPacketTunnelFlowReadResult (Foundation.NSData[] packets, Foundation.NSNumber[] protocols);
	// properties
	public Foundation.NSData[] Packets { get; set; }
	public Foundation.NSNumber[] Protocols { get; set; }
}

New Type: NetworkExtension.NEPacketTunnelNetworkSettings

public class NEPacketTunnelNetworkSettings : NetworkExtension.NETunnelNetworkSettings {
	// constructors

	[Obsolete ("This constructor does not create a valid instance of the type.")]
public NEPacketTunnelNetworkSettings ();
	public NEPacketTunnelNetworkSettings (Foundation.NSCoder coder);
	protected NEPacketTunnelNetworkSettings (Foundation.NSObjectFlag t);
	protected NEPacketTunnelNetworkSettings (IntPtr handle);
	public NEPacketTunnelNetworkSettings (string address);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEIPv4Settings IPv4Settings { get; set; }
	public virtual NEIPv6Settings IPv6Settings { get; set; }
	public virtual Foundation.NSNumber Mtu { get; set; }
	public virtual Foundation.NSNumber TunnelOverheadBytes { get; set; }
}

New Type: NetworkExtension.NEPacketTunnelProvider

public class NEPacketTunnelProvider : NetworkExtension.NETunnelProvider {
	// constructors
	public NEPacketTunnelProvider ();
	protected NEPacketTunnelProvider (Foundation.NSObjectFlag t);
	protected NEPacketTunnelProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEPacketTunnelFlow PacketFlow { get; }
	// methods
	public virtual void CancelTunnel (Foundation.NSError error);
	public virtual NWTcpConnection CreateTcpConnection (NWEndpoint remoteEndpoint, bool enableTls, NWTlsParameters tlsParameters, INWTcpConnectionAuthenticationDelegate delegate);

	[Obsolete ("Use the overload accepting a 'INWTcpConnectionAuthenticationDelegate' argument.")]
public virtual NWTcpConnection CreateTcpConnection (NWEndpoint remoteEndpoint, bool enableTls, NWTlsParameters tlsParameters, NWTcpConnectionAuthenticationDelegate delegate);
	public virtual NWUdpSession CreateUdpSession (NWEndpoint remoteEndpoint, NWHostEndpoint localEndpoint);
	public virtual void StartTunnel (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task StartTunnelAsync (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
	public virtual void StopTunnel (NEProviderStopReason reason, System.Action completionHandler);
	public virtual System.Threading.Tasks.Task StopTunnelAsync (NEProviderStopReason reason);
}

New Type: NetworkExtension.NEProvider

public class NEProvider : Foundation.NSObject {
	// constructors
	protected NEProvider (Foundation.NSObjectFlag t);
	protected NEProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NWPath DefaultPath { get; }
	// methods
	public virtual NWTcpConnection CreateTcpConnectionToEndpoint (NWEndpoint remoteEndpoint, bool enableTLS, NWTlsParameters TLSParameters, Foundation.NSObject connectionDelegate);
	public virtual NWUdpSession CreateUdpSessionToEndpoint (NWEndpoint remoteEndpoint, NWHostEndpoint localEndpoint);
	public virtual void Sleep (System.Action completionHandler);
	public virtual System.Threading.Tasks.Task SleepAsync ();
	public static void StartSystemExtensionMode ();
	public virtual void Wake ();
}

New Type: NetworkExtension.NEProviderStopReason

[Serializable]
public enum NEProviderStopReason {
	AppUpdate = 16,
	AuthenticationCanceled = 6,
	ConfigurationDisabled = 9,
	ConfigurationFailed = 7,
	ConfigurationRemoved = 10,
	ConnectionFailed = 14,
	IdleTimeout = 8,
	NoNetworkAvailable = 3,
	None = 0,
	ProviderDisabled = 5,
	ProviderFailed = 2,
	Sleep = 15,
	Superseded = 11,
	UnrecoverableNetworkChange = 4,
	UserInitiated = 1,
	UserLogout = 12,
	UserSwitch = 13,
}

New Type: NetworkExtension.NEProxyServer

public class NEProxyServer : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEProxyServer (Foundation.NSCoder coder);
	protected NEProxyServer (Foundation.NSObjectFlag t);
	protected NEProxyServer (IntPtr handle);
	public NEProxyServer (string address, nint port);
	// properties
	public virtual string Address { get; }
	public virtual bool AuthenticationRequired { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Password { get; set; }
	public virtual nint Port { get; }
	public virtual string Username { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEProxySettings

public class NEProxySettings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEProxySettings ();
	public NEProxySettings (Foundation.NSCoder coder);
	protected NEProxySettings (Foundation.NSObjectFlag t);
	protected NEProxySettings (IntPtr handle);
	// properties
	public virtual bool AutoProxyConfigurationEnabled { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string[] ExceptionList { get; set; }
	public virtual bool ExcludeSimpleHostnames { get; set; }
	public virtual bool HttpEnabled { get; set; }
	public virtual NEProxyServer HttpServer { get; set; }
	public virtual bool HttpsEnabled { get; set; }
	public virtual NEProxyServer HttpsServer { get; set; }
	public virtual string[] MatchDomains { get; set; }
	public virtual string ProxyAutoConfigurationJavaScript { get; set; }
	public virtual Foundation.NSUrl ProxyAutoConfigurationUrl { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NERelay

public class NERelay : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NERelay ();
	public NERelay (Foundation.NSCoder coder);
	protected NERelay (Foundation.NSObjectFlag t);
	protected NERelay (IntPtr handle);
	// properties
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> AdditionalHttpHeaderFields { get; set; }
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ConfigurationDidChangeNotification { get; }
	public virtual Foundation.NSUrl DnsOverHttpsUrl { get; set; }
	public static Foundation.NSString ErrorDomain { get; }
	public virtual Foundation.NSUrl Http2RelayUrl { get; set; }
	public virtual Foundation.NSUrl Http3RelayUrl { get; set; }
	public virtual Foundation.NSData IdentityData { get; set; }
	public virtual string IdentityDataPassword { get; set; }
	public virtual Foundation.NSData[] RawPublicKeys { get; set; }
	public virtual string SyntheticDnsAnswerIPv4Prefix { get; set; }
	public virtual string SyntheticDnsAnswerIPv6Prefix { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);

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

New Type: NetworkExtension.NERelayManager

public class NERelayManager : Foundation.NSObject {
	// constructors
	public NERelayManager ();
	protected NERelayManager (Foundation.NSObjectFlag t);
	protected NERelayManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Enabled { get; set; }
	public virtual string[] ExcludedDomains { get; set; }
	public virtual string LocalizedDescription { get; set; }
	public virtual string[] MatchDomains { get; set; }
	public virtual NEOnDemandRule[] OnDemandRules { get; set; }
	public virtual NERelay[] Relays { get; set; }
	public static NERelayManager Shared { get; }
	// methods
	public static void LoadAllManagersFromPreferences (System.Action<Foundation.NSArray<NERelayManager>> completionHandler);
	public static System.Threading.Tasks.Task<Foundation.NSArray<NERelayManager>> LoadAllManagersFromPreferencesAsync ();
	public virtual void LoadFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task LoadFromPreferencesAsync ();
	public virtual void RemoveFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task RemoveFromPreferencesAsync ();
	public virtual void SaveToPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SaveToPreferencesAsync ();
}

New Type: NetworkExtension.NERelayManagerError

[Serializable]
public enum NERelayManagerError {
	CannotBeRemoved = 4,
	Disabled = 2,
	Invalid = 1,
	Stale = 3,
}

New Type: NetworkExtension.NETunnelNetworkSettings

public class NETunnelNetworkSettings : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NETunnelNetworkSettings (Foundation.NSCoder coder);
	protected NETunnelNetworkSettings (Foundation.NSObjectFlag t);
	protected NETunnelNetworkSettings (IntPtr handle);
	public NETunnelNetworkSettings (string address);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEDnsSettings DnsSettings { get; set; }
	public virtual NEProxySettings ProxySettings { get; set; }
	public virtual string TunnelRemoteAddress { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NETunnelProvider

public class NETunnelProvider : NetworkExtension.NEProvider {
	// constructors
	protected NETunnelProvider (Foundation.NSObjectFlag t);
	protected NETunnelProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEVpnProtocol ProtocolConfiguration { get; }
	public virtual bool Reasserting { get; set; }
	// methods
	public virtual void HandleAppMessage (Foundation.NSData messageData, System.Action<Foundation.NSData> completionHandler);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> HandleAppMessageAsync (Foundation.NSData messageData);
	public virtual void SetTunnelNetworkSettings (NETunnelNetworkSettings tunnelNetworkSettings, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SetTunnelNetworkSettingsAsync (NETunnelNetworkSettings tunnelNetworkSettings);
}

New Type: NetworkExtension.NETunnelProviderError

[Serializable]
public enum NETunnelProviderError {
	Canceled = 2,
	Failed = 3,
	Invalid = 1,
	None = 0,
}

New Type: NetworkExtension.NETunnelProviderErrorExtensions

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

New Type: NetworkExtension.NETunnelProviderManager

public class NETunnelProviderManager : NetworkExtension.NEVpnManager {
	// constructors
	public NETunnelProviderManager ();
	protected NETunnelProviderManager (Foundation.NSObjectFlag t);
	protected NETunnelProviderManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ErrorDomain { get; }
	// methods
	public static void LoadAllFromPreferences (System.Action<Foundation.NSArray,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<Foundation.NSArray> LoadAllFromPreferencesAsync ();
}

New Type: NetworkExtension.NETunnelProviderProtocol

public class NETunnelProviderProtocol : NetworkExtension.NEVpnProtocol {
	// constructors
	public NETunnelProviderProtocol ();
	public NETunnelProviderProtocol (Foundation.NSCoder coder);
	protected NETunnelProviderProtocol (Foundation.NSObjectFlag t);
	protected NETunnelProviderProtocol (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ProviderBundleIdentifier { get; set; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> ProviderConfiguration { get; set; }
}

New Type: NetworkExtension.NETunnelProviderSession

public class NETunnelProviderSession : NetworkExtension.NEVpnConnection {
	// constructors
	public NETunnelProviderSession ();
	protected NETunnelProviderSession (Foundation.NSObjectFlag t);
	protected NETunnelProviderSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool SendProviderMessage (Foundation.NSData messageData, out Foundation.NSError error, System.Action<Foundation.NSData> responseHandler);
	public virtual bool StartTunnel (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options, out Foundation.NSError error);
	public virtual void StopTunnel ();
}

New Type: NetworkExtension.NEVpnConnection

public class NEVpnConnection : Foundation.NSObject {
	// constructors
	public NEVpnConnection ();
	protected NEVpnConnection (Foundation.NSObjectFlag t);
	protected NEVpnConnection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate ConnectedDate { get; }
	public virtual NEVpnManager Manager { get; }
	public virtual NEVpnStatus Status { get; }
	public static Foundation.NSString StatusDidChangeNotification { get; }
	// methods
	public virtual void FetchLastDisconnectError (System.Action<Foundation.NSError> handler);
	public virtual System.Threading.Tasks.Task FetchLastDisconnectErrorAsync ();
	public virtual bool StartVpnTunnel (out Foundation.NSError error);
	public bool StartVpnTunnel (NEVpnConnectionStartOptions options, out Foundation.NSError error);
	public virtual void StopVpnTunnel ();

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

New Type: NetworkExtension.NEVpnConnectionError

[Serializable]
public enum NEVpnConnectionError {
	AuthenticationFailed = 8,
	ClientCertificateExpired = 11,
	ClientCertificateInvalid = 9,
	ClientCertificateNotYetValid = 10,
	ConfigurationFailed = 4,
	ConfigurationNotFound = 13,
	NegotiationFailed = 15,
	NoNetworkAvailable = 2,
	Overslept = 1,
	PluginDisabled = 14,
	PluginFailed = 12,
	ServerAddressResolutionFailed = 5,
	ServerCertificateExpired = 19,
	ServerCertificateInvalid = 17,
	ServerCertificateNotYetValid = 18,
	ServerDead = 7,
	ServerDisconnected = 16,
	ServerNotResponding = 6,
	UnrecoverableNetworkChange = 3,
}

New Type: NetworkExtension.NEVpnConnectionErrorExtensions

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

New Type: NetworkExtension.NEVpnConnectionStartOptions

public class NEVpnConnectionStartOptions : Foundation.DictionaryContainer {
	// constructors
	public NEVpnConnectionStartOptions ();
	public NEVpnConnectionStartOptions (Foundation.NSDictionary dictionary);
	// properties
	public Foundation.NSString Password { get; set; }
	public Foundation.NSString Username { get; set; }
}

New Type: NetworkExtension.NEVpnError

[Serializable]
public enum NEVpnError {
	ConfigurationDisabled = 2,
	ConfigurationInvalid = 1,
	ConfigurationReadWriteFailed = 5,
	ConfigurationStale = 4,
	ConfigurationUnknown = 6,
	ConnectionFailed = 3,
}

New Type: NetworkExtension.NEVpnErrorExtensions

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

New Type: NetworkExtension.NEVpnIke2CertificateType

[Serializable]
public enum NEVpnIke2CertificateType {
	ECDSA256 = 2,
	ECDSA384 = 3,
	ECDSA521 = 4,
	Ed25519 = 5,
	RSA = 1,
	Rsapss = 6,
}

New Type: NetworkExtension.NEVpnIke2DeadPeerDetectionRate

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

New Type: NetworkExtension.NEVpnIke2DiffieHellman

[Serializable]
public enum NEVpnIke2DiffieHellman {
	Group0 = 0,
	Group1 = 1,
	Group14 = 14,
	Group15 = 15,
	Group16 = 16,
	Group17 = 17,
	Group18 = 18,
	Group19 = 19,
	Group2 = 2,
	Group20 = 20,
	Group21 = 21,
	Group31 = 31,
	Group32 = 32,
	Group5 = 5,
	Invalid = 0,
}

New Type: NetworkExtension.NEVpnIke2EncryptionAlgorithm

[Serializable]
public enum NEVpnIke2EncryptionAlgorithm {
	AES128 = 3,
	AES128GCM = 5,
	AES256 = 4,
	AES256GCM = 6,
	ChaCha20Poly1305 = 7,
	DES = 1,
	TripleDES = 2,
}

New Type: NetworkExtension.NEVpnIke2IntegrityAlgorithm

[Serializable]
public enum NEVpnIke2IntegrityAlgorithm {
	SHA160 = 2,
	SHA256 = 3,
	SHA384 = 4,
	SHA512 = 5,
	SHA96 = 1,
}

New Type: NetworkExtension.NEVpnIke2SecurityAssociationParameters

public class NEVpnIke2SecurityAssociationParameters : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NEVpnIke2SecurityAssociationParameters ();
	public NEVpnIke2SecurityAssociationParameters (Foundation.NSCoder coder);
	protected NEVpnIke2SecurityAssociationParameters (Foundation.NSObjectFlag t);
	protected NEVpnIke2SecurityAssociationParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NEVpnIke2DiffieHellman DiffieHellmanGroup { get; set; }
	public virtual NEVpnIke2EncryptionAlgorithm EncryptionAlgorithm { get; set; }
	public virtual NEVpnIke2IntegrityAlgorithm IntegrityAlgorithm { get; set; }
	public virtual int LifetimeMinutes { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEVpnIkeAuthenticationMethod

[Serializable]
public enum NEVpnIkeAuthenticationMethod {
	Certificate = 1,
	None = 0,
	SharedSecret = 2,
}

New Type: NetworkExtension.NEVpnIkev2TlsVersion

[Serializable]
public enum NEVpnIkev2TlsVersion {
	Default = 0,
	Tls1_0 = 1,
	Tls1_1 = 2,
	Tls1_2 = 3,
}

New Type: NetworkExtension.NEVpnManager

public class NEVpnManager : Foundation.NSObject {
	// constructors
	protected NEVpnManager (Foundation.NSObjectFlag t);
	protected NEVpnManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static Foundation.NSString ConfigurationChangeNotification { get; }
	public virtual NEVpnConnection Connection { get; }
	public virtual bool Enabled { get; set; }
	public static Foundation.NSString ErrorDomain { get; }
	public virtual string LocalizedDescription { get; set; }
	public virtual bool OnDemandEnabled { get; set; }
	public virtual NEOnDemandRule[] OnDemandRules { get; set; }
	public virtual NEVpnProtocol ProtocolConfiguration { get; set; }
	public static NEVpnManager SharedManager { get; }
	// methods
	public virtual void LoadFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task LoadFromPreferencesAsync ();
	public virtual void RemoveFromPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task RemoveFromPreferencesAsync ();
	public virtual void SaveToPreferences (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SaveToPreferencesAsync ();

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

New Type: NetworkExtension.NEVpnProtocol

public abstract class NEVpnProtocol : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected NEVpnProtocol ();
	protected NEVpnProtocol (Foundation.NSCoder coder);
	protected NEVpnProtocol (Foundation.NSObjectFlag t);
	protected NEVpnProtocol (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool DisconnectOnSleep { get; set; }
	public virtual bool EnforceRoutes { get; set; }
	public virtual bool ExcludeLocalNetworks { get; set; }
	public virtual Foundation.NSData IdentityData { get; set; }
	public virtual string IdentityDataPassword { get; set; }
	public virtual Foundation.NSData IdentityReference { get; set; }
	public virtual bool IncludeAllNetworks { get; set; }
	public virtual Foundation.NSData PasswordReference { get; set; }
	public virtual NEProxySettings ProxySettings { get; set; }
	public virtual string ServerAddress { get; set; }
	public virtual string Username { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: NetworkExtension.NEVpnProtocolIke2

public class NEVpnProtocolIke2 : NetworkExtension.NEVpnProtocolIpSec {
	// constructors
	public NEVpnProtocolIke2 ();
	public NEVpnProtocolIke2 (Foundation.NSCoder coder);
	protected NEVpnProtocolIke2 (Foundation.NSObjectFlag t);
	protected NEVpnProtocolIke2 (IntPtr handle);
	// properties
	public virtual NEVpnIke2CertificateType CertificateType { get; set; }
	public virtual NEVpnIke2SecurityAssociationParameters ChildSecurityAssociationParameters { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NEVpnIke2DeadPeerDetectionRate DeadPeerDetectionRate { get; set; }
	public virtual bool DisableMobike { get; set; }
	public virtual bool DisableRedirect { get; set; }
	public virtual bool EnableFallback { get; set; }
	public virtual bool EnablePfs { get; set; }
	public virtual bool EnableRevocationCheck { get; set; }
	public virtual NEVpnIke2SecurityAssociationParameters IKESecurityAssociationParameters { get; }
	public virtual NEVpnIkev2TlsVersion MaximumTlsVersion { get; set; }
	public virtual NEVpnIkev2TlsVersion MinimumTlsVersion { get; set; }
	public virtual nuint Mtu { get; set; }
	public virtual string ServerCertificateCommonName { get; set; }
	public virtual string ServerCertificateIssuerCommonName { get; set; }
	public virtual bool StrictRevocationCheck { get; set; }
	public virtual bool UseConfigurationAttributeInternalIPSubnet { get; set; }
}

New Type: NetworkExtension.NEVpnProtocolIpSec

public class NEVpnProtocolIpSec : NetworkExtension.NEVpnProtocol {
	// constructors
	public NEVpnProtocolIpSec ();
	public NEVpnProtocolIpSec (Foundation.NSCoder coder);
	protected NEVpnProtocolIpSec (Foundation.NSObjectFlag t);
	protected NEVpnProtocolIpSec (IntPtr handle);
	// properties
	public virtual NEVpnIkeAuthenticationMethod AuthenticationMethod { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string LocalIdentifier { get; set; }
	public virtual string RemoteIdentifier { get; set; }
	public virtual Foundation.NSData SharedSecretReference { get; set; }
	public virtual bool UseExtendedAuthentication { get; set; }
}

New Type: NetworkExtension.NEVpnStatus

[Serializable]
public enum NEVpnStatus {
	Connected = 3,
	Connecting = 2,
	Disconnected = 1,
	Disconnecting = 5,
	Invalid = 0,
	Reasserting = 4,
}

New Type: NetworkExtension.NWBonjourServiceEndpoint

public class NWBonjourServiceEndpoint : NetworkExtension.NWEndpoint {
	// constructors
	public NWBonjourServiceEndpoint (Foundation.NSCoder coder);
	protected NWBonjourServiceEndpoint (Foundation.NSObjectFlag t);
	protected NWBonjourServiceEndpoint (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Domain { get; }
	public virtual string Name { get; }
	public virtual string Type { get; }
	// methods
	public static NWBonjourServiceEndpoint Create (string name, string type, string domain);
}

New Type: NetworkExtension.NWEndpoint

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

New Type: NetworkExtension.NWHostEndpoint

public class NWHostEndpoint : NetworkExtension.NWEndpoint {
	// constructors

	[Obsolete ("Use the 'Create' method instead.")]
public NWHostEndpoint ();
	public NWHostEndpoint (Foundation.NSCoder coder);
	protected NWHostEndpoint (Foundation.NSObjectFlag t);
	protected NWHostEndpoint (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Hostname { get; }
	public virtual string Port { get; }
	// methods
	public static NWHostEndpoint Create (string hostname, string port);
}

New Type: NetworkExtension.NWPath

public class NWPath : Foundation.NSObject {
	// constructors

	[Obsolete ("This type is not meant to be user created.")]
public NWPath ();
	protected NWPath (Foundation.NSObjectFlag t);
	protected NWPath (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Constrained { get; }
	public virtual bool Expensive { get; }
	public virtual NWPathStatus Status { get; }
	// methods
	public virtual bool IsEqualToPath (NWPath path);
}

New Type: NetworkExtension.NWPathStatus

[Serializable]
public enum NWPathStatus {
	Invalid = 0,
	Satisfiable = 3,
	Satisfied = 1,
	Unsatisfied = 2,
}

New Type: NetworkExtension.NWTcpConnection

public class NWTcpConnection : Foundation.NSObject {
	// constructors
	public NWTcpConnection ();
	protected NWTcpConnection (Foundation.NSObjectFlag t);
	public NWTcpConnection (NWTcpConnection connection);
	protected NWTcpConnection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NWPath ConnectedPath { get; }
	public virtual NWEndpoint Endpoint { get; }
	public virtual Foundation.NSError Error { get; }
	public virtual bool HasBetterPath { get; }
	public virtual NWEndpoint LocalAddress { get; }
	public virtual NWEndpoint RemoteAddress { get; }
	public virtual NWTcpConnectionState State { get; }
	public virtual Foundation.NSData TxtRecord { get; }
	public virtual bool Viable { get; }
	// methods
	public virtual void Cancel ();
	public virtual void ReadLength (nuint length, System.Action<Foundation.NSData,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> ReadLengthAsync (nuint length);
	public virtual void ReadMinimumLength (nuint minimum, nuint maximum, System.Action<Foundation.NSData,Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task<Foundation.NSData> ReadMinimumLengthAsync (nuint minimum, nuint maximum);
	public virtual void Write (Foundation.NSData data, System.Action<Foundation.NSError> completion);
	public virtual System.Threading.Tasks.Task WriteAsync (Foundation.NSData data);
	public virtual void WriteClose ();
}

New Type: NetworkExtension.NWTcpConnectionAuthenticationDelegate

public class NWTcpConnectionAuthenticationDelegate : Foundation.NSObject, INWTcpConnectionAuthenticationDelegate, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NWTcpConnectionAuthenticationDelegate ();
	protected NWTcpConnectionAuthenticationDelegate (Foundation.NSObjectFlag t);
	protected NWTcpConnectionAuthenticationDelegate (IntPtr handle);
	// methods
	public virtual void EvaluateTrust (NWTcpConnection connection, Foundation.NSArray peerCertificateChain, System.Action<Security.SecTrust> completion);

	[Obsolete ("Use 'NWTcpConnectionAuthenticationDelegate_Extensions.EvaluateTrustAsync' instead.")]
public virtual System.Threading.Tasks.Task<Security.SecTrust> EvaluateTrustAsync (NWTcpConnection connection, Foundation.NSArray peerCertificateChain);
	public virtual void ProvideIdentity (NWTcpConnection connection, System.Action<Security.SecIdentity,Foundation.NSArray> completion);
	public virtual bool ShouldEvaluateTrust (NWTcpConnection connection);
	public virtual bool ShouldProvideIdentity (NWTcpConnection connection);
}

New Type: NetworkExtension.NWTcpConnectionAuthenticationDelegate_Extensions

public static class NWTcpConnectionAuthenticationDelegate_Extensions {
	// methods
	public static void EvaluateTrust (this INWTcpConnectionAuthenticationDelegate This, NWTcpConnection connection, Foundation.NSArray peerCertificateChain, System.Action<Security.SecTrust> completion);
	public static System.Threading.Tasks.Task<Security.SecTrust> EvaluateTrustAsync (this INWTcpConnectionAuthenticationDelegate This, NWTcpConnection connection, Foundation.NSArray peerCertificateChain);
	public static void ProvideIdentity (this INWTcpConnectionAuthenticationDelegate This, NWTcpConnection connection, System.Action<Security.SecIdentity,Foundation.NSArray> completion);
	public static bool ShouldEvaluateTrust (this INWTcpConnectionAuthenticationDelegate This, NWTcpConnection connection);
	public static bool ShouldProvideIdentity (this INWTcpConnectionAuthenticationDelegate This, NWTcpConnection connection);
}

New Type: NetworkExtension.NWTcpConnectionState

[Serializable]
public enum NWTcpConnectionState {
	Cancelled = 5,
	Connected = 3,
	Connecting = 1,
	Disconnected = 4,
	Invalid = 0,
	Waiting = 2,
}

New Type: NetworkExtension.NWTlsParameters

public class NWTlsParameters : Foundation.NSObject {
	// constructors
	public NWTlsParameters ();
	protected NWTlsParameters (Foundation.NSObjectFlag t);
	protected NWTlsParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint MaximumSslProtocolVersion { get; set; }
	public virtual nuint MinimumSslProtocolVersion { get; set; }
	public virtual Foundation.NSSet<Foundation.NSNumber> SslCipherSuites { get; set; }
	public virtual Foundation.NSData TlsSessionID { get; set; }
}

New Type: NetworkExtension.NWUdpSession

public class NWUdpSession : Foundation.NSObject {
	// constructors
	public NWUdpSession ();
	protected NWUdpSession (Foundation.NSObjectFlag t);
	public NWUdpSession (NWUdpSession session);
	protected NWUdpSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NWPath CurrentPath { get; }
	public virtual NWEndpoint Endpoint { get; }
	public virtual bool HasBetterPath { get; }
	public virtual nuint MaximumDatagramLength { get; }
	public virtual NWEndpoint ResolvedEndpoint { get; }
	public virtual NWUdpSessionState State { get; }
	public virtual bool Viable { get; }
	// methods
	public virtual void Cancel ();
	public virtual void SetReadHandler (System.Action<Foundation.NSArray,Foundation.NSError> handler, nuint maxDatagrams);
	public virtual void TryNextResolvedEndpoint ();
	public virtual void WriteDatagram (Foundation.NSData datagram, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task WriteDatagramAsync (Foundation.NSData datagram);
	public virtual void WriteMultipleDatagrams (Foundation.NSData[] datagramArray, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task WriteMultipleDatagramsAsync (Foundation.NSData[] datagramArray);
}

New Type: NetworkExtension.NWUdpSessionState

[Serializable]
public enum NWUdpSessionState {
	Cancelled = 5,
	Failed = 4,
	Invalid = 0,
	Preparing = 2,
	Ready = 3,
	Waiting = 1,
}

New Namespace Phase

New Type: Phase.PhaseAmbientMixerDefinition

public class PhaseAmbientMixerDefinition : Phase.PhaseMixerDefinition {
	// constructors
	protected PhaseAmbientMixerDefinition (Foundation.NSObjectFlag t);
	protected PhaseAmbientMixerDefinition (IntPtr handle);
	public PhaseAmbientMixerDefinition (AVFoundation.AVAudioChannelLayout layout, OpenTK.Quaternion orientation);
	public PhaseAmbientMixerDefinition (AVFoundation.AVAudioChannelLayout layout, OpenTK.Quaternion orientation, Foundation.NSString identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAudioChannelLayout InputChannelLayout { get; }
	public virtual OpenTK.Quaternion Orientation { get; }
}

New Type: Phase.PhaseAsset

public class PhaseAsset : Foundation.NSObject {
	// constructors
	protected PhaseAsset (Foundation.NSObjectFlag t);
	protected PhaseAsset (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
}

New Type: Phase.PhaseAssetError

[Serializable]
public enum PhaseAssetError {
	AlreadyExists = 1346920804,
	BadParameters = 1346920803,
	FailedToLoad = 1346920801,
	GeneralError = 1346920805,
	InvalidEngineInstance = 1346920802,
	MemoryAllocation = 1346920806,
}

New Type: Phase.PhaseAssetErrorExtensions

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

New Type: Phase.PhaseAssetRegistry

public class PhaseAssetRegistry : Foundation.NSObject {
	// constructors
	protected PhaseAssetRegistry (Foundation.NSObjectFlag t);
	protected PhaseAssetRegistry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseMetaParameter> GlobalMetaParameters { get; }
	// methods
	public virtual PhaseAsset GetAsset (string identifier);
	public virtual PhaseGlobalMetaParameterAsset RegisterGlobalMetaParameter (PhaseMetaParameterDefinition metaParameterDefinition, out Foundation.NSError error);
	public virtual PhaseSoundAsset RegisterSoundAsset (Foundation.NSData data, string identifier, AVFoundation.AVAudioFormat format, PhaseNormalizationMode normalizationMode, out Foundation.NSError error);
	public virtual PhaseSoundAsset RegisterSoundAsset (Foundation.NSUrl url, string identifier, PhaseAssetType assetType, AVFoundation.AVAudioChannelLayout channelLayout, PhaseNormalizationMode normalizationMode, out Foundation.NSError error);
	public virtual PhaseSoundEventNodeAsset RegisterSoundEventAsset (PhaseSoundEventNodeDefinition rootNode, string identifier, out Foundation.NSError error);
	public virtual void UnregisterAsset (string identifier, System.Action<bool> handler);
	public virtual System.Threading.Tasks.Task<bool> UnregisterAssetAsync (string identifier);
}

New Type: Phase.PhaseAssetType

[Serializable]
public enum PhaseAssetType {
	Resident = 0,
	Streamed = 1,
}

New Type: Phase.PhaseBlendNodeDefinition

public class PhaseBlendNodeDefinition : Phase.PhaseSoundEventNodeDefinition {
	// constructors
	protected PhaseBlendNodeDefinition (Foundation.NSObjectFlag t);
	public PhaseBlendNodeDefinition (PhaseNumberMetaParameterDefinition blendMetaParameterDefinition);
	public PhaseBlendNodeDefinition (PhaseSpatialMixerDefinition spatialMixerDefinition);
	protected PhaseBlendNodeDefinition (IntPtr handle);
	public PhaseBlendNodeDefinition (PhaseNumberMetaParameterDefinition blendMetaParameterDefinition, string identifier);
	public PhaseBlendNodeDefinition (PhaseSpatialMixerDefinition spatialMixerDefinition, string identifier);
	// properties
	public virtual PhaseNumberMetaParameterDefinition BlendParameterDefinition { get; }
	public override IntPtr ClassHandle { get; }
	public virtual PhaseSpatialMixerDefinition SpatialMixerDefinitionForDistance { get; }
	// methods
	public virtual void AddRange (PhaseEnvelope envelope, PhaseSoundEventNodeDefinition subtree);
	public virtual void AddRangeForInputValuesAbove (double value, double fullGainAtValue, PhaseCurveType fadeCurveType, PhaseSoundEventNodeDefinition subtree);
	public virtual void AddRangeForInputValuesBelow (double value, double fullGainAtValue, PhaseCurveType fadeCurveType, PhaseSoundEventNodeDefinition subtree);
	public virtual void AddRangeForInputValuesBetween (double lowValue, double highValue, double fullGainAtLowValue, double fullGainAtHighValue, PhaseCurveType lowFadeCurveType, PhaseCurveType highFadeCurveType, PhaseSoundEventNodeDefinition subtree);
}

New Type: Phase.PhaseCalibrationMode

[Serializable]
public enum PhaseCalibrationMode {
	AbsoluteSpl = 2,
	None = 0,
	RelativeSpl = 1,
}

New Type: Phase.PhaseChannelMixerDefinition

public class PhaseChannelMixerDefinition : Phase.PhaseMixerDefinition {
	// constructors
	public PhaseChannelMixerDefinition (AVFoundation.AVAudioChannelLayout layout);
	protected PhaseChannelMixerDefinition (Foundation.NSObjectFlag t);
	protected PhaseChannelMixerDefinition (IntPtr handle);
	public PhaseChannelMixerDefinition (AVFoundation.AVAudioChannelLayout layout, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAudioChannelLayout InputChannelLayout { get; }
}

New Type: Phase.PhaseCullOption

[Serializable]
public enum PhaseCullOption {
	DoNotCull = 4,
	SleepWakeAtRandomOffset = 2,
	SleepWakeAtRealtimeOffset = 3,
	SleepWakeAtZero = 1,
	Terminate = 0,
}

New Type: Phase.PhaseCurveType

[Serializable]
public enum PhaseCurveType {
	Cubed = 1668432757,
	HoldStartValue = 1668434003,
	InverseCubed = 1668434243,
	InverseSigmoid = 1668434247,
	InverseSine = 1668434259,
	InverseSquared = 1668434257,
	JumpToEndValue = 1668434501,
	Linear = 1668435054,
	Sigmoid = 1668436839,
	Sine = 1668436846,
	Squared = 1668436849,
}

New Type: Phase.PhaseDefinition

public class PhaseDefinition : Foundation.NSObject {
	// constructors
	protected PhaseDefinition (Foundation.NSObjectFlag t);
	protected PhaseDefinition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
}

New Type: Phase.PhaseDirectivityModelParameters

public class PhaseDirectivityModelParameters : Foundation.NSObject {
	// constructors
	protected PhaseDirectivityModelParameters (Foundation.NSObjectFlag t);
	protected PhaseDirectivityModelParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseDistanceModelFadeOutParameters

public class PhaseDistanceModelFadeOutParameters : Foundation.NSObject {
	// constructors
	protected PhaseDistanceModelFadeOutParameters (Foundation.NSObjectFlag t);
	public PhaseDistanceModelFadeOutParameters (double cullDistance);
	protected PhaseDistanceModelFadeOutParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double CullDistance { get; }
}

New Type: Phase.PhaseDistanceModelParameters

public class PhaseDistanceModelParameters : Foundation.NSObject {
	// constructors
	protected PhaseDistanceModelParameters (Foundation.NSObjectFlag t);
	protected PhaseDistanceModelParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseDistanceModelFadeOutParameters FadeOutParameters { get; set; }
}

New Type: Phase.PhaseDucker

public class PhaseDucker : Foundation.NSObject {
	// constructors
	protected PhaseDucker (Foundation.NSObjectFlag t);
	protected PhaseDucker (IntPtr handle);
	public PhaseDucker (PhaseEngine engine, Foundation.NSSet<PhaseGroup> sourceGroups, Foundation.NSSet<PhaseGroup> targetGroups, double gain, double attackTime, double releaseTime, PhaseCurveType attackCurve, PhaseCurveType releaseCurve);
	// properties
	public virtual PhaseCurveType AttackCurve { get; }
	public virtual double AttackTime { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; }
	public virtual string Identifier { get; }
	public virtual bool IsActive { get; }
	public virtual PhaseCurveType ReleaseCurve { get; }
	public virtual double ReleaseTime { get; }
	public virtual Foundation.NSSet<PhaseGroup> SourceGroups { get; }
	public virtual Foundation.NSSet<PhaseGroup> TargetGroups { get; }
	// methods
	public virtual void Activate ();
	public virtual void Deactivate ();
}

New Type: Phase.PhaseEngine

public class PhaseEngine : Foundation.NSObject {
	// constructors
	protected PhaseEngine (Foundation.NSObjectFlag t);
	public PhaseEngine (PhaseUpdateMode updateMode);
	protected PhaseEngine (IntPtr handle);
	// properties
	public virtual PhaseGroupPreset ActiveGroupPreset { get; }
	public virtual PhaseAssetRegistry AssetRegistry { get; }
	public override IntPtr ClassHandle { get; }
	public virtual PhaseMedium DefaultMedium { get; set; }
	public virtual PhaseReverbPreset DefaultReverbPreset { get; set; }
	public virtual PhaseDucker[] Duckers { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseGroup> Groups { get; }
	public virtual PhaseSpatializationMode OutputSpatializationMode { get; set; }
	public virtual PhaseRenderingState RenderingState { get; }
	public virtual PhaseObject RootObject { get; }
	public virtual PhaseSoundEvent[] SoundEvents { get; }
	public virtual double UnitsPerMeter { get; set; }
	public virtual double UnitsPerSecond { get; set; }
	// methods
	public virtual void Pause ();
	public virtual bool Start (out Foundation.NSError error);
	public virtual void Stop ();
	public virtual void Update ();
}

New Type: Phase.PhaseEnvelope

public class PhaseEnvelope : Foundation.NSObject {
	// constructors
	protected PhaseEnvelope (Foundation.NSObjectFlag t);
	protected PhaseEnvelope (IntPtr handle);
	public PhaseEnvelope (OpenTK.Vector2d startPoint, PhaseEnvelopeSegment[] segments);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseNumericPair Domain { get; }
	public virtual PhaseNumericPair Range { get; }
	public virtual PhaseEnvelopeSegment[] Segments { get; }
	public virtual OpenTK.Vector2d StartPoint { get; }
	// methods
	public virtual double Evaluate (double x);
}

New Type: Phase.PhaseEnvelopeDistanceModelParameters

public class PhaseEnvelopeDistanceModelParameters : Phase.PhaseDistanceModelParameters {
	// constructors
	protected PhaseEnvelopeDistanceModelParameters (Foundation.NSObjectFlag t);
	public PhaseEnvelopeDistanceModelParameters (PhaseEnvelope envelope);
	protected PhaseEnvelopeDistanceModelParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseEnvelope Envelope { get; }
}

New Type: Phase.PhaseEnvelopeSegment

public class PhaseEnvelopeSegment : Foundation.NSObject {
	// constructors
	protected PhaseEnvelopeSegment (Foundation.NSObjectFlag t);
	protected PhaseEnvelopeSegment (IntPtr handle);
	public PhaseEnvelopeSegment (OpenTK.Vector2d endPoint, PhaseCurveType curveType);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseCurveType CurveType { get; set; }
	public virtual OpenTK.Vector2d EndPoint { get; set; }
}

New Type: Phase.PhaseError

[Serializable]
public enum PhaseError {
	InitializeFailed = 1346913633,
	InvalidObject = 1346913634,
}

New Type: Phase.PhaseErrorExtensions

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

New Type: Phase.PhaseGeneratorNodeDefinition

public class PhaseGeneratorNodeDefinition : Phase.PhaseSoundEventNodeDefinition {
	// constructors
	protected PhaseGeneratorNodeDefinition (Foundation.NSObjectFlag t);
	protected PhaseGeneratorNodeDefinition (IntPtr handle);
	// properties
	public virtual PhaseCalibrationMode CalibrationMode { get; }
	public override IntPtr ClassHandle { get; }
	public virtual PhaseNumberMetaParameterDefinition GainMetaParameterDefinition { get; set; }
	public virtual PhaseGroup Group { get; set; }
	public virtual double Level { get; }
	public virtual PhaseMixerDefinition MixerDefinition { get; }
	public virtual double Rate { get; set; }
	public virtual PhaseNumberMetaParameterDefinition RateMetaParameterDefinition { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void SetCalibrationMode (PhaseCalibrationMode calibrationMode, double level);
}

New Type: Phase.PhaseGlobalMetaParameterAsset

public class PhaseGlobalMetaParameterAsset : Phase.PhaseAsset {
	// constructors
	protected PhaseGlobalMetaParameterAsset (Foundation.NSObjectFlag t);
	protected PhaseGlobalMetaParameterAsset (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseGroup

public class PhaseGroup : Foundation.NSObject {
	// constructors
	protected PhaseGroup (Foundation.NSObjectFlag t);
	protected PhaseGroup (IntPtr handle);
	public PhaseGroup (string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; set; }
	public virtual string Identifier { get; }
	public virtual bool Muted { get; }
	public virtual double Rate { get; set; }
	public virtual bool Soloed { get; }
	// methods
	public virtual void FadeGain (double gain, double duration, PhaseCurveType curveType);
	public virtual void FadeRate (double rate, double duration, PhaseCurveType curveType);
	public virtual void Mute ();
	public virtual void Register (PhaseEngine engine);
	public virtual void Solo ();
	public virtual void Unmute ();
	public virtual void Unregister ();
	public virtual void Unsolo ();
}

New Type: Phase.PhaseGroupPreset

public class PhaseGroupPreset : Foundation.NSObject {
	// constructors
	protected PhaseGroupPreset (Foundation.NSObjectFlag t);
	protected PhaseGroupPreset (IntPtr handle);
	public PhaseGroupPreset (PhaseEngine engine, Foundation.NSDictionary<Foundation.NSString,Phase.PhaseGroupPresetSetting> settings, double timeToTarget, double timeToReset);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseGroupPresetSetting> Settings { get; }
	public virtual double TimeToReset { get; }
	public virtual double TimeToTarget { get; }
	// methods
	public virtual void Activate ();
	public virtual void Activate (double timeToTargetOverride);
	public virtual void Deactivate ();
	public virtual void Deactivate (double timeToResetOverride);
}

New Type: Phase.PhaseGroupPresetSetting

public class PhaseGroupPresetSetting : Foundation.NSObject {
	// constructors
	protected PhaseGroupPresetSetting (Foundation.NSObjectFlag t);
	protected PhaseGroupPresetSetting (IntPtr handle);
	public PhaseGroupPresetSetting (double gain, double rate, PhaseCurveType gainCurveType, PhaseCurveType rateCurveType);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; }
	public virtual PhaseCurveType GainCurveType { get; }
	public virtual double Rate { get; }
	public virtual PhaseCurveType RateCurveType { get; }
}

New Type: Phase.PhaseListener

public class PhaseListener : Phase.PhaseObject {
	// constructors
	protected PhaseListener (Foundation.NSObjectFlag t);
	public PhaseListener (PhaseEngine engine);
	protected PhaseListener (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; set; }
}

New Type: Phase.PhaseMappedMetaParameterDefinition

public class PhaseMappedMetaParameterDefinition : Phase.PhaseNumberMetaParameterDefinition {
	// constructors
	protected PhaseMappedMetaParameterDefinition (Foundation.NSObjectFlag t);
	protected PhaseMappedMetaParameterDefinition (IntPtr handle);
	public PhaseMappedMetaParameterDefinition (PhaseNumberMetaParameterDefinition inputMetaParameterDefinition, PhaseEnvelope envelope);
	public PhaseMappedMetaParameterDefinition (double value, string identifier);
	public PhaseMappedMetaParameterDefinition (PhaseNumberMetaParameterDefinition inputMetaParameterDefinition, PhaseEnvelope envelope, string identifier);
	public PhaseMappedMetaParameterDefinition (double value, double minimum, double maximum);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseEnvelope Envelope { get; }
	public virtual PhaseNumberMetaParameterDefinition InputMetaParameterDefinition { get; }
}

New Type: Phase.PhaseMaterial

public class PhaseMaterial : Foundation.NSObject {
	// constructors
	protected PhaseMaterial (Foundation.NSObjectFlag t);
	protected PhaseMaterial (IntPtr handle);
	public PhaseMaterial (PhaseEngine engine, PhaseMaterialPreset preset);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseMaterialPreset

[Serializable]
public enum PhaseMaterialPreset {
	Brickwork = 1833071211,
	Cardboard = 1833136740,
	Concrete = 1833132914,
	Drywall = 1833202295,
	Glass = 1833397363,
	Wood = 1834448228,
}

New Type: Phase.PhaseMedium

public class PhaseMedium : Foundation.NSObject {
	// constructors
	protected PhaseMedium (Foundation.NSObjectFlag t);
	protected PhaseMedium (IntPtr handle);
	public PhaseMedium (PhaseEngine engine, PhaseMediumPreset preset);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseMediumPreset

[Serializable]
public enum PhaseMediumPreset {
	PresetAir = 1835286898,
}

New Type: Phase.PhaseMetaParameter

public class PhaseMetaParameter : Foundation.NSObject {
	// constructors
	protected PhaseMetaParameter (Foundation.NSObjectFlag t);
	protected PhaseMetaParameter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Identifier { get; }
	public virtual Foundation.NSObject Value { get; set; }
}

New Type: Phase.PhaseMetaParameterDefinition

public class PhaseMetaParameterDefinition : Phase.PhaseDefinition {
	// constructors
	protected PhaseMetaParameterDefinition (Foundation.NSObjectFlag t);
	protected PhaseMetaParameterDefinition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSObject Value { get; }
}

New Type: Phase.PhaseMixer

public class PhaseMixer : Foundation.NSObject {
	// constructors
	protected PhaseMixer (Foundation.NSObjectFlag t);
	protected PhaseMixer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; }
	public virtual PhaseMetaParameter GainMetaParameter { get; }
	public virtual string Identifier { get; }
}

New Type: Phase.PhaseMixerDefinition

public class PhaseMixerDefinition : Phase.PhaseDefinition {
	// constructors
	protected PhaseMixerDefinition (Foundation.NSObjectFlag t);
	protected PhaseMixerDefinition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; set; }
	public virtual PhaseNumberMetaParameterDefinition GainMetaParameterDefinition { get; set; }
}

New Type: Phase.PhaseMixerParameters

public class PhaseMixerParameters : Foundation.NSObject {
	// constructors
	protected PhaseMixerParameters (Foundation.NSObjectFlag t);
	protected PhaseMixerParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddAmbientMixerParameters (string identifier, PhaseListener listener);
	public virtual void AddSpatialMixerParameters (string identifier, PhaseSource source, PhaseListener listener);
}

New Type: Phase.PhaseNormalizationMode

[Serializable]
public enum PhaseNormalizationMode {
	Dynamic = 1,
	None = 0,
}

New Type: Phase.PhaseNumberMetaParameter

public class PhaseNumberMetaParameter : Phase.PhaseMetaParameter {
	// constructors
	protected PhaseNumberMetaParameter (Foundation.NSObjectFlag t);
	protected PhaseNumberMetaParameter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Maximum { get; }
	public virtual double Minimum { get; }
	// methods
	public virtual void Fade (double value, double duration);
}

New Type: Phase.PhaseNumberMetaParameterDefinition

public class PhaseNumberMetaParameterDefinition : Phase.PhaseMetaParameterDefinition {
	// constructors
	protected PhaseNumberMetaParameterDefinition (Foundation.NSObjectFlag t);
	public PhaseNumberMetaParameterDefinition (double value);
	protected PhaseNumberMetaParameterDefinition (IntPtr handle);
	public PhaseNumberMetaParameterDefinition (double value, string identifier);
	public PhaseNumberMetaParameterDefinition (double value, double minimum, double maximum);
	public PhaseNumberMetaParameterDefinition (double value, double minimum, double maximum, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Maximum { get; }
	public virtual double Minimum { get; }
}

New Type: Phase.PhaseNumericPair

public class PhaseNumericPair : Foundation.NSObject {
	// constructors
	protected PhaseNumericPair (Foundation.NSObjectFlag t);
	protected PhaseNumericPair (IntPtr handle);
	public PhaseNumericPair (double first, double second);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double First { get; set; }
	public virtual double Second { get; set; }
}

New Type: Phase.PhaseObject

public class PhaseObject : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected PhaseObject (Foundation.NSObjectFlag t);
	public PhaseObject (PhaseEngine engine);
	protected PhaseObject (IntPtr handle);
	// properties
	public virtual PhaseObject[] Children { get; }
	public override IntPtr ClassHandle { get; }
	public static OpenTK.Vector3 Forward { get; }
	public virtual PhaseObject Parent { get; }
	public static OpenTK.Vector3 Right { get; }
	public virtual OpenTK.NMatrix4 Transform { get; set; }
	public static OpenTK.Vector3 Up { get; }
	public virtual OpenTK.NMatrix4 WorldTransform { get; set; }
	// methods
	public virtual bool AddChild (PhaseObject child, out Foundation.NSError error);
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	protected override void Dispose (bool disposing);
	public virtual void RemoveChild (PhaseObject child);
	public virtual void RemoveChildren ();
}

New Type: Phase.PhaseOccluder

public class PhaseOccluder : Phase.PhaseObject {
	// constructors
	protected PhaseOccluder (Foundation.NSObjectFlag t);
	public PhaseOccluder (PhaseEngine engine);
	protected PhaseOccluder (IntPtr handle);
	public PhaseOccluder (PhaseEngine engine, PhaseShape[] shapes);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseShape[] Shapes { get; }
}

New Type: Phase.PhasePlaybackMode

[Serializable]
public enum PhasePlaybackMode {
	Looping = 1,
	OneShot = 0,
}

New Type: Phase.PhasePushStreamBufferOptions

[Serializable]
[Flags]
public enum PhasePushStreamBufferOptions {
	Default = 1,
	Interrupts = 4,
	InterruptsAtLoop = 8,
	Loops = 2,
}

New Type: Phase.PhasePushStreamCompletionCallbackCondition

[Serializable]
public enum PhasePushStreamCompletionCallbackCondition {
	DataRendered = 0,
}

New Type: Phase.PhasePushStreamNode

public class PhasePushStreamNode : Foundation.NSObject {
	// constructors
	protected PhasePushStreamNode (Foundation.NSObjectFlag t);
	protected PhasePushStreamNode (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAudioFormat Format { get; }
	public virtual PhaseNumberMetaParameter GainMetaParameter { get; }
	public virtual PhaseMixer Mixer { get; }
	public virtual PhaseNumberMetaParameter RateMetaParameter { get; }
	// methods
	public virtual void ScheduleBuffer (AVFoundation.AVAudioPcmBuffer buffer);
	public virtual void ScheduleBuffer (AVFoundation.AVAudioPcmBuffer buffer, AVFoundation.AVAudioTime when, PhasePushStreamBufferOptions options);
	public virtual void ScheduleBuffer (AVFoundation.AVAudioPcmBuffer buffer, PhasePushStreamCompletionCallbackCondition completionCallbackCondition, System.Action<PhasePushStreamCompletionCallbackCondition> completionHandler);
	public virtual void ScheduleBuffer (AVFoundation.AVAudioPcmBuffer buffer, AVFoundation.AVAudioTime when, PhasePushStreamBufferOptions options, PhasePushStreamCompletionCallbackCondition completionCallbackCondition, System.Action<PhasePushStreamCompletionCallbackCondition> completionHandler);
	public virtual System.Threading.Tasks.Task<PhasePushStreamCompletionCallbackCondition> ScheduleBufferAsync (AVFoundation.AVAudioPcmBuffer buffer, PhasePushStreamCompletionCallbackCondition completionCallbackCondition);
	public virtual System.Threading.Tasks.Task<PhasePushStreamCompletionCallbackCondition> ScheduleBufferAsync (AVFoundation.AVAudioPcmBuffer buffer, AVFoundation.AVAudioTime when, PhasePushStreamBufferOptions options, PhasePushStreamCompletionCallbackCondition completionCallbackCondition);
}

New Type: Phase.PhasePushStreamNodeDefinition

public class PhasePushStreamNodeDefinition : Phase.PhaseGeneratorNodeDefinition {
	// constructors
	protected PhasePushStreamNodeDefinition (Foundation.NSObjectFlag t);
	protected PhasePushStreamNodeDefinition (IntPtr handle);
	public PhasePushStreamNodeDefinition (PhaseMixerDefinition mixerDefinition, AVFoundation.AVAudioFormat format);
	public PhasePushStreamNodeDefinition (PhaseMixerDefinition mixerDefinition, AVFoundation.AVAudioFormat format, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVAudioFormat Format { get; }
	public virtual bool Normalize { get; set; }
}

New Type: Phase.PhaseRenderingState

[Serializable]
public enum PhaseRenderingState {
	Paused = 2,
	Started = 1,
	Stopped = 0,
}

New Type: Phase.PhaseReverbPreset

[Serializable]
public enum PhaseReverbPreset {
	Cathedral = 1917023336,
	LargeChamber = 1917600616,
	LargeHall = 1917601841,
	LargeHall2 = 1917601842,
	LargeRoom = 1917604401,
	LargeRoom2 = 1917604402,
	MediumChamber = 1917666152,
	MediumHall = 1917667377,
	MediumHall2 = 1917667378,
	MediumHall3 = 1917667379,
	MediumRoom = 1917669997,
	None = 1917742958,
	SmallRoom = 1918063213,
}

New Type: Phase.PhaseSamplerNodeDefinition

public class PhaseSamplerNodeDefinition : Phase.PhaseGeneratorNodeDefinition {
	// constructors
	protected PhaseSamplerNodeDefinition (Foundation.NSObjectFlag t);
	protected PhaseSamplerNodeDefinition (IntPtr handle);
	public PhaseSamplerNodeDefinition (string soundAssetIdentifier, PhaseMixerDefinition mixerDefinition);
	public PhaseSamplerNodeDefinition (string soundAssetIdentifier, PhaseMixerDefinition mixerDefinition, string identifier);
	// properties
	public virtual string AssetIdentifier { get; }
	public override IntPtr ClassHandle { get; }
	public virtual PhaseCullOption CullOption { get; set; }
	public virtual PhasePlaybackMode PlaybackMode { get; set; }
}

New Type: Phase.PhaseShape

public class PhaseShape : Foundation.NSObject, Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected PhaseShape (Foundation.NSObjectFlag t);
	protected PhaseShape (IntPtr handle);
	public PhaseShape (PhaseEngine engine, ModelIO.MDLMesh mesh);
	public PhaseShape (PhaseEngine engine, ModelIO.MDLMesh mesh, PhaseMaterial[] materials);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseShapeElement[] Elements { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Phase.PhaseShapeElement

public class PhaseShapeElement : Foundation.NSObject {
	// constructors
	protected PhaseShapeElement (Foundation.NSObjectFlag t);
	protected PhaseShapeElement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseMaterial Material { get; set; }
}

New Type: Phase.PhaseSoundAsset

public class PhaseSoundAsset : Phase.PhaseAsset {
	// constructors
	protected PhaseSoundAsset (Foundation.NSObjectFlag t);
	protected PhaseSoundAsset (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Data { get; }
	public virtual PhaseAssetType Type { get; }
	public virtual Foundation.NSUrl Url { get; }
}

New Type: Phase.PhaseSoundEvent

public class PhaseSoundEvent : Foundation.NSObject {
	// constructors
	protected PhaseSoundEvent (Foundation.NSObjectFlag t);
	protected PhaseSoundEvent (IntPtr handle);
	public PhaseSoundEvent (PhaseEngine engine, string assetIdentifier, out Foundation.NSError error);
	public PhaseSoundEvent (PhaseEngine engine, string assetIdentifier, PhaseMixerParameters mixerParameters, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Indefinite { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseMetaParameter> MetaParameters { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseMixer> Mixers { get; }
	public virtual PhaseSoundEventPrepareState PrepareState { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhasePushStreamNode> PushStreamNodes { get; }
	public virtual PhaseRenderingState RenderingState { get; }
	// methods
	public virtual void Pause ();
	public virtual void Prepare (System.Action<PhaseSoundEventPrepareHandlerReason> completionBlock);
	public virtual bool Prepare (out Foundation.NSError error);
	public virtual System.Threading.Tasks.Task<PhaseSoundEventPrepareHandlerReason> PrepareAsync ();
	public virtual void Resume ();
	public virtual bool Seek (double time, System.Action<PhaseSoundEventSeekHandlerReason> completionHandler);
	public virtual System.Threading.Tasks.Task<PhaseSoundEventSeekHandlerReason> SeekAsync (double time);
	public virtual System.Threading.Tasks.Task<PhaseSoundEventSeekHandlerReason> SeekAsync (double time, out bool result);
	public virtual bool Start (System.Action<PhaseSoundEventStartHandlerReason> completionBlock);
	public virtual bool Start (out Foundation.NSError error);
	public virtual System.Threading.Tasks.Task<PhaseSoundEventStartHandlerReason> StartAsync ();
	public virtual System.Threading.Tasks.Task<PhaseSoundEventStartHandlerReason> StartAsync (out bool result);
	public virtual void StopAndInvalidate ();
}

New Type: Phase.PhaseSoundEventError

[Serializable]
public enum PhaseSoundEventError {
	ApiMisuse = 1346925668,
	BadData = 1346925666,
	InvalidInstance = 1346925667,
	NotFound = 1346925665,
	OutOfMemory = 1346925670,
	SystemNotInitialized = 1346925669,
}

New Type: Phase.PhaseSoundEventErrorExtensions

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

New Type: Phase.PhaseSoundEventNodeAsset

public class PhaseSoundEventNodeAsset : Phase.PhaseAsset {
	// constructors
	protected PhaseSoundEventNodeAsset (Foundation.NSObjectFlag t);
	protected PhaseSoundEventNodeAsset (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseSoundEventNodeDefinition

public class PhaseSoundEventNodeDefinition : Phase.PhaseDefinition {
	// constructors
	protected PhaseSoundEventNodeDefinition (Foundation.NSObjectFlag t);
	protected PhaseSoundEventNodeDefinition (IntPtr handle);
	// properties
	public virtual PhaseSoundEventNodeDefinition[] Children { get; }
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseSoundEventPrepareHandlerReason

[Serializable]
public enum PhaseSoundEventPrepareHandlerReason {
	Error = 0,
	Prepared = 1,
	Terminated = 2,
}

New Type: Phase.PhaseSoundEventPrepareState

[Serializable]
public enum PhaseSoundEventPrepareState {
	InProgress = 1,
	NotStarted = 0,
	Prepared = 2,
}

New Type: Phase.PhaseSoundEventSeekHandlerReason

[Serializable]
public enum PhaseSoundEventSeekHandlerReason {
	Error = 0,
	ErrorSeekAlreadyInProgress = 1,
	SeekSuccessful = 2,
}

New Type: Phase.PhaseSoundEventStartHandlerReason

[Serializable]
public enum PhaseSoundEventStartHandlerReason {
	Error = 0,
	FinishedPlaying = 1,
	Terminated = 2,
}

New Type: Phase.PhaseSource

public class PhaseSource : Phase.PhaseObject {
	// constructors
	protected PhaseSource (Foundation.NSObjectFlag t);
	public PhaseSource (PhaseEngine engine);
	protected PhaseSource (IntPtr handle);
	public PhaseSource (PhaseEngine engine, PhaseShape[] shapes);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Gain { get; set; }
	public virtual PhaseShape[] Shapes { get; }
}

New Type: Phase.PhaseSpatialCategory

[Serializable]
public enum PhaseSpatialCategory {
	DirectPathTransmission = 0,
	EarlyReflections = 1,
	LateReverb = 2,
}

New Type: Phase.PhaseSpatialCategoryExtensions

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

New Type: Phase.PhaseSpatialMixerDefinition

public class PhaseSpatialMixerDefinition : Phase.PhaseMixerDefinition {
	// constructors
	protected PhaseSpatialMixerDefinition (Foundation.NSObjectFlag t);
	public PhaseSpatialMixerDefinition (PhaseSpatialPipeline spatialPipeline);
	protected PhaseSpatialMixerDefinition (IntPtr handle);
	public PhaseSpatialMixerDefinition (PhaseSpatialPipeline spatialPipeline, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseDistanceModelParameters DistanceModelParameters { get; set; }
	public virtual PhaseDirectivityModelParameters ListenerDirectivityModelParameters { get; set; }
	public virtual PhaseDirectivityModelParameters SourceDirectivityModelParameters { get; set; }
	public virtual PhaseSpatialPipeline SpatialPipeline { get; }
}

New Type: Phase.PhaseSpatialPipeline

public class PhaseSpatialPipeline : Foundation.NSObject {
	// constructors
	protected PhaseSpatialPipeline (Foundation.NSObjectFlag t);
	public PhaseSpatialPipeline (PhaseSpatialPipelineFlags flags);
	protected PhaseSpatialPipeline (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Phase.PhaseSpatialPipelineEntry> Entries { get; }
	public virtual PhaseSpatialPipelineFlags Flags { get; }
}

New Type: Phase.PhaseSpatialPipelineEntry

public class PhaseSpatialPipelineEntry : Foundation.NSObject {
	// constructors
	protected PhaseSpatialPipelineEntry (Foundation.NSObjectFlag t);
	protected PhaseSpatialPipelineEntry (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double SendLevel { get; set; }
	public virtual PhaseNumberMetaParameterDefinition SendLevelMetaParameterDefinition { get; set; }
}

New Type: Phase.PhaseSpatialPipelineFlags

[Serializable]
[Flags]
public enum PhaseSpatialPipelineFlags {
	DirectPathTransmission = 1,
	EarlyReflections = 2,
	LateReverb = 4,
}

New Type: Phase.PhaseSpatializationMode

[Serializable]
public enum PhaseSpatializationMode {
	AlwaysUseBinaural = 1,
	AlwaysUseChannelBased = 2,
	Automatic = 0,
}

New Type: Phase.PhaseStringMetaParameter

public class PhaseStringMetaParameter : Phase.PhaseMetaParameter {
	// constructors
	protected PhaseStringMetaParameter (Foundation.NSObjectFlag t);
	protected PhaseStringMetaParameter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseStringMetaParameterDefinition

public class PhaseStringMetaParameterDefinition : Phase.PhaseMetaParameterDefinition {
	// constructors
	protected PhaseStringMetaParameterDefinition (Foundation.NSObjectFlag t);
	protected PhaseStringMetaParameterDefinition (IntPtr handle);
	public PhaseStringMetaParameterDefinition (string value);
	public PhaseStringMetaParameterDefinition (string value, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: Phase.PhaseSwitchNodeDefinition

public class PhaseSwitchNodeDefinition : Phase.PhaseSoundEventNodeDefinition {
	// constructors
	protected PhaseSwitchNodeDefinition (Foundation.NSObjectFlag t);
	public PhaseSwitchNodeDefinition (PhaseStringMetaParameterDefinition switchMetaParameterDefinition);
	protected PhaseSwitchNodeDefinition (IntPtr handle);
	public PhaseSwitchNodeDefinition (PhaseStringMetaParameterDefinition switchMetaParameterDefinition, string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseStringMetaParameterDefinition SwitchMetaParameterDefinition { get; }
	// methods
	public virtual void AddSubtree (PhaseSoundEventNodeDefinition subtree, string switchValue);
}

New Type: Phase.PhaseUpdateMode

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

New Namespace Symbols

New Type: Symbols.NSSymbolAppearEffect

public class NSSymbolAppearEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolAppearEffect (Foundation.NSCoder coder);
	protected NSSymbolAppearEffect (Foundation.NSObjectFlag t);
	protected NSSymbolAppearEffect (IntPtr handle);
	// properties
	public virtual NSSymbolAppearEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolAppearEffect WholeSymbol { get; }
	// methods
	public static NSSymbolAppearEffect Create ();
	public static NSSymbolAppearEffect CreateAppearDownEffect ();
	public static NSSymbolAppearEffect CreateAppearUpEffect ();
}

New Type: Symbols.NSSymbolAutomaticContentTransition

public class NSSymbolAutomaticContentTransition : Symbols.NSSymbolContentTransition {
	// constructors
	public NSSymbolAutomaticContentTransition (Foundation.NSCoder coder);
	protected NSSymbolAutomaticContentTransition (Foundation.NSObjectFlag t);
	protected NSSymbolAutomaticContentTransition (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static NSSymbolAutomaticContentTransition Create ();
}

New Type: Symbols.NSSymbolBounceEffect

public class NSSymbolBounceEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolBounceEffect (Foundation.NSCoder coder);
	protected NSSymbolBounceEffect (Foundation.NSObjectFlag t);
	protected NSSymbolBounceEffect (IntPtr handle);
	// properties
	public virtual NSSymbolBounceEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolBounceEffect WholeSymbol { get; }
	// methods
	public static NSSymbolBounceEffect Create ();
	public static NSSymbolBounceEffect CreateBounceDownEffect ();
	public static NSSymbolBounceEffect CreateBounceUpEffect ();
}

New Type: Symbols.NSSymbolContentTransition

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

New Type: Symbols.NSSymbolDisappearEffect

public class NSSymbolDisappearEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolDisappearEffect (Foundation.NSCoder coder);
	protected NSSymbolDisappearEffect (Foundation.NSObjectFlag t);
	protected NSSymbolDisappearEffect (IntPtr handle);
	// properties
	public virtual NSSymbolDisappearEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolDisappearEffect WholeSymbol { get; }
	// methods
	public static NSSymbolDisappearEffect Create ();
	public static NSSymbolDisappearEffect CreateDisappearDownEffect ();
	public static NSSymbolDisappearEffect CreateDisappearUpEffect ();
}

New Type: Symbols.NSSymbolEffect

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

New Type: Symbols.NSSymbolEffectOptions

public class NSSymbolEffectOptions : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public NSSymbolEffectOptions (Foundation.NSCoder coder);
	protected NSSymbolEffectOptions (Foundation.NSObjectFlag t);
	protected NSSymbolEffectOptions (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static NSSymbolEffectOptions Create ();
	public static NSSymbolEffectOptions Create (double speed);
	public static NSSymbolEffectOptions Create (nint repeatCount);
	public static NSSymbolEffectOptions CreateNonRepeating ();
	public static NSSymbolEffectOptions CreateRepeating ();
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual NSSymbolEffectOptions Get (double speed);
	public virtual NSSymbolEffectOptions Get (nint repeatCount);
	public virtual NSSymbolEffectOptions GetNonRepeating ();
	public virtual NSSymbolEffectOptions GetRepeating ();
}

New Type: Symbols.NSSymbolPulseEffect

public class NSSymbolPulseEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolPulseEffect (Foundation.NSCoder coder);
	protected NSSymbolPulseEffect (Foundation.NSObjectFlag t);
	protected NSSymbolPulseEffect (IntPtr handle);
	// properties
	public virtual NSSymbolPulseEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolPulseEffect WholeSymbol { get; }
	// methods
	public static NSSymbolPulseEffect Create ();
}

New Type: Symbols.NSSymbolReplaceContentTransition

public class NSSymbolReplaceContentTransition : Symbols.NSSymbolContentTransition {
	// constructors
	public NSSymbolReplaceContentTransition (Foundation.NSCoder coder);
	protected NSSymbolReplaceContentTransition (Foundation.NSObjectFlag t);
	protected NSSymbolReplaceContentTransition (IntPtr handle);
	// properties
	public virtual NSSymbolReplaceContentTransition ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolReplaceContentTransition WholeSymbol { get; }
	// methods
	public static NSSymbolReplaceContentTransition Create ();
	public static NSSymbolReplaceContentTransition CreateReplaceDownUpTransition ();
	public static NSSymbolReplaceContentTransition CreateReplaceOffUpTransition ();
	public static NSSymbolReplaceContentTransition CreateReplaceUpUpTransition ();
}

New Type: Symbols.NSSymbolScaleEffect

public class NSSymbolScaleEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolScaleEffect (Foundation.NSCoder coder);
	protected NSSymbolScaleEffect (Foundation.NSObjectFlag t);
	protected NSSymbolScaleEffect (IntPtr handle);
	// properties
	public virtual NSSymbolScaleEffect ByLayer { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolScaleEffect WholeSymbol { get; }
	// methods
	public static NSSymbolScaleEffect Create ();
	public static NSSymbolScaleEffect CreateScaleDownEffect ();
	public static NSSymbolScaleEffect CreateScaleUpEffect ();
}

New Type: Symbols.NSSymbolVariableColorEffect

public class NSSymbolVariableColorEffect : Symbols.NSSymbolEffect {
	// constructors
	public NSSymbolVariableColorEffect (Foundation.NSCoder coder);
	protected NSSymbolVariableColorEffect (Foundation.NSObjectFlag t);
	protected NSSymbolVariableColorEffect (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSSymbolVariableColorEffect Cumulative { get; }
	public virtual NSSymbolVariableColorEffect DimInactiveLayers { get; }
	public virtual NSSymbolVariableColorEffect HideInactiveLayers { get; }
	public virtual NSSymbolVariableColorEffect Iterative { get; }
	public virtual NSSymbolVariableColorEffect NonReversing { get; }
	public virtual NSSymbolVariableColorEffect Reversing { get; }
	// methods
	public static NSSymbolVariableColorEffect Create ();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment