Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created October 4, 2021 21:15
Show Gist options
  • Save vs-mobiletools-engineering-service2/89070473f16c6801dd5c37672abfa8d2 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/89070473f16c6801dd5c37672abfa8d2 to your computer and use it in GitHub Desktop.
macOS API diff from stable
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.Mac SDK API diff: 7.10.0 vs 8.1.0
List of API changes between Xamarin.Mac versions 7.10.0 and 8.1.0.
spouliot
sepoulio
10/4/2021
article
762d98b5-8021-f52e-84e0-49c1e13b0e01
xamarin

Xamarin.Mac SDK API diff: 7.10.0 vs 8.1.0

Namespace AVFoundation

Type Changed: AVFoundation.AVAsset

Added methods:

public virtual void FindUnusedTrackId (System.Action<System.Int32,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<int> FindUnusedTrackIdAsync ();
public virtual void LoadChapterMetadataGroups (string[] bestMatchingPreferredLanguages, System.Action<Foundation.NSArray<AVTimedMetadataGroup>> completionHandler);
public virtual void LoadChapterMetadataGroups (Foundation.NSLocale titleLocale, string[] commonKeys, System.Action<Foundation.NSArray<AVTimedMetadataGroup>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVTimedMetadataGroup>> LoadChapterMetadataGroupsAsync (string[] bestMatchingPreferredLanguages);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVTimedMetadataGroup>> LoadChapterMetadataGroupsAsync (Foundation.NSLocale titleLocale, string[] commonKeys);
public virtual void LoadMediaSelectionGroup (string mediaCharacteristic, System.Action<AVMediaSelectionGroup,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<AVMediaSelectionGroup> LoadMediaSelectionGroupAsync (string mediaCharacteristic);
public virtual void LoadMetadata (string format, System.Action<Foundation.NSArray<AVMetadataItem>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVMetadataItem>> LoadMetadataAsync (string format);
public virtual void LoadTrack (int trackId, System.Action<AVCompositionTrack,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<AVCompositionTrack> LoadTrackAsync (int trackId);
public virtual void LoadTrackWithMediaCharacteristics (string mediaCharacteristic, System.Action<Foundation.NSArray<AVCompositionTrack>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVCompositionTrack>> LoadTrackWithMediaCharacteristicsAsync (string mediaCharacteristic);
public virtual void LoadTracksWithMediaType (string mediaType, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaTypeAsync (string mediaType);

Type Changed: AVFoundation.AVAssetTrack

Added methods:

public virtual void LoadAssociatedTracks (string trackAssociationType, System.Action<Foundation.NSArray<AVAssetTrack>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVAssetTrack>> LoadAssociatedTracksAsync (string trackAssociationType);
public virtual void LoadMetadata (string format, System.Action<Foundation.NSArray<AVMetadataItem>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVMetadataItem>> LoadMetadataAsync (string format);
public virtual void LoadSamplePresentationTime (CoreMedia.CMTime trackTime, System.Action<CoreMedia.CMTime,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<CoreMedia.CMTime> LoadSamplePresentationTimeAsync (CoreMedia.CMTime trackTime);
public virtual void LoadSegment (CoreMedia.CMTime trackTime, System.Action<AVAssetTrackSegment,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<AVAssetTrackSegment> LoadSegmentAsync (CoreMedia.CMTime trackTime);

Type Changed: AVFoundation.AVAsynchronousVideoCompositionRequest

Added property:

public virtual int[] SourceSampleDataTrackIds { get; }

Added methods:

public virtual CoreMedia.CMSampleBuffer GetSourceSampleBuffer (int trackId);
public virtual AVTimedMetadataGroup GetSourceTimedMetadata (int trackId);

Type Changed: AVFoundation.AVAudioPcmBuffer

Added constructor:

public AVAudioPcmBuffer (AVAudioFormat format, AudioToolbox.AudioBuffers bufferList, System.Action<AudioToolbox.AudioBuffers> deallocator);

Type Changed: AVFoundation.AVAudioUnitSampler

Added property:

public virtual float OverallGain { get; set; }

Type Changed: AVFoundation.AVCaptureDevice

Added properties:

public static AVCaptureMicrophoneMode ActiveMicrophoneMode { get; }
public virtual nint MinimumFocusDistance { get; }
public virtual bool PortraitEffectActive { get; }
public static bool PortraitEffectEnabled { get; }
public static AVCaptureMicrophoneMode PreferredMicrophoneMode { get; }

Added method:

public static void ShowSystemUserInterface (AVCaptureSystemUserInterface systemUserInterface);

Type Changed: AVFoundation.AVCaptureDeviceFormat

Added properties:

public virtual bool HighPhotoQualitySupported { get; }
public virtual bool PortraitEffectSupported { get; }
public virtual AVFrameRateRange VideoFrameRateRangeForPortraitEffect { get; }

Type Changed: AVFoundation.AVComposition_AVCompositionTrackInspection

Added methods:

public static void LoadTrack (this AVComposition This, int trackId, System.Action<AVMutableCompositionTrack,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVMutableCompositionTrack> LoadTrackAsync (this AVComposition This, int trackId);
public static void LoadTracksWithMediaCharacteristic (this AVComposition This, string mediaCharacteristic, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaCharacteristicAsync (this AVComposition This, string mediaCharacteristic);
public static void LoadTracksWithMediaType (this AVComposition This, string mediaType, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaTypeAsync (this AVComposition This, string mediaType);

Type Changed: AVFoundation.AVError

Added values:

OperationCancelled = -11878,
RequestCancelled = -11879,

Type Changed: AVFoundation.AVFileTypes

Added values:

AppleiTT = 21,
Scc = 22,

Type Changed: AVFoundation.AVFragmentedAsset_AVFragmentedAssetTrackInspection

Added methods:

public static void LoadTrack (this AVFragmentedAsset This, int trackId, System.Action<AVFragmentedAssetTrack,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVFragmentedAssetTrack> LoadTrackAsync (this AVFragmentedAsset This, int trackId);
public static void LoadTracksWithMediaCharacteristic (this AVFragmentedAsset This, string mediaCharacteristic, System.Action<Foundation.NSArray<AVFragmentedAssetTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVFragmentedAssetTrack>> LoadTracksWithMediaCharacteristicAsync (this AVFragmentedAsset This, string mediaCharacteristic);
public static void LoadTracksWithMediaType (this AVFragmentedAsset This, string mediaType, System.Action<Foundation.NSArray<AVFragmentedAssetTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVFragmentedAssetTrack>> LoadTracksWithMediaTypeAsync (this AVFragmentedAsset This, string mediaType);

Type Changed: AVFoundation.AVFragmentedMovie_AVFragmentedMovieTrackInspection

Added methods:

public static void LoadTrack (this AVFragmentedMovie This, int trackId, System.Action<AVMutableCompositionTrack,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVMutableCompositionTrack> LoadTrackAsync (this AVFragmentedMovie This, int trackId);
public static void LoadTracksWithMediaCharacteristic (this AVFragmentedMovie This, string mediaCharacteristic, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaCharacteristicAsync (this AVFragmentedMovie This, string mediaCharacteristic);
public static void LoadTracksWithMediaType (this AVFragmentedMovie This, string mediaType, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaTypeAsync (this AVFragmentedMovie This, string mediaType);

Type Changed: AVFoundation.AVMetadata

Added properties:

public static Foundation.NSString QuickTimeMetadataIsMontage { get; }
public static Foundation.NSString QuickTimeMetadataKeyIsMontage { get; }

Type Changed: AVFoundation.AVMovie

Added property:

public static Foundation.NSString ShouldSupportAliasDataReferencesKey { get; }

Type Changed: AVFoundation.AVMovie_AVMovieTrackInspection

Added methods:

public static void LoadTrack (this AVMovie This, int trackId, System.Action<AVMutableCompositionTrack,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVMutableCompositionTrack> LoadTrackAsync (this AVMovie This, int trackId);
public static void LoadTracksWithMediaCharacteristic (this AVMovie This, string mediaCharacteristic, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaCharacteristicAsync (this AVMovie This, string mediaCharacteristic);
public static void LoadTracksWithMediaType (this AVMovie This, string mediaType, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaTypeAsync (this AVMovie This, string mediaType);

Type Changed: AVFoundation.AVMutableComposition_AVMutableCompositionTrackInspection

Added methods:

public static void LoadTrack (this AVMutableComposition This, int trackId, System.Action<AVMutableCompositionTrack,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<AVMutableCompositionTrack> LoadTrackAsync (this AVMutableComposition This, int trackId);
public static void LoadTracksWithMediaCharacteristic (this AVMutableComposition This, string mediaCharacteristic, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaCharacteristicAsync (this AVMutableComposition This, string mediaCharacteristic);
public static void LoadTracksWithMediaType (this AVMutableComposition This, string mediaType, System.Action<Foundation.NSArray<AVMutableCompositionTrack>> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSArray<AVMutableCompositionTrack>> LoadTracksWithMediaTypeAsync (this AVMutableComposition This, string mediaType);

Type Changed: AVFoundation.AVMutableMovie

Added methods:

public virtual void LoadTrack (int trackId, System.Action<AVMovieTrack,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<AVMovieTrack> LoadTrackAsync (int trackId);
public virtual void LoadTracksWithMediaCharacteristic (string mediaCharacteristic, System.Action<Foundation.NSArray<AVMovieTrack>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVMovieTrack>> LoadTracksWithMediaCharacteristicAsync (string mediaCharacteristic);
public virtual void LoadTracksWithMediaType (string mediaType, System.Action<Foundation.NSArray<AVMovieTrack>> completionHandler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<AVMovieTrack>> LoadTracksWithMediaTypeAsync (string mediaType);

Type Changed: AVFoundation.AVMutableVideoComposition

Added property:

public virtual int[] SourceSampleDataTrackIds { get; set; }

Type Changed: AVFoundation.AVMutableVideoCompositionInstruction

Added property:

public virtual int[] RequiredSourceSampleDataTrackIds { get; set; }

Type Changed: AVFoundation.AVPlayer

Added properties:

public static Foundation.NSString AVPlayerWaitingForCoordinatedPlaybackReason { get; }
public virtual AVPlayerAudiovisualBackgroundPlaybackPolicy AudiovisualBackgroundPlaybackPolicy { get; set; }
public virtual AVPlayerPlaybackCoordinator PlaybackCoordinator { get; }
public static Foundation.NSString RateDidChangeNotification { get; }
public virtual CoreMedia.CMClock SourceClock { get; set; }

Type Changed: AVFoundation.AVPlayer.Notifications

Added methods:

public static Foundation.NSObject ObserveRateDidChange (System.EventHandler<AVPlayerRateDidChangeEventArgs> handler);
public static Foundation.NSObject ObserveRateDidChange (Foundation.NSObject objectToObserve, System.EventHandler<AVPlayerRateDidChangeEventArgs> handler);

Type Changed: AVFoundation.AVPlayerInterstitialEvent

Obsoleted properties:

 [Obsolete ("Use 'TemplateItems' instead.")]
 public virtual AVPlayerItem[] InterstitialTemplateItems { get; }

Added properties:

public virtual string Identifier { get; }
public virtual CoreMedia.CMTime PlayoutLimit { get; }
public virtual Foundation.NSDictionary UserDefinedAttributes { get; }

Removed methods:

public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, CoreMedia.CMTime time, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, Foundation.NSDate date, AVPlayerItem[] interstitialTemplateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset);

Added methods:

public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, string identifier, CoreMedia.CMTime time, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset, CoreMedia.CMTime playoutLimit, Foundation.NSDictionary userDefinedAttributes);
public static AVPlayerInterstitialEvent GetPlayerInterstitialEvent (AVPlayerItem primaryItem, string identifier, Foundation.NSDate date, AVPlayerItem[] templateItems, AVPlayerInterstitialEventRestrictions restrictions, CoreMedia.CMTime resumptionOffset, CoreMedia.CMTime playoutLimit, Foundation.NSDictionary userDefinedAttributes);

Type Changed: AVFoundation.AVPlayerInterstitialEventController

Modified base type:

-AVFoundation.AVPlayerInterstitialEventObserver
+AVFoundation.AVPlayerInterstitialEventMonitor

Obsoleted properties:

 [Obsolete ("Use 'Events' instead.")]
 public virtual AVPlayerInterstitialEvent[] InterstitialEvents { get; set; }

Obsoleted methods:

 [Obsolete ("Use 'GetInterstitialEventController' instead.")]
 public static AVPlayerInterstitialEventController GetPlayerInterstitialEventController (AVPlayer primaryPlayer);

Type Changed: AVFoundation.AVPlayerInterstitialEventObserver

Removed methods:

protected override void Dispose (bool disposing);
public static AVPlayerInterstitialEventObserver GetInterstitialEventObserver (AVPlayer primaryPlayer);
public static AVPlayerInterstitialEventObserver GetPlayerInterstitialEventObserver (AVPlayer primaryPlayer);

Type Changed: AVFoundation.AVPlayerItem

Added properties:

public virtual CoreGraphics.CGSize PreferredMaximumResolutionForExpensiveNetworks { get; set; }
public virtual double PreferredPeakBitRateForExpensiveNetworks { get; set; }

Added method:

public virtual Foundation.NSObject Copy ();

Type Changed: AVFoundation.AVPlayerItem.Notifications

Removed methods:

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

Added methods:

public static Foundation.NSObject ObserveTimeJumped (System.EventHandler<AVPlayerItemTimeJumpedEventArgs> handler);
public static Foundation.NSObject ObserveTimeJumped (Foundation.NSObject objectToObserve, System.EventHandler<AVPlayerItemTimeJumpedEventArgs> handler);

Type Changed: AVFoundation.AVSampleBufferAudioRenderer

Added properties:

public virtual AVAudioSpatializationFormats AllowedAudioSpatializationFormats { get; set; }
public static Foundation.NSString ConfigurationDidChangeNotification { get; }

Type Changed: AVFoundation.AVSampleBufferAudioRenderer.Notifications

Added methods:

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

Type Changed: AVFoundation.AVSampleCursor

Added property:

public virtual Foundation.NSDictionary CurrentSampleDependencyAttachments { get; }

Type Changed: AVFoundation.AVSpeechSynthesizer

Added property:

public virtual bool UsesApplicationAudioSession { get; set; }

Type Changed: AVFoundation.AVUrlAsset

Added properties:

public static Foundation.NSString RequestAttributionKey { get; }
public static Foundation.NSString ShouldSupportAliasDataReferencesKey { get; }
public virtual AVAssetVariant[] Variants { get; }

Added methods:

public virtual void FindCompatibleTrack (AVCompositionTrack compositionTrack, System.Action<AVAssetTrack,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<AVAssetTrack> FindCompatibleTrackAsync (AVCompositionTrack compositionTrack);

Type Changed: AVFoundation.AVVideoCompositing

Added property:

public virtual bool CanConformColorOfSourceFrames { get; }

Type Changed: AVFoundation.AVVideoCompositing_Extensions

Added method:

public static bool GetCanConformColorOfSourceFrames (this IAVVideoCompositing This);

Type Changed: AVFoundation.AVVideoComposition

Added property:

public virtual int[] SourceSampleDataTrackIds { get; }

Type Changed: AVFoundation.AVVideoCompositionInstruction

Added property:

public virtual int[] RequiredSourceSampleDataTrackIds { get; }

New Type: AVFoundation.AVAggregateAssetDownloadTask

public class AVAggregateAssetDownloadTask : Foundation.NSUrlSessionTask, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSProgressReporting, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAggregateAssetDownloadTask (Foundation.NSObjectFlag t);
	protected AVAggregateAssetDownloadTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVUrlAsset UrlAsset { get; }
}

New Type: AVFoundation.AVAssetDownloadConfiguration

public class AVAssetDownloadConfiguration : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetDownloadConfiguration (Foundation.NSObjectFlag t);
	protected AVAssetDownloadConfiguration (IntPtr handle);
	// properties
	public virtual Foundation.NSData ArtworkData { get; set; }
	public virtual AVAssetDownloadContentConfiguration[] AuxiliaryContentConfigurations { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual bool OptimizesAuxiliaryContentConfigurations { get; set; }
	public virtual AVAssetDownloadContentConfiguration PrimaryContentConfiguration { get; }
	// methods
	public static AVAssetDownloadConfiguration Create (AVUrlAsset asset, string title);
}

New Type: AVFoundation.AVAssetDownloadContentConfiguration

public class AVAssetDownloadContentConfiguration : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAssetDownloadContentConfiguration ();
	protected AVAssetDownloadContentConfiguration (Foundation.NSObjectFlag t);
	protected AVAssetDownloadContentConfiguration (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVMediaSelection[] MediaSelections { get; set; }
	public virtual AVAssetVariantQualifier[] VariantQualifiers { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVAssetDownloadDelegate

public class AVAssetDownloadDelegate : Foundation.NSObject, IAVAssetDownloadDelegate, Foundation.INSObjectProtocol, Foundation.INSUrlSessionDelegate, Foundation.INSUrlSessionTaskDelegate, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAssetDownloadDelegate ();
	protected AVAssetDownloadDelegate (Foundation.NSObjectFlag t);
	protected AVAssetDownloadDelegate (IntPtr handle);
	// methods
	public virtual void DidCompleteForMediaSelection (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, AVMediaSelection mediaSelection);
	public virtual void DidCompleteWithError (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSError error);
	public virtual void DidFinishCollectingMetrics (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSUrlSessionTaskMetrics metrics);
	public virtual void DidFinishDownloadingToUrl (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, Foundation.NSUrl location);
	public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad);
	public virtual void DidLoadTimeRange (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad, AVMediaSelection mediaSelection);
	public virtual void DidReceiveChallenge (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSUrlAuthenticationChallenge challenge, System.Action<Foundation.NSUrlSessionAuthChallengeDisposition,Foundation.NSUrlCredential> completionHandler);
	public virtual void DidResolveMediaSelection (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVMediaSelection resolvedMediaSelection);
	public virtual void DidSendBodyData (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, long bytesSent, long totalBytesSent, long totalBytesExpectedToSend);
	public virtual void NeedNewBodyStream (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, System.Action<Foundation.NSInputStream> completionHandler);
	public virtual void TaskIsWaitingForConnectivity (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task);
	public virtual void WillBeginDelayedRequest (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSUrlRequest request, System.Action<Foundation.NSUrlSessionDelayedRequestDisposition,Foundation.NSUrlRequest> completionHandler);
	public virtual void WillDownloadToUrl (Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, Foundation.NSUrl location);
	public virtual void WillDownloadVariants (Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVAssetVariant[] variants);
	public virtual void WillPerformHttpRedirection (Foundation.NSUrlSession session, Foundation.NSUrlSessionTask task, Foundation.NSHttpUrlResponse response, Foundation.NSUrlRequest newRequest, System.Action<Foundation.NSUrlRequest> completionHandler);
}

New Type: AVFoundation.AVAssetDownloadDelegate_Extensions

public static class AVAssetDownloadDelegate_Extensions {
	// methods
	public static void DidCompleteForMediaSelection (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, AVMediaSelection mediaSelection);
	public static void DidFinishDownloadingToUrl (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, Foundation.NSUrl location);
	public static void DidLoadTimeRange (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad);
	public static void DidLoadTimeRange (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, CoreMedia.CMTimeRange timeRange, Foundation.NSValue[] loadedTimeRanges, CoreMedia.CMTimeRange timeRangeExpectedToLoad, AVMediaSelection mediaSelection);
	public static void DidResolveMediaSelection (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVMediaSelection resolvedMediaSelection);
	public static void WillDownloadToUrl (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAggregateAssetDownloadTask aggregateAssetDownloadTask, Foundation.NSUrl location);
	public static void WillDownloadVariants (this IAVAssetDownloadDelegate This, Foundation.NSUrlSession session, AVAssetDownloadTask assetDownloadTask, AVAssetVariant[] variants);
}

New Type: AVFoundation.AVAssetDownloadOptions

public class AVAssetDownloadOptions : Foundation.DictionaryContainer {
	// constructors
	public AVAssetDownloadOptions ();
	public AVAssetDownloadOptions (Foundation.NSDictionary dictionary);
	// properties
	public AVMediaSelection MediaSelection { get; set; }
	public bool? MediaSelectionPrefersMultichannel { get; set; }
	public Foundation.NSNumber MinimumRequiredMediaBitrate { get; set; }
	public CoreGraphics.CGSize? MinimumRequiredPresentationSize { get; set; }
	public bool? PrefersHdr { get; set; }
}

New Type: AVFoundation.AVAssetDownloadStorageManagementPolicy

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

New Type: AVFoundation.AVAssetDownloadStorageManager

public class AVAssetDownloadStorageManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetDownloadStorageManager (Foundation.NSObjectFlag t);
	protected AVAssetDownloadStorageManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static AVAssetDownloadStorageManager SharedDownloadStorageManager { get; }
	// methods
	public virtual AVAssetDownloadStorageManagementPolicy GetStorageManagementPolicy (Foundation.NSUrl downloadStorageUrl);
	public virtual void SetStorageManagementPolicy (AVAssetDownloadStorageManagementPolicy storageManagementPolicy, Foundation.NSUrl downloadStorageUrl);
}

New Type: AVFoundation.AVAssetDownloadTask

public class AVAssetDownloadTask : Foundation.NSUrlSessionTask, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSProgressReporting, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetDownloadTask (Foundation.NSObjectFlag t);
	protected AVAssetDownloadTask (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSValue[] LoadedTimeRanges { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> Options { get; }
	public virtual AVUrlAsset UrlAsset { get; }
}

New Type: AVFoundation.AVAssetDownloadUrlSession

public class AVAssetDownloadUrlSession : Foundation.NSUrlSession, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetDownloadUrlSession (Foundation.NSObjectFlag t);
	protected AVAssetDownloadUrlSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static AVAssetDownloadUrlSession CreateSession (Foundation.NSUrlSessionConfiguration configuration, IAVAssetDownloadDelegate delegate, Foundation.NSOperationQueue delegateQueue);
	public virtual AVAssetDownloadTask GetAssetDownloadTask (AVAssetDownloadConfiguration downloadConfiguration);
	public AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, Foundation.NSUrl destinationUrl, AVAssetDownloadOptions options);
	public virtual AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, Foundation.NSUrl destinationUrl, Foundation.NSDictionary options);
	public AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, string title, Foundation.NSData artworkData, AVAssetDownloadOptions options);
	public virtual AVAssetDownloadTask GetAssetDownloadTask (AVUrlAsset urlAsset, string title, Foundation.NSData artworkData, Foundation.NSDictionary options);
	public virtual AVAggregateAssetDownloadTask GetAssetDownloadTask (AVUrlAsset URLAsset, AVMediaSelection[] mediaSelections, string title, Foundation.NSData artworkData, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> options);
}

New Type: AVFoundation.AVAssetDownloadedAssetEvictionPriority

[Serializable]
public enum AVAssetDownloadedAssetEvictionPriority {
	Default = 0,
	Important = 1,
}

New Type: AVFoundation.AVAssetDownloadedAssetEvictionPriorityExtensions

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

New Type: AVFoundation.AVAssetReaderCaptionValidationHandling_Extensions

public static class AVAssetReaderCaptionValidationHandling_Extensions {
	// methods
	public static void DidVendCaption (this IAVAssetReaderCaptionValidationHandling This, AVAssetReaderOutputCaptionAdaptor adaptor, AVCaption caption, string[] syntaxElements);
}

New Type: AVFoundation.AVAssetReaderOutputCaptionAdaptor

public class AVAssetReaderOutputCaptionAdaptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAssetReaderOutputCaptionAdaptor (AVAssetReaderTrackOutput trackOutput);
	protected AVAssetReaderOutputCaptionAdaptor (Foundation.NSObjectFlag t);
	protected AVAssetReaderOutputCaptionAdaptor (IntPtr handle);
	// properties
	public virtual AVAssetReaderTrackOutput AssetReaderTrackOutput { get; }
	public override IntPtr ClassHandle { get; }
	public IAVAssetReaderCaptionValidationHandling ValidationDelegate { get; set; }
	public virtual Foundation.NSObject WeakValidationDelegate { get; set; }
	// methods
	public static AVAssetReaderOutputCaptionAdaptor Create (AVAssetReaderTrackOutput trackOutput);
	protected override void Dispose (bool disposing);
	public virtual AVCaption[] GetCaptionsNotPresentInPreviousGroups (AVCaptionGroup captionGroup);
	public virtual AVCaptionGroup GetNextCaptionGroup ();
}

New Type: AVFoundation.AVAssetVariant

public class AVAssetVariant : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetVariant (Foundation.NSObjectFlag t);
	protected AVAssetVariant (IntPtr handle);
	// properties
	public virtual AVAssetVariantAudioAttributes AudioAttributes { get; }
	public virtual double AverageBitRate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual double PeakBitRate { get; }
	public virtual AVAssetVariantVideoAttributes VideoAttributes { get; }
}

New Type: AVFoundation.AVAssetVariantAudioAttributes

public class AVAssetVariantAudioAttributes : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetVariantAudioAttributes (Foundation.NSObjectFlag t);
	protected AVAssetVariantAudioAttributes (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber[] FormatIds { get; }
	// methods
	public virtual AVAssetVariantAudioRenditionSpecificAttributes GetRenditionSpecificAttributes (AVMediaSelectionOption mediaSelectionOption);
}

New Type: AVFoundation.AVAssetVariantAudioRenditionSpecificAttributes

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

New Type: AVFoundation.AVAssetVariantQualifier

public class AVAssetVariantQualifier : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetVariantQualifier (Foundation.NSObjectFlag t);
	protected AVAssetVariantQualifier (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AVAssetVariantQualifier Create (AVAssetVariant variant);
	public static AVAssetVariantQualifier Create (Foundation.NSPredicate predicate);
	public static Foundation.NSPredicate GetPredicate (nint channelCount, AVMediaSelectionOption mediaSelectionOption, Foundation.NSPredicateOperatorType operatorType);
}

New Type: AVFoundation.AVAssetVariantVideoAttributes

public class AVAssetVariantVideoAttributes : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVAssetVariantVideoAttributes (Foundation.NSObjectFlag t);
	protected AVAssetVariantVideoAttributes (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber[] CodecTypes { get; }
	public virtual double NominalFrameRate { get; }
	public virtual CoreGraphics.CGSize PresentationSize { get; }
	public virtual string VideoRange { get; }
}

New Type: AVFoundation.AVAssetWriterInputCaptionAdaptor

public class AVAssetWriterInputCaptionAdaptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVAssetWriterInputCaptionAdaptor (AVAssetWriterInput input);
	protected AVAssetWriterInputCaptionAdaptor (Foundation.NSObjectFlag t);
	protected AVAssetWriterInputCaptionAdaptor (IntPtr handle);
	// properties
	public virtual AVAssetWriterInput AssetWriterInput { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool AppendCaption (AVCaption caption);
	public virtual bool AppendCaptionGroup (AVCaptionGroup captionGroup);
	public static AVAssetWriterInputCaptionAdaptor Create (AVAssetWriterInput input);
}

New Type: AVFoundation.AVCaption

public class AVCaption : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaption (Foundation.NSCoder coder);
	protected AVCaption (Foundation.NSObjectFlag t);
	protected AVCaption (IntPtr handle);
	public AVCaption (string text, CoreMedia.CMTimeRange timeRange);
	// properties
	public virtual AVCaptionAnimation Animation { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionRegion Region { get; }
	public virtual string Text { get; }
	public virtual AVCaptionTextAlignment TextAlignment { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual CoreGraphics.CGColor GetBackgroundColor (nint index, out Foundation.NSRange outRange);
	public virtual AVCaptionDecoration GetDecoration (nint index, out Foundation.NSRange outRange);
	public virtual AVCaptionFontStyle GetFontStyle (nint index, out Foundation.NSRange outRange);
	public virtual AVCaptionFontWeight GetFontWeight (nint index, out Foundation.NSRange outRange);
	public virtual AVCaptionRuby GetRuby (nint index, out Foundation.NSRange outRange);
	public virtual CoreGraphics.CGColor GetTextColor (nint index, out Foundation.NSRange outRange);
	public virtual AVCaptionTextCombine GetTextCombine (nint index, out Foundation.NSRange outRange);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVCaptionAnimation

[Serializable]
public enum AVCaptionAnimation {
	CharacterReveal = 1,
	None = 0,
}

New Type: AVFoundation.AVCaptionConversionAdjustment

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

New Type: AVFoundation.AVCaptionConversionAdjustmentType

[Serializable]
public enum AVCaptionConversionAdjustmentType {
	TimeRange = 0,
}

New Type: AVFoundation.AVCaptionConversionAdjustmentTypeExtensions

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

New Type: AVFoundation.AVCaptionConversionTimeRangeAdjustment

public class AVCaptionConversionTimeRangeAdjustment : AVFoundation.AVCaptionConversionAdjustment, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCaptionConversionTimeRangeAdjustment (Foundation.NSObjectFlag t);
	protected AVCaptionConversionTimeRangeAdjustment (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTime DurationOffset { get; }
	public virtual CoreMedia.CMTime StartTimeOffset { get; }
}

New Type: AVFoundation.AVCaptionConversionValidator

public class AVCaptionConversionValidator : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCaptionConversionValidator (Foundation.NSObjectFlag t);
	protected AVCaptionConversionValidator (IntPtr handle);
	public AVCaptionConversionValidator (AVCaption[] captions, CoreMedia.CMTimeRange timeRange, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> conversionSettings);
	// properties
	public virtual AVCaption[] Captions { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionConversionValidatorStatus Status { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	public virtual AVCaptionConversionWarning[] Warnings { get; }
	// methods
	public static AVCaptionConversionValidator Create (AVCaption[] captions, CoreMedia.CMTimeRange timeRange, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> conversionSettings);
	public virtual void StopValidating ();
	public virtual void ValidateCaptionConversion (System.Action<AVCaptionConversionWarning> handler);
}

New Type: AVFoundation.AVCaptionConversionValidatorStatus

[Serializable]
public enum AVCaptionConversionValidatorStatus {
	Completed = 2,
	Stopped = 3,
	Unknown = 0,
	Validating = 1,
}

New Type: AVFoundation.AVCaptionConversionWarning

public class AVCaptionConversionWarning : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCaptionConversionWarning (Foundation.NSObjectFlag t);
	protected AVCaptionConversionWarning (IntPtr handle);
	// properties
	public virtual AVCaptionConversionAdjustment Adjustment { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSRange RangeOfCaptions { get; }
	public virtual string WarningType { get; }
}

New Type: AVFoundation.AVCaptionConversionWarningType

[Serializable]
public enum AVCaptionConversionWarningType {
	ExcessMediaData = 0,
}

New Type: AVFoundation.AVCaptionConversionWarningTypeExtensions

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

New Type: AVFoundation.AVCaptionDecoration

[Serializable]
[Flags]
public enum AVCaptionDecoration {
	LineThrough = 2,
	None = 0,
	Overline = 4,
	Underline = 1,
}

New Type: AVFoundation.AVCaptionDimension

public struct AVCaptionDimension {
	// fields
	public nfloat Value;
	// properties
	public AVCaptionUnitsType Units { get; set; }
	// methods
	public static AVCaptionDimension Create (nfloat dimension, AVCaptionUnitsType units);
}

New Type: AVFoundation.AVCaptionFontStyle

[Serializable]
public enum AVCaptionFontStyle {
	Italic = 2,
	Normal = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVCaptionFontWeight

[Serializable]
public enum AVCaptionFontWeight {
	Bold = 2,
	Normal = 1,
	Unknown = 0,
}

New Type: AVFoundation.AVCaptionFormatConformer

public class AVCaptionFormatConformer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionFormatConformer (AVCaptionSettings conversionSettings);
	public AVCaptionFormatConformer (Foundation.NSDictionary conversionSettings);
	protected AVCaptionFormatConformer (Foundation.NSObjectFlag t);
	protected AVCaptionFormatConformer (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool ConformsCaptionsToTimeRange { get; set; }
	// methods
	public AVCaptionFormatConformer CreateFromSettings (AVCaptionSettings conversionSettings);
	public static AVCaptionFormatConformer CreateFromSettings (Foundation.NSDictionary conversionSettings);
	public virtual AVCaption GetConformedCaption (AVCaption caption, out Foundation.NSError outError);
}

New Type: AVFoundation.AVCaptionGroup

public class AVCaptionGroup : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionGroup (CoreMedia.CMTimeRange timeRange);
	protected AVCaptionGroup (Foundation.NSObjectFlag t);
	protected AVCaptionGroup (IntPtr handle);
	public AVCaptionGroup (AVCaption[] captions, CoreMedia.CMTimeRange timeRange);
	// properties
	public virtual AVCaption[] Captions { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
}

New Type: AVFoundation.AVCaptionGrouper

public class AVCaptionGrouper : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionGrouper ();
	protected AVCaptionGrouper (Foundation.NSObjectFlag t);
	protected AVCaptionGrouper (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void AddCaption (AVCaption input);
	public virtual AVCaptionGroup[] FlushAddedCaptionsIntoGroupsUpToTime (CoreMedia.CMTime upToTime);
}

New Type: AVFoundation.AVCaptionPoint

public struct AVCaptionPoint {
	// fields
	public AVCaptionDimension X;
	public AVCaptionDimension Y;
	// methods
	public static AVCaptionPoint Create (AVCaptionDimension x, AVCaptionDimension y);
}

New Type: AVFoundation.AVCaptionRegion

public class AVCaptionRegion : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionRegion ();
	public AVCaptionRegion (Foundation.NSCoder coder);
	protected AVCaptionRegion (Foundation.NSObjectFlag t);
	protected AVCaptionRegion (IntPtr handle);
	// properties
	public static AVCaptionRegion AppleIttBottomRegion { get; }
	public static AVCaptionRegion AppleIttLeftRegion { get; }
	public static AVCaptionRegion AppleIttRightRegion { get; }
	public static AVCaptionRegion AppleIttTopRegion { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionRegionDisplayAlignment DisplayAlignment { get; }
	public virtual string Identifier { get; }
	public virtual AVCaptionPoint Origin { get; }
	public virtual AVCaptionRegionScroll Scroll { get; }
	public virtual AVCaptionSize Size { get; }
	public static AVCaptionRegion SubRipTextBottomRegion { get; }
	public virtual AVCaptionRegionWritingMode WritingMode { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual Foundation.NSObject MutableCopy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVCaptionRegionDisplayAlignment

[Serializable]
public enum AVCaptionRegionDisplayAlignment {
	After = 2,
	Before = 0,
	Center = 1,
}

New Type: AVFoundation.AVCaptionRegionScroll

[Serializable]
public enum AVCaptionRegionScroll {
	None = 0,
	RollUp = 1,
}

New Type: AVFoundation.AVCaptionRegionWritingMode

[Serializable]
public enum AVCaptionRegionWritingMode {
	LeftToRightAndTopToBottom = 0,
	TopToBottomAndRightToLeft = 2,
}

New Type: AVFoundation.AVCaptionRenderer

public class AVCaptionRenderer : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionRenderer ();
	protected AVCaptionRenderer (Foundation.NSObjectFlag t);
	protected AVCaptionRenderer (IntPtr handle);
	// properties
	public virtual CoreGraphics.CGRect Bounds { get; set; }
	public virtual AVCaption[] Captions { get; set; }
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual AVCaptionRendererScene[] GetCaptionSceneChanges (CoreMedia.CMTimeRange consideredTimeRange);
	public virtual void Render (CoreGraphics.CGContext ctx, CoreMedia.CMTime time);
}

New Type: AVFoundation.AVCaptionRendererScene

public class AVCaptionRendererScene : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCaptionRendererScene (Foundation.NSObjectFlag t);
	protected AVCaptionRendererScene (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool HasActiveCaptions { get; }
	public virtual bool NeedsPeriodicRefresh { get; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AVFoundation.AVCaptionRuby

public class AVCaptionRuby : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCaptionRuby (Foundation.NSCoder coder);
	protected AVCaptionRuby (Foundation.NSObjectFlag t);
	protected AVCaptionRuby (IntPtr handle);
	public AVCaptionRuby (string text);
	public AVCaptionRuby (string text, AVCaptionRubyPosition position, AVCaptionRubyAlignment alignment);
	// properties
	public virtual AVCaptionRubyAlignment Alignment { get; }
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionRubyPosition Position { get; }
	public virtual string Text { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AVFoundation.AVCaptionRubyAlignment

[Serializable]
public enum AVCaptionRubyAlignment {
	Center = 1,
	DistributeSpaceAround = 3,
	DistributeSpaceBetween = 2,
	Start = 0,
}

New Type: AVFoundation.AVCaptionRubyPosition

[Serializable]
public enum AVCaptionRubyPosition {
	After = 1,
	Before = 0,
}

New Type: AVFoundation.AVCaptionSettings

public class AVCaptionSettings : Foundation.DictionaryContainer {
	// constructors
	public AVCaptionSettings ();
	public AVCaptionSettings (Foundation.NSDictionary dictionary);
	// properties
	public AVMediaTypes? MediaSubType { get; set; }
	public AVMediaTypes? MediaType { get; set; }
	public bool? UseDropFrameTimeCode { get; set; }
	public bool? UseTimeCodeFrameDuration { get; set; }
}

New Type: AVFoundation.AVCaptionSize

public struct AVCaptionSize {
	// fields
	public AVCaptionDimension Height;
	public AVCaptionDimension Width;
	// methods
	public static AVCaptionSize Create (AVCaptionDimension width, AVCaptionDimension height);
}

New Type: AVFoundation.AVCaptionTextAlignment

[Serializable]
public enum AVCaptionTextAlignment {
	Center = 2,
	End = 1,
	Left = 3,
	Right = 4,
	Start = 0,
}

New Type: AVFoundation.AVCaptionTextCombine

[Serializable]
public enum AVCaptionTextCombine {
	All = -1,
	FourDigits = 4,
	None = 0,
	OneDigit = 1,
	ThreeDigits = 3,
	TwoDigits = 2,
}

New Type: AVFoundation.AVCaptionUnitsType

[Serializable]
public enum AVCaptionUnitsType {
	Cells = 1,
	Percent = 2,
	Unspecified = 0,
}

New Type: AVFoundation.AVCaptureMicrophoneMode

[Serializable]
public enum AVCaptureMicrophoneMode {
	Standard = 0,
	VoiceIsolation = 2,
	WideSpectrum = 1,
}

New Type: AVFoundation.AVCaptureSystemUserInterface

[Serializable]
public enum AVCaptureSystemUserInterface {
	MicrophoneModes = 2,
	VideoEffects = 1,
}

New Type: AVFoundation.AVCoordinatedPlaybackParticipant

public class AVCoordinatedPlaybackParticipant : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVCoordinatedPlaybackParticipant ();
	protected AVCoordinatedPlaybackParticipant (Foundation.NSObjectFlag t);
	protected AVCoordinatedPlaybackParticipant (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSUuid Identifier { get; }
	public virtual bool ReadyToPlay { get; }
	public virtual string[] SuspensionReasons { get; }
}

New Type: AVFoundation.AVCoordinatedPlaybackSuspension

public class AVCoordinatedPlaybackSuspension : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVCoordinatedPlaybackSuspension (Foundation.NSObjectFlag t);
	protected AVCoordinatedPlaybackSuspension (IntPtr handle);
	// properties
	public virtual Foundation.NSDate BeginDate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Reason { get; }
	// methods
	public virtual void End ();
	public virtual void EndProposingNewTime (CoreMedia.CMTime time);
}

New Type: AVFoundation.AVCoordinatedPlaybackSuspensionReason

[Serializable]
public enum AVCoordinatedPlaybackSuspensionReason {
	AudioSessionInterrupted = 0,
	CoordinatedPlaybackNotPossible = 3,
	PlayingInterstitial = 2,
	StallRecovery = 1,
	UserActionRequired = 4,
	UserIsChangingCurrentTime = 5,
}

New Type: AVFoundation.AVCoordinatedPlaybackSuspensionReasonExtensions

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

New Type: AVFoundation.AVDelegatingPlaybackCoordinator

public class AVDelegatingPlaybackCoordinator : AVFoundation.AVPlaybackCoordinator, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVDelegatingPlaybackCoordinator (IAVPlaybackCoordinatorPlaybackControlDelegate playbackControlDelegate);
	protected AVDelegatingPlaybackCoordinator (Foundation.NSObjectFlag t);
	protected AVDelegatingPlaybackCoordinator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string CurrentItemIdentifier { get; }
	public IAVPlaybackCoordinatorPlaybackControlDelegate PlaybackControlDelegate { get; }
	public virtual Foundation.NSObject WeakPlaybackControlDelegate { get; }
	// methods
	public virtual void CoordinateRateChangeToRate (float rate, AVDelegatingPlaybackCoordinatorRateChangeOptions options);
	public virtual void CoordinateSeekToTime (CoreMedia.CMTime time, AVDelegatingPlaybackCoordinatorSeekOptions options);
	protected override void Dispose (bool disposing);
	public virtual void ReapplyCurrentItemStateToPlaybackControlDelegate ();
	public virtual void TransitionToItem (string itemIdentifier, CoreMedia.CMTimebase snapshotTimebase);
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorBufferingCommand

public class AVDelegatingPlaybackCoordinatorBufferingCommand : AVFoundation.AVDelegatingPlaybackCoordinatorPlaybackControlCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVDelegatingPlaybackCoordinatorBufferingCommand (Foundation.NSObjectFlag t);
	protected AVDelegatingPlaybackCoordinatorBufferingCommand (IntPtr handle);
	// properties
	public virtual float AnticipatedPlaybackRate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate CompletionDueDate { get; }
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorPauseCommand

public class AVDelegatingPlaybackCoordinatorPauseCommand : AVFoundation.AVDelegatingPlaybackCoordinatorPlaybackControlCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVDelegatingPlaybackCoordinatorPauseCommand (Foundation.NSObjectFlag t);
	protected AVDelegatingPlaybackCoordinatorPauseCommand (IntPtr handle);
	// properties
	public virtual float AnticipatedPlaybackRate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ShouldBufferInAnticipationOfPlayback { get; }
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorPlayCommand

public class AVDelegatingPlaybackCoordinatorPlayCommand : AVFoundation.AVDelegatingPlaybackCoordinatorPlaybackControlCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVDelegatingPlaybackCoordinatorPlayCommand (Foundation.NSObjectFlag t);
	protected AVDelegatingPlaybackCoordinatorPlayCommand (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTime HostClockTime { get; }
	public virtual CoreMedia.CMTime ItemTime { get; }
	public virtual float Rate { get; }
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorPlaybackControlCommand

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

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorRateChangeOptions

[Serializable]
[Flags]
public enum AVDelegatingPlaybackCoordinatorRateChangeOptions {
	None = 0,
	PlayImmediately = 1,
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorSeekCommand

public class AVDelegatingPlaybackCoordinatorSeekCommand : AVFoundation.AVDelegatingPlaybackCoordinatorPlaybackControlCommand, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVDelegatingPlaybackCoordinatorSeekCommand (Foundation.NSObjectFlag t);
	protected AVDelegatingPlaybackCoordinatorSeekCommand (IntPtr handle);
	// properties
	public virtual float AnticipatedPlaybackRate { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate CompletionDueDate { get; }
	public virtual CoreMedia.CMTime ItemTime { get; }
	public virtual bool ShouldBufferInAnticipationOfPlayback { get; }
}

New Type: AVFoundation.AVDelegatingPlaybackCoordinatorSeekOptions

[Serializable]
[Flags]
public enum AVDelegatingPlaybackCoordinatorSeekOptions {
	None = 0,
	ResumeImmediately = 1,
}

New Type: AVFoundation.AVMutableAssetDownloadStorageManagementPolicy

public class AVMutableAssetDownloadStorageManagementPolicy : AVFoundation.AVAssetDownloadStorageManagementPolicy, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVMutableAssetDownloadStorageManagementPolicy (Foundation.NSObjectFlag t);
	protected AVMutableAssetDownloadStorageManagementPolicy (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate ExpirationDate { get; set; }
}

New Type: AVFoundation.AVMutableCaption

public class AVMutableCaption : AVFoundation.AVCaption, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableCaption (Foundation.NSCoder coder);
	protected AVMutableCaption (Foundation.NSObjectFlag t);
	protected AVMutableCaption (IntPtr handle);
	public AVMutableCaption (string text, CoreMedia.CMTimeRange timeRange);
	// properties
	public virtual AVCaptionAnimation Animation { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionRegion Region { get; set; }
	public virtual string Text { get; set; }
	public virtual AVCaptionTextAlignment TextAlignment { get; set; }
	public virtual CoreMedia.CMTimeRange TimeRange { get; set; }
	// methods
	public virtual void RemoveBackgroundColor (Foundation.NSRange range);
	public virtual void RemoveDecoration (Foundation.NSRange range);
	public virtual void RemoveFontStyle (Foundation.NSRange range);
	public virtual void RemoveFontWeight (Foundation.NSRange range);
	public virtual void RemoveRuby (Foundation.NSRange range);
	public virtual void RemoveTextColor (Foundation.NSRange range);
	public virtual void RemoveTextCombine (Foundation.NSRange range);
	public virtual void SetBackgroundColor (CoreGraphics.CGColor color, Foundation.NSRange range);
	public virtual void SetDecoration (AVCaptionDecoration decoration, Foundation.NSRange range);
	public virtual void SetFontStyle (AVCaptionFontStyle fontStyle, Foundation.NSRange range);
	public virtual void SetFontWeight (AVCaptionFontWeight fontWeight, Foundation.NSRange range);
	public virtual void SetRuby (AVCaptionRuby ruby, Foundation.NSRange range);
	public virtual void SetTextColor (CoreGraphics.CGColor color, Foundation.NSRange range);
	public virtual void SetTextCombine (AVCaptionTextCombine textCombine, Foundation.NSRange range);
}

New Type: AVFoundation.AVMutableCaptionRegion

public class AVMutableCaptionRegion : AVFoundation.AVCaptionRegion, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSMutableCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVMutableCaptionRegion ();
	public AVMutableCaptionRegion (Foundation.NSCoder coder);
	protected AVMutableCaptionRegion (Foundation.NSObjectFlag t);
	protected AVMutableCaptionRegion (IntPtr handle);
	public AVMutableCaptionRegion (string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVCaptionRegionDisplayAlignment DisplayAlignment { get; set; }
	public virtual AVCaptionPoint Origin { get; set; }
	public virtual AVCaptionRegionScroll Scroll { get; set; }
	public virtual AVCaptionSize Size { get; set; }
	public virtual AVCaptionRegionWritingMode WritingMode { get; set; }
}

New Type: AVFoundation.AVPlaybackCoordinator

public class AVPlaybackCoordinator : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlaybackCoordinator (Foundation.NSObjectFlag t);
	protected AVPlaybackCoordinator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVCoordinatedPlaybackParticipant[] OtherParticipants { get; }
	public static Foundation.NSString OtherParticipantsDidChangeNotification { get; }
	public virtual bool PauseSnapsToMediaTimeOfOriginator { get; set; }
	public virtual string[] SuspensionReasons { get; }
	public static Foundation.NSString SuspensionReasonsDidChangeNotification { get; }
	public virtual string[] SuspensionReasonsThatTriggerWaiting { get; set; }
	// methods
	public virtual AVCoordinatedPlaybackSuspension BeginSuspension (string suspensionReason);
	public virtual CoreMedia.CMTime GetExpectedItemTime (CoreMedia.CMTime hostClockTime);
	public virtual nint GetParticipantLimit (string reason);
	public virtual void SetParticipantLimit (nint participantLimit, string reason);

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

New Type: AVFoundation.AVPlaybackCoordinatorPlaybackControlDelegate

public abstract class AVPlaybackCoordinatorPlaybackControlDelegate : Foundation.NSObject, IAVPlaybackCoordinatorPlaybackControlDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlaybackCoordinatorPlaybackControlDelegate ();
	protected AVPlaybackCoordinatorPlaybackControlDelegate (Foundation.NSObjectFlag t);
	protected AVPlaybackCoordinatorPlaybackControlDelegate (IntPtr handle);
	// methods
	public virtual void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler);
	public virtual void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler);
	public virtual void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler);
	public virtual void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler);
}

New Type: AVFoundation.AVPlayerAudiovisualBackgroundPlaybackPolicy

[Serializable]
public enum AVPlayerAudiovisualBackgroundPlaybackPolicy {
	Automatic = 1,
	ContinuesIfPossible = 3,
	Pauses = 2,
}

New Type: AVFoundation.AVPlayerInterstitialEventMonitor

public class AVPlayerInterstitialEventMonitor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerInterstitialEventMonitor (AVPlayer primaryPlayer);
	protected AVPlayerInterstitialEventMonitor (Foundation.NSObjectFlag t);
	protected AVPlayerInterstitialEventMonitor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVPlayerInterstitialEvent CurrentEvent { get; }
	public static Foundation.NSString CurrentEventDidChangeNotification { get; }
	public virtual AVPlayerInterstitialEvent[] Events { get; }
	public static Foundation.NSString EventsDidChangeNotification { get; }
	public virtual AVQueuePlayer InterstitialPlayer { get; }
	public virtual AVPlayer PrimaryPlayer { get; }
	// methods
	protected override void Dispose (bool disposing);
	public static AVPlayerInterstitialEventMonitor InterstitialEventMonitorWithPrimaryPlayer (AVPlayer primaryPlayer);

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

New Type: AVFoundation.AVPlayerItemTimeJumpedEventArgs

public class AVPlayerItemTimeJumpedEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public AVPlayerItemTimeJumpedEventArgs (Foundation.NSNotification notification);
	// properties
	public Foundation.NSString OriginatingParticipant { get; }
}

New Type: AVFoundation.AVPlayerPlaybackCoordinator

public class AVPlayerPlaybackCoordinator : AVFoundation.AVPlaybackCoordinator, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPlayerPlaybackCoordinator (Foundation.NSObjectFlag t);
	protected AVPlayerPlaybackCoordinator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public IAVPlayerPlaybackCoordinatorDelegate Delegate { get; set; }
	public virtual AVPlayer Player { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AVFoundation.AVPlayerPlaybackCoordinatorDelegate

public class AVPlayerPlaybackCoordinatorDelegate : Foundation.NSObject, IAVPlayerPlaybackCoordinatorDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerPlaybackCoordinatorDelegate ();
	protected AVPlayerPlaybackCoordinatorDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerPlaybackCoordinatorDelegate (IntPtr handle);
	// methods
	public virtual string GetIdentifier (AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);
}

New Type: AVFoundation.AVPlayerPlaybackCoordinatorDelegate_Extensions

public static class AVPlayerPlaybackCoordinatorDelegate_Extensions {
	// methods
	public static string GetIdentifier (this IAVPlayerPlaybackCoordinatorDelegate This, AVPlayerPlaybackCoordinator coordinator, AVPlayerItem playerItem);
}

New Type: AVFoundation.AVPlayerRateDidChangeEventArgs

public class AVPlayerRateDidChangeEventArgs : Foundation.NSNotificationEventArgs {
	// constructors
	public AVPlayerRateDidChangeEventArgs (Foundation.NSNotification notification);
	// properties
	public Foundation.NSString RateDidChangeOriginatingParticipant { get; }
	public Foundation.NSString RateDidChangeStringReason { get; }
}

New Type: AVFoundation.AVPlayerRateDidChangeReason

[Serializable]
public enum AVPlayerRateDidChangeReason {
	AppBackgrounded = 3,
	AudioSessionInterrupted = 2,
	SetRateCalled = 0,
	SetRateFailed = 1,
}

New Type: AVFoundation.AVPlayerRateDidChangeReasonExtensions

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

New Type: AVFoundation.AVPlayerWaitingReason

[Serializable]
public enum AVPlayerWaitingReason {
	WaitingDuringInterstitialEvent = 3,
	WaitingForCoordinatedPlayback = 4,
	WaitingToMinimizeStalls = 0,
	WaitingWhileEvaluatingBufferingRate = 1,
	WaitingWithNoItemToPlay = 2,
}

New Type: AVFoundation.AVPlayerWaitingReasonExtensions

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

New Type: AVFoundation.AVVideoRange

[Serializable]
public enum AVVideoRange {
	Hlg = 1,
	PQ = 2,
	Sdr = 0,
}

New Type: AVFoundation.AVVideoRangeExtensions

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

New Type: AVFoundation.IAVAssetDownloadDelegate

public interface IAVAssetDownloadDelegate : Foundation.INSUrlSessionDelegate, Foundation.INSUrlSessionTaskDelegate, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AVFoundation.IAVAssetReaderCaptionValidationHandling

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

New Type: AVFoundation.IAVPlaybackCoordinatorPlaybackControlDelegate

public interface IAVPlaybackCoordinatorPlaybackControlDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidIssueBufferingCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorBufferingCommand bufferingCommand, System.Action completionHandler);
	public virtual void DidIssuePauseCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPauseCommand pauseCommand, System.Action completionHandler);
	public virtual void DidIssuePlayCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorPlayCommand playCommand, System.Action completionHandler);
	public virtual void DidIssueSeekCommand (AVDelegatingPlaybackCoordinator coordinator, AVDelegatingPlaybackCoordinatorSeekCommand seekCommand, System.Action completionHandler);
}

New Type: AVFoundation.IAVPlayerPlaybackCoordinatorDelegate

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

Namespace AVKit

Type Changed: AVKit.AVPictureInPictureController

Added constructor:

public AVPictureInPictureController (AVPictureInPictureControllerContentSource contentSource);

Added property:

public virtual AVPictureInPictureControllerContentSource ContentSource { get; set; }

Added method:

public virtual void InvalidatePlaybackState ();

Type Changed: AVKit.AVPlayerView

Added properties:

public IAVPlayerViewDelegate Delegate { get; set; }
public virtual Foundation.NSObject WeakDelegate { get; set; }

New Type: AVKit.AVPictureInPictureControllerContentSource

public class AVPictureInPictureControllerContentSource : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPictureInPictureControllerContentSource (AVFoundation.AVPlayerLayer playerLayer);
	protected AVPictureInPictureControllerContentSource (Foundation.NSObjectFlag t);
	protected AVPictureInPictureControllerContentSource (IntPtr handle);
	public AVPictureInPictureControllerContentSource (AVFoundation.AVSampleBufferDisplayLayer sampleBufferDisplayLayer, IAVPictureInPictureSampleBufferPlaybackDelegate playbackDelegate);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual AVFoundation.AVPlayerLayer PlayerLayer { get; }
	public virtual AVFoundation.AVSampleBufferDisplayLayer SampleBufferDisplayLayer { get; }
	public IAVPictureInPictureSampleBufferPlaybackDelegate SampleBufferPlaybackDelegate { get; }
	public virtual Foundation.NSObject WeakSampleBufferPlaybackDelegate { get; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AVKit.AVPictureInPictureSampleBufferPlaybackDelegate

public abstract class AVPictureInPictureSampleBufferPlaybackDelegate : Foundation.NSObject, IAVPictureInPictureSampleBufferPlaybackDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AVPictureInPictureSampleBufferPlaybackDelegate ();
	protected AVPictureInPictureSampleBufferPlaybackDelegate (Foundation.NSObjectFlag t);
	protected AVPictureInPictureSampleBufferPlaybackDelegate (IntPtr handle);
	// methods
	public virtual void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize);
	public virtual CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController);
	public virtual bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController);
	public virtual void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing);
	public virtual bool ShouldProhibitBackgroundAudioPlayback (AVPictureInPictureController pictureInPictureController);
	public virtual void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler);
}

New Type: AVKit.AVPictureInPictureSampleBufferPlaybackDelegate_Extensions

public static class AVPictureInPictureSampleBufferPlaybackDelegate_Extensions {
	// methods
	public static bool ShouldProhibitBackgroundAudioPlayback (this IAVPictureInPictureSampleBufferPlaybackDelegate This, AVPictureInPictureController pictureInPictureController);
}

New Type: AVKit.AVPlayerViewDelegate

public class AVPlayerViewDelegate : Foundation.NSObject, IAVPlayerViewDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AVPlayerViewDelegate ();
	protected AVPlayerViewDelegate (Foundation.NSObjectFlag t);
	protected AVPlayerViewDelegate (IntPtr handle);
	// methods
	public virtual void DidEnterFullScreen (AVPlayerView playerView);
	public virtual void DidExitFullScreen (AVPlayerView playerView);
	public virtual void RestoreUserInterfaceForFullScreenExit (AVPlayerView playerView, System.Action<bool> completionHandler);
	public virtual void WillEnterFullScreen (AVPlayerView playerView);
	public virtual void WillExitFullScreen (AVPlayerView playerView);
}

New Type: AVKit.AVPlayerViewDelegate_Extensions

public static class AVPlayerViewDelegate_Extensions {
	// methods
	public static void DidEnterFullScreen (this IAVPlayerViewDelegate This, AVPlayerView playerView);
	public static void DidExitFullScreen (this IAVPlayerViewDelegate This, AVPlayerView playerView);
	public static void RestoreUserInterfaceForFullScreenExit (this IAVPlayerViewDelegate This, AVPlayerView playerView, System.Action<bool> completionHandler);
	public static void WillEnterFullScreen (this IAVPlayerViewDelegate This, AVPlayerView playerView);
	public static void WillExitFullScreen (this IAVPlayerViewDelegate This, AVPlayerView playerView);
}

New Type: AVKit.IAVPictureInPictureSampleBufferPlaybackDelegate

public interface IAVPictureInPictureSampleBufferPlaybackDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidTransitionToRenderSize (AVPictureInPictureController pictureInPictureController, CoreMedia.CMVideoDimensions newRenderSize);
	public virtual CoreMedia.CMTimeRange GetTimeRange (AVPictureInPictureController pictureInPictureController);
	public virtual bool IsPlaybackPaused (AVPictureInPictureController pictureInPictureController);
	public virtual void SetPlaying (AVPictureInPictureController pictureInPictureController, bool playing);
	public virtual void SkipByInterval (AVPictureInPictureController pictureInPictureController, CoreMedia.CMTime skipInterval, System.Action completionHandler);
}

New Type: AVKit.IAVPlayerViewDelegate

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

Namespace Accessibility

New Type: Accessibility.AXCategoricalDataAxisDescriptor

public class AXCategoricalDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXCategoricalDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXCategoricalDataAxisDescriptor (IntPtr handle);
	public AXCategoricalDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, string[] categoryOrder);
	public AXCategoricalDataAxisDescriptor (string title, string[] categoryOrder);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string[] CategoryOrder { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Title { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptor

public class AXChartDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXChartDescriptor (Foundation.NSObjectFlag t);
	protected AXChartDescriptor (IntPtr handle);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (Foundation.NSAttributedString attributedTitle, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	public AXChartDescriptor (string title, string summary, IAXDataAxisDescriptor xAxis, AXNumericDataAxisDescriptor yAxis, IAXDataAxisDescriptor[] additionalAxes, AXDataSeriesDescriptor[] series);
	// properties
	public virtual IAXDataAxisDescriptor[] AdditionalAxes { get; set; }
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXChartDescriptorContentDirection ContentDirection { get; set; }
	public virtual CoreGraphics.CGRect ContentFrame { get; set; }
	public virtual AXDataSeriesDescriptor[] Series { get; set; }
	public virtual string Summary { get; set; }
	public virtual string Title { get; set; }
	public virtual IAXDataAxisDescriptor XAxis { get; set; }
	public virtual AXNumericDataAxisDescriptor YAxis { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXChartDescriptorContentDirection

[Serializable]
public enum AXChartDescriptorContentDirection {
	BottomToTop = 3,
	LeftToRight = 0,
	RadialClockwise = 4,
	RadialCounterClockwise = 5,
	RightToLeft = 1,
	TopToBottom = 2,
}

New Type: Accessibility.AXDataPoint

public class AXDataPoint : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPoint (Foundation.NSObjectFlag t);
	protected AXDataPoint (IntPtr handle);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues);
	public AXDataPoint (AXDataPointValue xValue, AXDataPointValue yValue, AXDataPointValue[] additionalValues, string label);
	// properties
	public virtual AXDataPointValue[] AdditionalValues { get; set; }
	public virtual Foundation.NSAttributedString AttributedLabel { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string Label { get; set; }
	public virtual AXDataPointValue XValue { get; set; }
	public virtual AXDataPointValue YValue { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXDataPointValue

public class AXDataPointValue : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataPointValue (Foundation.NSObjectFlag t);
	protected AXDataPointValue (IntPtr handle);
	// properties
	public virtual string Category { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual double Number { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static AXDataPointValue CreateValueWithCategory (string category);
	public static AXDataPointValue CreateValueWithNumber (double number);
}

New Type: Accessibility.AXDataSeriesDescriptor

public class AXDataSeriesDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXDataSeriesDescriptor (Foundation.NSObjectFlag t);
	protected AXDataSeriesDescriptor (IntPtr handle);
	public AXDataSeriesDescriptor (Foundation.NSAttributedString attributedName, bool isContinuous, AXDataPoint[] dataPoints);
	public AXDataSeriesDescriptor (string name, bool isContinuous, AXDataPoint[] dataPoints);
	// properties
	public virtual Foundation.NSAttributedString AttributedName { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual AXDataPoint[] DataPoints { get; set; }
	public virtual bool IsContinuous { get; set; }
	public virtual string Name { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXLiveAudioGraph

public class AXLiveAudioGraph : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXLiveAudioGraph (Foundation.NSObjectFlag t);
	protected AXLiveAudioGraph (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void Start ();
	public static void Stop ();
	public static void Update (double value);
}

New Type: Accessibility.AXNumericDataAxisDescriptor

public class AXNumericDataAxisDescriptor : Foundation.NSObject, IAXDataAxisDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected AXNumericDataAxisDescriptor (Foundation.NSObjectFlag t);
	protected AXNumericDataAxisDescriptor (IntPtr handle);
	public AXNumericDataAxisDescriptor (Foundation.NSAttributedString attributedTitle, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	public AXNumericDataAxisDescriptor (string title, double lowerBound, double upperBound, Foundation.NSNumber[] gridlinePositions, System.Func<System.Double,Foundation.NSString> valueDescriptionProvider);
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSNumber[] GridlinePositions { get; set; }
	public virtual double LowerBound { get; set; }
	public virtual AXNumericDataAxisDescriptorScale ScaleType { get; set; }
	public virtual string Title { get; set; }
	public virtual double UpperBound { get; set; }
	public virtual ValueDescriptionProviderHandler ValueDescriptionProvider { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Accessibility.AXNumericDataAxisDescriptorScale

[Serializable]
public enum AXNumericDataAxisDescriptorScale {
	Linear = 0,
	Ln = 2,
	Log10 = 1,
}

New Type: Accessibility.IAXChart

public interface IAXChart : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual AXChartDescriptor AccessibilityChartDescriptor { get; set; }
}

New Type: Accessibility.IAXDataAxisDescriptor

public interface IAXDataAxisDescriptor : Foundation.INSCopying, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSAttributedString AttributedTitle { get; set; }
	public virtual string Title { get; set; }
}

New Type: Accessibility.ValueDescriptionProviderHandler

public sealed delegate ValueDescriptionProviderHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ValueDescriptionProviderHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (double dataValue, System.AsyncCallback callback, object object);
	public virtual Foundation.NSString EndInvoke (System.IAsyncResult result);
	public virtual Foundation.NSString Invoke (double dataValue);
}

Namespace AdSupport

Type Changed: AdSupport.ASIdentifierManager

Obsoleted methods:

 [Obsolete ("Empty stub. This member was retroactively marked as unavailable for macOS.")]
 public virtual void ClearAdvertisingIdentifier ();

Namespace AppKit

Type Changed: AppKit.INSTextAttachmentContainer

Modified methods:

-public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect lineFrag, CoreGraphics.CGPoint position---glyphPosition---, nuint charIndex---characterIndex---)
+public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint +++position+++glyphPosition, nuint +++charIndex+++characterIndex)

Type Changed: AppKit.NSCollectionLayoutAnchor

Added methods:

public static NSCollectionLayoutAnchor CreateFromAbsoluteOffset (NSDirectionalRectEdge edges, CoreGraphics.CGPoint absoluteOffset);
public static NSCollectionLayoutAnchor CreateFromFractionalOffset (NSDirectionalRectEdge edges, CoreGraphics.CGPoint fractionalOffset);

Type Changed: AppKit.NSCollectionLayoutGroupCustomItemProvider

Modified methods:

-public virtual System.IAsyncResult BeginInvoke (INSCollectionLayoutEnvironment layout, System.AsyncCallback callback, object object)
+public virtual System.IAsyncResult BeginInvoke (INSCollectionLayoutEnvironment layoutEnvironment, System.AsyncCallback callback, object object)
-public virtual NSCollectionLayoutGroupCustomItem[] Invoke (INSCollectionLayoutEnvironment layout)
+public virtual NSCollectionLayoutGroupCustomItem[] Invoke (INSCollectionLayoutEnvironment layoutEnvironment)

Type Changed: AppKit.NSCollectionLayoutSectionVisibleItemsInvalidationHandler

Modified methods:

-public virtual System.IAsyncResult BeginInvoke (INSCollectionLayoutVisibleItem[] items, CoreGraphics.CGPoint point---contentOffset---, INSCollectionLayoutEnvironment layout---layoutEnvironment---, System.AsyncCallback callback, object object)
+public virtual System.IAsyncResult BeginInvoke (INSCollectionLayoutVisibleItem[] visibleItems, CoreGraphics.CGPoint +++point+++contentOffset, INSCollectionLayoutEnvironment +++layout+++layoutEnvironment, System.AsyncCallback callback, object object)
-public virtual void Invoke (INSCollectionLayoutVisibleItem[] items, CoreGraphics.CGPoint point---contentOffset---, INSCollectionLayoutEnvironment layout---layoutEnvironment---)
+public virtual void Invoke (INSCollectionLayoutVisibleItem[] visibleItems, CoreGraphics.CGPoint +++point+++contentOffset, INSCollectionLayoutEnvironment +++layout+++layoutEnvironment)

Type Changed: AppKit.NSDiffableDataSourceSnapshot`2

Added properties:

public virtual ItemIdentifierType[] ReconfiguredItemIdentifiers { get; }
public virtual ItemIdentifierType[] ReloadedItemIdentifiers { get; }
public virtual SectionIdentifierType[] ReloadedSectionIdentifiers { get; }

Added method:

public virtual void ReconfigureItems (ItemIdentifierType[] identifiers);

Type Changed: AppKit.NSLayoutAttribute

Added values:

BottomMargin = 16,
CenterXWithinMargins = 19,
CenterYWithinMargins = 20,
LeadingMargin = 17,
LeftMargin = 13,
RightMargin = 14,
TopMargin = 15,
TrailingMargin = 18,

Type Changed: AppKit.NSLayoutConstraint

Added method:

public static NSLayoutConstraint Create (ObjCRuntime.INativeObject view1, NSLayoutAttribute attribute1, NSLayoutRelation relation, ObjCRuntime.INativeObject view2, NSLayoutAttribute attribute2, nfloat multiplier, nfloat constant);

Type Changed: AppKit.NSLayoutFormatOptions

Added values:

SpacingBaselineToBaseline = 524288,
SpacingEdgeToEdge = 0,
SpacingMask = 524288,

Type Changed: AppKit.NSMutableParagraphStyle

Added property:

public virtual bool UsesDefaultHyphenation { get; set; }

Type Changed: AppKit.NSParagraphStyle

Added property:

public virtual bool UsesDefaultHyphenation { get; }

Type Changed: AppKit.NSTextAttachment

Added interfaces:

INSTextAttachmentContainer
INSTextAttachmentLayout

Added properties:

public virtual bool AllowsTextAttachmentView { get; set; }
public virtual nfloat LineLayoutPadding { get; set; }
public virtual bool UsesTextAttachmentView { get; }

Added methods:

public virtual CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint glyphPosition, nuint characterIndex);
public virtual CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position);
public virtual NSImage GetImage (CoreGraphics.CGRect imageBounds, NSTextContainer textContainer, nuint charIndex);
public virtual NSImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, INSTextLocation location, NSTextContainer textContainer);
public static ObjCRuntime.Class GetTextAttachmentViewProviderClass (string fileType);
public virtual NSTextAttachmentViewProvider GetViewProvider (NSView parentView, INSTextLocation location, NSTextContainer textContainer);
public static void RegisterViewProviderClass (ObjCRuntime.Class textAttachmentViewProviderClass, string fileType);

Type Changed: AppKit.NSTextAttachmentContainer

Modified methods:

-public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect lineFrag, CoreGraphics.CGPoint position---glyphPosition---, nuint charIndex---characterIndex---)
+public abstract CoreGraphics.CGRect GetAttachmentBounds (NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint +++position+++glyphPosition, nuint +++charIndex+++characterIndex)

Type Changed: AppKit.NSTextContainer

Added interface:

INSTextLayoutOrientationProvider

Added properties:

public virtual NSTextLayoutOrientation LayoutOrientation { get; }
public virtual NSTextLayoutManager TextLayoutManager { get; }

Type Changed: AppKit.NSTextStorage

Added property:

public virtual INSTextStorageObserving TextStorageObserver { get; set; }

Modified methods:

-public virtual void AddLayoutManager (NSLayoutManager obj)
+public virtual void AddLayoutManager (NSLayoutManager aLayoutManager)
-public virtual void Edited (nuint editedMask, Foundation.NSRange range, nint delta)
+public virtual void Edited (nuint editedMask, Foundation.NSRange editedRange, nint delta)
-public virtual void RemoveLayoutManager (NSLayoutManager obj)
+public virtual void RemoveLayoutManager (NSLayoutManager aLayoutManager)

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: AppKit.NSTextTab

Modified constructors:

-public NSTextTab (NSTextTabType type, nfloat loc)
+public NSTextTab (NSTextTabType type, nfloat location)
-public NSTextTab (NSTextAlignment alignment, nfloat loc, Foundation.NSDictionary options)
+public NSTextTab (NSTextAlignment alignment, nfloat location, Foundation.NSDictionary options)

Added property:

public static Foundation.NSString ColumnTerminatorsAttributeName { get; }

Type Changed: AppKit.NSTextView

Added interface:

INSTextLayoutOrientationProvider

Type Changed: AppKit.NSWritingDirection

Obsoleted fields:

 [Obsolete ("Use 'LeftToRight' instead.")]
 Embedding = 0,

New Type: AppKit.INSTextAttachmentLayout

public interface INSTextAttachmentLayout : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position);
	public virtual NSImage GetImageForBounds (CoreGraphics.CGRect bounds, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, INSTextLocation location, NSTextContainer textContainer);
	public virtual NSTextAttachmentViewProvider GetViewProvider (NSView parentView, INSTextLocation location, NSTextContainer textContainer);
}

New Type: AppKit.INSTextContentManagerDelegate

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

New Type: AppKit.INSTextContentStorageDelegate

public interface INSTextContentStorageDelegate : INSTextContentManagerDelegate, ObjCRuntime.INativeObject, System.IDisposable {
}

New Type: AppKit.INSTextElementProvider

public interface INSTextElementProvider : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSTextRange DocumentRange { get; }
	// methods
	public virtual INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func<NSTextElement,System.Boolean> handler);
	public virtual void ReplaceContents (NSTextRange range, NSTextElement[] textElements);
	public virtual void Synchronize (System.Action<Foundation.NSError> completionHandler);
}

New Type: AppKit.INSTextLayoutManagerDelegate

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

New Type: AppKit.INSTextLayoutOrientationProvider

public interface INSTextLayoutOrientationProvider : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSTextLayoutOrientation LayoutOrientation { get; }
}

New Type: AppKit.INSTextLocation

public interface INSTextLocation : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual Foundation.NSComparisonResult Compare (INSTextLocation location);
}

New Type: AppKit.INSTextSelectionDataSource

public interface INSTextSelectionDataSource : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSTextRange DocumentRange { get; }
	// methods
	public virtual void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler);
	public virtual void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler);
	public virtual NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location);
	public virtual NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location);
	public virtual INSTextLocation GetLocation (INSTextLocation location, nint offset);
	public virtual nint GetOffsetFromLocation (INSTextLocation from, INSTextLocation to);
	public virtual NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location);
}

New Type: AppKit.INSTextStorageObserving

public interface INSTextStorageObserving : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual NSTextStorage TextStorage { get; set; }
	// methods
	public virtual void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction);
	public virtual void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, nint delta, Foundation.NSRange invalidatedCharRange);
}

New Type: AppKit.INSTextViewportLayoutControllerDelegate

public interface INSTextViewportLayoutControllerDelegate : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment);
	public virtual CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController);
}

New Type: AppKit.NSImageResizingModeExtensions

public static class NSImageResizingModeExtensions {
	// methods
	public static NSImageResizingMode ToManaged (nint value);
	public static nint ToNative (NSImageResizingMode value);
}

New Type: AppKit.NSTextAlignmentExtensions

public static class NSTextAlignmentExtensions {
	// methods
	public static NSTextAlignment ToManaged (nuint value);
	public static nuint ToNative (NSTextAlignment value);
}

New Type: AppKit.NSTextAttachmentViewProvider

public class NSTextAttachmentViewProvider : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSTextAttachmentViewProvider (Foundation.NSObjectFlag t);
	protected NSTextAttachmentViewProvider (IntPtr handle);
	public NSTextAttachmentViewProvider (NSTextAttachment textAttachment, NSView parentView, NSTextLayoutManager textLayoutManager, INSTextLocation location);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INSTextLocation Location { get; }
	public virtual NSTextAttachment TextAttachment { get; }
	public virtual NSTextLayoutManager TextLayoutManager { get; }
	public virtual bool TracksTextAttachmentViewBounds { get; set; }
	public virtual NSView View { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual CoreGraphics.CGRect GetAttachmentBounds (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, INSTextLocation location, NSTextContainer textContainer, CoreGraphics.CGRect proposedLineFragment, CoreGraphics.CGPoint position);
	public virtual void LoadView ();
}

New Type: AppKit.NSTextContentManager

public class NSTextContentManager : Foundation.NSObject, INSTextElementProvider, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextContentManager ();
	public NSTextContentManager (Foundation.NSCoder coder);
	protected NSTextContentManager (Foundation.NSObjectFlag t);
	protected NSTextContentManager (IntPtr handle);
	// properties
	public virtual bool AutomaticallySynchronizesTextLayoutManagers { get; set; }
	public virtual bool AutomaticallySynchronizesToBackingStore { get; set; }
	public override IntPtr ClassHandle { get; }
	public INSTextContentManagerDelegate Delegate { get; set; }
	public virtual NSTextRange DocumentRange { get; }
	public virtual bool HasEditingTransaction { get; }
	public virtual NSTextLayoutManager PrimaryTextLayoutManager { get; set; }
	public static Foundation.NSString StorageUnsupportedAttributeAddedNotification { get; }
	public virtual NSTextLayoutManager[] TextLayoutManagers { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void Add (NSTextLayoutManager textLayoutManager);
	public virtual NSTextRange AdjustedRange (NSTextRange textRange, bool forEditingTextSelection);
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual INSTextLocation EnumerateTextElements (INSTextLocation textLocation, NSTextContentManagerEnumerationOptions options, System.Func<NSTextElement,System.Boolean> handler);
	public virtual INSTextLocation GetLocation (INSTextLocation location, nint offset);
	public virtual nint GetOffset (INSTextLocation from, INSTextLocation to);
	public virtual NSTextElement[] GetTextElements (NSTextRange range);
	public virtual void PerformEditingTransaction (System.Action transaction);
	public virtual System.Threading.Tasks.Task PerformEditingTransactionAsync ();
	public virtual void RecordEditAction (NSTextRange originalTextRange, NSTextRange newTextRange);
	public virtual void Remove (NSTextLayoutManager textLayoutManager);
	public virtual void ReplaceContents (NSTextRange range, NSTextElement[] textElements);
	public virtual void Synchronize (System.Action<Foundation.NSError> completionHandler);
	public virtual void SynchronizeTextLayoutManagers (System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task SynchronizeTextLayoutManagersAsync ();

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

New Type: AppKit.NSTextContentManagerDelegate

public class NSTextContentManagerDelegate : Foundation.NSObject, INSTextContentManagerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextContentManagerDelegate ();
	protected NSTextContentManagerDelegate (Foundation.NSObjectFlag t);
	protected NSTextContentManagerDelegate (IntPtr handle);
	// methods
	public virtual NSTextElement GetTextContentManager (NSTextContentManager textContentManager, INSTextLocation location);
	public virtual bool ShouldEnumerateTextElement (NSTextContentManager textContentManager, NSTextElement textElement, NSTextContentManagerEnumerationOptions options);
}

New Type: AppKit.NSTextContentManagerDelegate_Extensions

public static class NSTextContentManagerDelegate_Extensions {
	// methods
	public static NSTextElement GetTextContentManager (this INSTextContentManagerDelegate This, NSTextContentManager textContentManager, INSTextLocation location);
	public static bool ShouldEnumerateTextElement (this INSTextContentManagerDelegate This, NSTextContentManager textContentManager, NSTextElement textElement, NSTextContentManagerEnumerationOptions options);
}

New Type: AppKit.NSTextContentManagerEnumerationOptions

[Serializable]
[Flags]
public enum NSTextContentManagerEnumerationOptions {
	None = 0,
	Reverse = 1,
}

New Type: AppKit.NSTextContentStorage

public class NSTextContentStorage : AppKit.NSTextContentManager, INSTextElementProvider, INSTextStorageObserving, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextContentStorage ();
	public NSTextContentStorage (Foundation.NSCoder coder);
	protected NSTextContentStorage (Foundation.NSObjectFlag t);
	protected NSTextContentStorage (IntPtr handle);
	// properties
	public virtual Foundation.NSAttributedString AttributedString { get; set; }
	public override IntPtr ClassHandle { get; }
	public INSTextContentStorageDelegate Delegate { get; set; }
	public virtual NSTextStorage TextStorage { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual NSTextRange GetAdjustedRange (NSTextRange textRange, bool forEditingTextSelection);
	public virtual Foundation.NSAttributedString GetAttributedString (NSTextElement textElement);
	public virtual INSTextLocation GetLocation (INSTextLocation location, nint offset);
	public virtual nint GetOffset (INSTextLocation from, INSTextLocation to);
	public virtual NSTextElement GetTextElement (Foundation.NSAttributedString attributedString);
	public virtual void PerformEditingTransaction (NSTextStorage textStorage, System.Action transaction);
	public virtual void ProcessEditing (NSTextStorage textStorage, NSTextStorageEditActions editMask, Foundation.NSRange newCharRange, nint delta, Foundation.NSRange invalidatedCharRange);
}

New Type: AppKit.NSTextContentStorageDelegate

public class NSTextContentStorageDelegate : Foundation.NSObject, INSTextContentManagerDelegate, INSTextContentStorageDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextContentStorageDelegate ();
	protected NSTextContentStorageDelegate (Foundation.NSObjectFlag t);
	protected NSTextContentStorageDelegate (IntPtr handle);
	// methods
	public virtual NSTextElement GetTextContentManager (NSTextContentManager textContentManager, INSTextLocation location);
	public virtual NSTextParagraph GetTextParagraph (NSTextContentStorage textContentStorage, Foundation.NSRange range);
	public virtual bool ShouldEnumerateTextElement (NSTextContentManager textContentManager, NSTextElement textElement, NSTextContentManagerEnumerationOptions options);
}

New Type: AppKit.NSTextContentStorageDelegate_Extensions

public static class NSTextContentStorageDelegate_Extensions {
	// methods
	public static NSTextParagraph GetTextParagraph (this INSTextContentStorageDelegate This, NSTextContentStorage textContentStorage, Foundation.NSRange range);
}

New Type: AppKit.NSTextElement

public class NSTextElement : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextElement ();
	public NSTextElement (NSTextContentManager textContentManager);
	protected NSTextElement (Foundation.NSObjectFlag t);
	protected NSTextElement (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual NSTextRange ElementRange { get; set; }
	public virtual NSTextContentManager TextContentManager { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AppKit.NSTextElementProvider_Extensions

public static class NSTextElementProvider_Extensions {
	// methods
	public static NSTextRange AdjustedRange (this INSTextElementProvider This, NSTextRange textRange, bool forEditingTextSelection);
	public static INSTextLocation GetLocation (this INSTextElementProvider This, INSTextLocation location, nint offset);
	public static nint GetOffset (this INSTextElementProvider This, INSTextLocation from, INSTextLocation to);
}

New Type: AppKit.NSTextLayoutFragment

public class NSTextLayoutFragment : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextLayoutFragment (Foundation.NSCoder coder);
	protected NSTextLayoutFragment (Foundation.NSObjectFlag t);
	protected NSTextLayoutFragment (IntPtr handle);
	public NSTextLayoutFragment (NSTextElement textElement, NSTextRange rangeInElement);
	// properties
	public virtual nfloat BottomMargin { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGRect LayoutFragmentFrame { get; }
	public virtual Foundation.NSOperationQueue LayoutQueue { get; set; }
	public virtual nfloat LeadingPadding { get; }
	public virtual NSTextRange RangeInElement { get; }
	public virtual CoreGraphics.CGRect RenderingSurfaceBounds { get; }
	public virtual NSTextLayoutFragmentState State { get; }
	public virtual NSTextAttachmentViewProvider[] TextAttachmentViewProviders { get; }
	public virtual NSTextElement TextElement { get; }
	public virtual NSTextLayoutManager TextLayoutManager { get; }
	public virtual NSTextLineFragment[] TextLineFragments { get; }
	public virtual nfloat TopMargin { get; }
	public virtual nfloat TrailingPadding { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void Draw (CoreGraphics.CGPoint point, CoreGraphics.CGContext context);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual CoreGraphics.CGRect GetFrameForTextAttachment (INSTextLocation location);
	public virtual void InvalidateLayout ();
}

New Type: AppKit.NSTextLayoutFragmentEnumerationOptions

[Serializable]
[Flags]
public enum NSTextLayoutFragmentEnumerationOptions {
	EnsuresExtraLineFragment = 8,
	EnsuresLayout = 4,
	EstimatesSize = 2,
	None = 0,
	Reverse = 1,
}

New Type: AppKit.NSTextLayoutFragmentState

[Serializable]
public enum NSTextLayoutFragmentState {
	CalculatedUsageBounds = 2,
	EstimatedUsageBounds = 1,
	LayoutAvailable = 3,
	None = 0,
}

New Type: AppKit.NSTextLayoutManager

public class NSTextLayoutManager : Foundation.NSObject, INSTextSelectionDataSource, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextLayoutManager ();
	public NSTextLayoutManager (Foundation.NSCoder coder);
	protected NSTextLayoutManager (Foundation.NSObjectFlag t);
	protected NSTextLayoutManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public INSTextLayoutManagerDelegate Delegate { get; set; }
	public virtual NSTextRange DocumentRange { get; }
	public virtual Foundation.NSOperationQueue LayoutQueue { get; set; }
	public virtual bool LimitsLayoutForSuspiciousContents { get; set; }
	public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> LinkRenderingAttributes { get; }
	public virtual System.Action<NSTextLayoutManager,AppKit.NSTextLayoutFragment> RenderingAttributesValidator { get; set; }
	public virtual NSTextContainer TextContainer { get; set; }
	public virtual NSTextContentManager TextContentManager { get; }
	public virtual NSTextSelectionNavigation TextSelectionNavigation { get; set; }
	public virtual NSTextSelection[] TextSelections { get; set; }
	public virtual NSTextViewportLayoutController TextViewportLayoutController { get; }
	public virtual CoreGraphics.CGRect UsageBoundsForTextContainer { get; }
	public virtual bool UsesFontLeading { get; set; }
	public virtual bool UsesHyphenation { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void AddRenderingAttribute (string renderingAttribute, Foundation.NSObject value, NSTextRange textRange);
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual void EnsureLayout (NSTextRange range);
	public virtual void EnsureLayout (CoreGraphics.CGRect bounds);
	public virtual void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler);
	public virtual void EnumerateContainerBoundaries (INSTextLocation location, bool reverse, NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate handler);
	public virtual void EnumerateRenderingAttributes (INSTextLocation location, bool reverse, NSTextLayoutManagerEnumerateRenderingAttributesDelegate handler);
	public virtual void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler);
	public virtual INSTextLocation EnumerateTextLayoutFragments (INSTextLocation location, NSTextLayoutFragmentEnumerationOptions options, System.Func<NSTextLayoutFragment,System.Boolean> handler);
	public virtual void EnumerateTextSegments (NSTextRange textRange, NSTextLayoutManagerSegmentType type, NSTextLayoutManagerSegmentOptions options, NSTextLayoutManagerEnumerateTextSegmentsDelegate handler);
	public virtual NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location);
	public virtual NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location);
	public virtual INSTextLocation GetLocation (INSTextLocation location, nint offset);
	public virtual nint GetOffsetFromLocation (INSTextLocation from, INSTextLocation to);
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetRenderingAttributes (Foundation.NSObject link, INSTextLocation location);
	public virtual NSTextLayoutFragment GetTextLayoutFragment (INSTextLocation location);
	public virtual NSTextLayoutFragment GetTextLayoutFragment (CoreGraphics.CGPoint position);
	public virtual NSTextSelectionNavigationLayoutOrientation GetTextLayoutOrientation (INSTextLocation location);
	public virtual NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location);
	public virtual void InvalidateLayout (NSTextRange range);
	public virtual void InvalidateRenderingAttributes (NSTextRange textRange);
	public virtual void RemoveRenderingAttribute (string renderingAttribute, NSTextRange textRange);
	public virtual void Replace (NSTextContentManager textContentManager);
	public virtual void ReplaceContents (NSTextRange range, NSTextElement[] textElements);
	public virtual void ReplaceContents (NSTextRange range, Foundation.NSAttributedString attributedString);
	public virtual void SetRenderingAttributes (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> renderingAttributes, NSTextRange textRange);
}

New Type: AppKit.NSTextLayoutManagerDelegate

public class NSTextLayoutManagerDelegate : Foundation.NSObject, INSTextLayoutManagerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextLayoutManagerDelegate ();
	protected NSTextLayoutManagerDelegate (Foundation.NSObjectFlag t);
	protected NSTextLayoutManagerDelegate (IntPtr handle);
	// methods
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetRenderingAttributes (NSTextLayoutManager textLayoutManager, Foundation.NSObject link, INSTextLocation location, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> renderingAttributes);
	public virtual NSTextLayoutFragment GetTextLayoutFragment (NSTextLayoutManager textLayoutManager, INSTextLocation location, NSTextElement textElement);
	public virtual bool ShouldBreakLineBeforeLocation (NSTextLayoutManager textLayoutManager, INSTextLocation location, bool hyphenating);
}

New Type: AppKit.NSTextLayoutManagerDelegate_Extensions

public static class NSTextLayoutManagerDelegate_Extensions {
	// methods
	public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> GetRenderingAttributes (this INSTextLayoutManagerDelegate This, NSTextLayoutManager textLayoutManager, Foundation.NSObject link, INSTextLocation location, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> renderingAttributes);
	public static NSTextLayoutFragment GetTextLayoutFragment (this INSTextLayoutManagerDelegate This, NSTextLayoutManager textLayoutManager, INSTextLocation location, NSTextElement textElement);
	public static bool ShouldBreakLineBeforeLocation (this INSTextLayoutManagerDelegate This, NSTextLayoutManager textLayoutManager, INSTextLocation location, bool hyphenating);
}

New Type: AppKit.NSTextLayoutManagerEnumerateRenderingAttributesDelegate

public sealed delegate NSTextLayoutManagerEnumerateRenderingAttributesDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSTextLayoutManagerEnumerateRenderingAttributesDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSTextLayoutManager textLayoutManager, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, NSTextRange textRange, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSTextLayoutManager textLayoutManager, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, NSTextRange textRange);
}

New Type: AppKit.NSTextLayoutManagerEnumerateTextSegmentsDelegate

public sealed delegate NSTextLayoutManagerEnumerateTextSegmentsDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSTextLayoutManagerEnumerateTextSegmentsDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSTextRange textSegmentRange, CoreGraphics.CGRect textSegmentFrame, nfloat baselinePosition, NSTextContainer textContainer, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSTextRange textSegmentRange, CoreGraphics.CGRect textSegmentFrame, nfloat baselinePosition, NSTextContainer textContainer);
}

New Type: AppKit.NSTextLayoutManagerSegmentOptions

[Serializable]
[Flags]
public enum NSTextLayoutManagerSegmentOptions {
	HeadSegmentExtended = 4,
	MiddleFragmentsExcluded = 2,
	None = 0,
	RangeNotRequired = 1,
	TailSegmentExtended = 8,
	UpstreamAffinity = 16,
}

New Type: AppKit.NSTextLayoutManagerSegmentType

[Serializable]
public enum NSTextLayoutManagerSegmentType {
	Highlight = 2,
	Selection = 1,
	Standard = 0,
}

New Type: AppKit.NSTextLineFragment

public class NSTextLineFragment : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextLineFragment (Foundation.NSCoder coder);
	protected NSTextLineFragment (Foundation.NSObjectFlag t);
	protected NSTextLineFragment (IntPtr handle);
	public NSTextLineFragment (Foundation.NSAttributedString attributedString, Foundation.NSRange range);
	public NSTextLineFragment (string string, Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> attributes, Foundation.NSRange range);
	// properties
	public virtual Foundation.NSAttributedString AttributedString { get; }
	public virtual Foundation.NSRange CharacterRange { get; }
	public override IntPtr ClassHandle { get; }
	public virtual CoreGraphics.CGPoint GlyphOrigin { get; }
	public virtual CoreGraphics.CGRect TypographicBounds { get; }
	// methods
	public virtual void Draw (CoreGraphics.CGPoint point, CoreGraphics.CGContext context);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual nint GetCharacterIndex (CoreGraphics.CGPoint point);
	public virtual nfloat GetFractionOfDistanceThroughGlyph (CoreGraphics.CGPoint point);
	public virtual CoreGraphics.CGPoint GetLocation (nint characterIndex);
}

New Type: AppKit.NSTextParagraph

public class NSTextParagraph : AppKit.NSTextElement, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextParagraph ();
	public NSTextParagraph (NSTextContentManager textContentManager);
	public NSTextParagraph (Foundation.NSAttributedString attributedString);
	protected NSTextParagraph (Foundation.NSObjectFlag t);
	protected NSTextParagraph (IntPtr handle);
	// properties
	public virtual Foundation.NSAttributedString AttributedString { get; }
	public override IntPtr ClassHandle { get; }
	public virtual NSTextRange ParagraphContentRange { get; }
	public virtual NSTextRange ParagraphSeparatorRange { get; }
}

New Type: AppKit.NSTextRange

public class NSTextRange : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextRange (INSTextLocation location);
	protected NSTextRange (Foundation.NSObjectFlag t);
	protected NSTextRange (IntPtr handle);
	public NSTextRange (INSTextLocation location, INSTextLocation endLocation);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool Empty { get; }
	public virtual INSTextLocation EndLocation { get; }
	public virtual INSTextLocation Location { get; }
	// methods
	public virtual bool Contains (INSTextLocation location);
	public virtual bool Contains (NSTextRange textRange);
	public virtual NSTextRange GetTextRangeByFormingUnion (NSTextRange textRange);
	public virtual NSTextRange GetTextRangeByIntersecting (NSTextRange textRange);
	public virtual bool Intersects (NSTextRange textRange);
	public virtual bool IsEqual (NSTextRange textRange);
}

New Type: AppKit.NSTextSelection

public class NSTextSelection : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextSelection (Foundation.NSCoder coder);
	protected NSTextSelection (Foundation.NSObjectFlag t);
	protected NSTextSelection (IntPtr handle);
	public NSTextSelection (INSTextLocation location, NSTextSelectionAffinity affinity);
	public NSTextSelection (NSTextRange range, NSTextSelectionAffinity affinity, NSTextSelectionGranularity granularity);
	public NSTextSelection (NSTextRange[] textRanges, NSTextSelectionAffinity affinity, NSTextSelectionGranularity granularity);
	// properties
	public virtual NSTextSelectionAffinity Affinity { get; }
	public virtual nfloat AnchorPositionOffset { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual NSTextSelectionGranularity Granularity { get; }
	public virtual bool Logical { get; set; }
	public virtual INSTextLocation SecondarySelectionLocation { get; set; }
	public virtual NSTextRange[] TextRanges { get; }
	public virtual bool Transient { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> TypingAttributes { get; set; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public virtual NSTextSelection GetTextSelection (NSTextRange[] textRanges);
}

New Type: AppKit.NSTextSelectionAffinity

[Serializable]
public enum NSTextSelectionAffinity {
	Downstream = 1,
	Upstream = 0,
}

New Type: AppKit.NSTextSelectionDataSource

public abstract class NSTextSelectionDataSource : Foundation.NSObject, INSTextSelectionDataSource, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSTextSelectionDataSource ();
	protected NSTextSelectionDataSource (Foundation.NSObjectFlag t);
	protected NSTextSelectionDataSource (IntPtr handle);
	// properties
	public virtual NSTextRange DocumentRange { get; }
	// methods
	public virtual void EnumerateCaretOffsets (INSTextLocation location, NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate handler);
	public virtual void EnumerateContainerBoundaries (INSTextLocation location, bool reverse, NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate handler);
	public virtual void EnumerateSubstrings (INSTextLocation location, Foundation.NSStringEnumerationOptions options, NSTextSelectionDataSourceEnumerateSubstringsDelegate handler);
	public virtual NSTextSelectionNavigationWritingDirection GetBaseWritingDirection (INSTextLocation location);
	public virtual NSTextRange GetLineFragmentRange (CoreGraphics.CGPoint point, INSTextLocation location);
	public virtual INSTextLocation GetLocation (INSTextLocation location, nint offset);
	public virtual nint GetOffsetFromLocation (INSTextLocation from, INSTextLocation to);
	public virtual NSTextSelectionNavigationLayoutOrientation GetTextLayoutOrientation (INSTextLocation location);
	public virtual NSTextRange GetTextRange (NSTextSelectionGranularity selectionGranularity, INSTextLocation location);
}

New Type: AppKit.NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate

public sealed delegate NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSTextSelectionDataSourceEnumerateCaretOffsetsDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (nfloat caretOffset, INSTextLocation location, bool leadingEdge, out bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
	public virtual void Invoke (nfloat caretOffset, INSTextLocation location, bool leadingEdge, out bool stop);
}

New Type: AppKit.NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate

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

New Type: AppKit.NSTextSelectionDataSourceEnumerateSubstringsDelegate

public sealed delegate NSTextSelectionDataSourceEnumerateSubstringsDelegate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSTextSelectionDataSourceEnumerateSubstringsDelegate (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSString substring, NSTextRange substringRange, NSTextRange enclodingRange, out bool stop, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (out bool stop, System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSString substring, NSTextRange substringRange, NSTextRange enclodingRange, out bool stop);
}

New Type: AppKit.NSTextSelectionDataSource_Extensions

public static class NSTextSelectionDataSource_Extensions {
	// methods
	public static void EnumerateContainerBoundaries (this INSTextSelectionDataSource This, INSTextLocation location, bool reverse, NSTextSelectionDataSourceEnumerateContainerBoundariesDelegate handler);
	public static NSTextSelectionNavigationLayoutOrientation GetTextLayoutOrientation (this INSTextSelectionDataSource This, INSTextLocation location);
}

New Type: AppKit.NSTextSelectionGranularity

[Serializable]
public enum NSTextSelectionGranularity {
	Character = 0,
	Line = 3,
	Paragraph = 2,
	Sentence = 4,
	Word = 1,
}

New Type: AppKit.NSTextSelectionNavigation

public class NSTextSelectionNavigation : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextSelectionNavigation (INSTextSelectionDataSource dataSource);
	protected NSTextSelectionNavigation (Foundation.NSObjectFlag t);
	protected NSTextSelectionNavigation (IntPtr handle);
	// properties
	public virtual bool AllowsNonContiguousRanges { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual bool RotatesCoordinateSystemForLayoutOrientation { get; set; }
	public INSTextSelectionDataSource TextSelectionDataSource { get; }
	public virtual Foundation.NSObject WeakTextSelectionDataSource { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void FlushLayoutCache ();
	public virtual NSTextRange[] GetDeletionRanges (NSTextSelection textSelection, NSTextSelectionNavigationDirection direction, NSTextSelectionNavigationDestination destination, bool allowsDecomposition);
	public virtual NSTextSelection GetDestinationSelection (NSTextSelection textSelection, NSTextSelectionNavigationDirection direction, NSTextSelectionNavigationDestination destination, bool extending, bool confined);
	public virtual INSTextLocation GetResolvedInsertionLocation (NSTextSelection textSelection, NSTextSelectionNavigationWritingDirection writingDirection);
	public virtual NSTextSelection GetTextSelection (NSTextSelectionGranularity selectionGranularity, NSTextSelection textSelection);
	public virtual NSTextSelection GetTextSelection (NSTextSelectionGranularity selectionGranularity, CoreGraphics.CGPoint point, INSTextLocation location);
	public virtual NSTextSelection[] GetTextSelectionsInteracting (CoreGraphics.CGPoint point, INSTextLocation containerLocation, NSTextSelection[] anchors, NSTextSelectionNavigationModifier modifiers, bool selecting, CoreGraphics.CGRect bounds);
}

New Type: AppKit.NSTextSelectionNavigationDestination

[Serializable]
public enum NSTextSelectionNavigationDestination {
	Character = 0,
	Container = 5,
	Document = 6,
	Line = 2,
	Paragraph = 4,
	Sentence = 3,
	Word = 1,
}

New Type: AppKit.NSTextSelectionNavigationDirection

[Serializable]
public enum NSTextSelectionNavigationDirection {
	Backward = 1,
	Down = 5,
	Forward = 0,
	Left = 3,
	Right = 2,
	Up = 4,
}

New Type: AppKit.NSTextSelectionNavigationLayoutOrientation

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

New Type: AppKit.NSTextSelectionNavigationModifier

[Serializable]
[Flags]
public enum NSTextSelectionNavigationModifier {
	Extend = 1,
	Multiple = 4,
	Visual = 2,
}

New Type: AppKit.NSTextSelectionNavigationWritingDirection

[Serializable]
public enum NSTextSelectionNavigationWritingDirection {
	LeftToRight = 0,
	RightToLeft = 1,
}

New Type: AppKit.NSTextViewportLayoutController

public class NSTextViewportLayoutController : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public NSTextViewportLayoutController (NSTextLayoutManager textLayoutManager);
	protected NSTextViewportLayoutController (Foundation.NSObjectFlag t);
	protected NSTextViewportLayoutController (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public INSTextViewportLayoutControllerDelegate Delegate { get; set; }
	public virtual NSTextLayoutManager TextLayoutManager { get; }
	public virtual CoreGraphics.CGRect ViewportBounds { get; }
	public virtual NSTextRange ViewportRange { get; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	public virtual void AdjustViewport (nfloat verticalOffset);
	protected override void Dispose (bool disposing);
	public virtual void LayoutViewport ();
	public virtual nfloat RelocateViewport (INSTextLocation textLocation);
}

New Type: AppKit.NSTextViewportLayoutControllerDelegate

public abstract class NSTextViewportLayoutControllerDelegate : Foundation.NSObject, INSTextViewportLayoutControllerDelegate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected NSTextViewportLayoutControllerDelegate ();
	protected NSTextViewportLayoutControllerDelegate (Foundation.NSObjectFlag t);
	protected NSTextViewportLayoutControllerDelegate (IntPtr handle);
	// methods
	public virtual void ConfigureRenderingSurface (NSTextViewportLayoutController textViewportLayoutController, NSTextLayoutFragment textLayoutFragment);
	public virtual void DidLayout (NSTextViewportLayoutController textViewportLayoutController);
	public virtual CoreGraphics.CGRect GetViewportBounds (NSTextViewportLayoutController textViewportLayoutController);
	public virtual void WillLayout (NSTextViewportLayoutController textViewportLayoutController);
}

New Type: AppKit.NSTextViewportLayoutControllerDelegate_Extensions

public static class NSTextViewportLayoutControllerDelegate_Extensions {
	// methods
	public static void DidLayout (this INSTextViewportLayoutControllerDelegate This, NSTextViewportLayoutController textViewportLayoutController);
	public static void WillLayout (this INSTextViewportLayoutControllerDelegate This, NSTextViewportLayoutController textViewportLayoutController);
}

Namespace AudioToolbox

Type Changed: AudioToolbox.AudioChannelLabel

Added values:

HoaN3d = 196608,
HoaSn3d = 131072,

Type Changed: AudioToolbox.AudioChannelLayoutTag

Added values:

Atmos_5_1_4 = 12779530,
Atmos_7_1_2 = 12845066,
Logic_4_0_A = 7536644,
Logic_4_0_B = 7602180,
Logic_4_0_C = 12910596,
Logic_5_0_A = 7667717,
Logic_5_0_B = 7733253,
Logic_5_0_C = 7798789,
Logic_5_0_D = 7864325,
Logic_5_1_A = 7929862,
Logic_5_1_B = 7995398,
Logic_5_1_C = 8060934,
Logic_5_1_D = 8126470,
Logic_6_0_A = 9240582,
Logic_6_0_B = 12976134,
Logic_6_0_C = 9109510,
Logic_6_1_A = 9306119,
Logic_6_1_B = 13041671,
Logic_6_1_C = 8192007,
Logic_6_1_D = 13107207,
Logic_7_1_A = 8388616,
Logic_7_1_B = 13172744,
Logic_7_1_C = 8388616,
Logic_7_1_SDDS_A = 8257544,
Logic_7_1_SDDS_B = 8323080,
Logic_7_1_SDDS_C = 8454152,
Logic_Atmos_5_1_2 = 12713992,
Logic_Atmos_5_1_4 = 12779530,
Logic_Atmos_7_1_2 = 12845066,
Logic_Atmos_7_1_4_A = 12582924,
Logic_Atmos_7_1_4_B = 13238284,
Logic_Atmos_7_1_6 = 13303822,
Logic_Mono = 6553601,
Logic_Quadraphonic = 7077892,
Logic_Stereo = 6619138,

Namespace AudioUnit

Type Changed: AudioUnit.AURenderEventType

Added value:

MidiEventList = 10,

Type Changed: AudioUnit.AudioObjectPropertyElement

Obsoleted fields:

 [Obsolete ("Use the 'Main' element instead.")]
 Master = 0,

Added value:

Main = 0,

Type Changed: AudioUnit.AudioObjectPropertySelector

Obsoleted fields:

 [Obsolete ("Use the 'ProcessIsMain' element instead.")]
 ProcessIsMaster = 1835103092,

Added values:

ProcessIsMain = 1835100526,
ProcessMute = 1634758765,

Type Changed: AudioUnit.AudioUnitParameterType

Added value:

DynamicsProcessorOverallGain = 6,

Type Changed: AudioUnit.AudioUnitParameterUnit

Added value:

MIDI2Controller = 27,

Type Changed: AudioUnit.AudioUnitPropertyIDType

Added values:

AudioUnitMIDIProtocol = 64,
HostMIDIProtocol = 65,
LastRenderSampleTime = 61,
MIDIOutputEventListCallback = 63,
MutedSpeechActivityEventListener = 2106,

New Type: AudioUnit.AUVoiceIOSpeechActivityEvent

[Serializable]
public enum AUVoiceIOSpeechActivityEvent {
	Ended = 1,
	Started = 0,
}

Namespace AuthenticationServices

Type Changed: AuthenticationServices.ASAuthorizationError

Added value:

NotInteractive = 1005,

Type Changed: AuthenticationServices.ASAuthorizationProviderExtensionAuthorizationRequest

Added method:

public virtual void Complete (ASAuthorizationProviderExtensionAuthorizationResult authorizationResult);

Type Changed: AuthenticationServices.ASAuthorizationSingleSignOnCredential

Added property:

public virtual Security.SecKey[] PrivateKeys { get; }

Type Changed: AuthenticationServices.ASAuthorizationSingleSignOnRequest

Added property:

public virtual bool UserInterfaceEnabled { get; set; }

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertion

public class ASAuthorizationPlatformPublicKeyCredentialAssertion : Foundation.NSObject, IASAuthorizationCredential, IASAuthorizationPublicKeyCredentialAssertion, IASPublicKeyCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationPlatformPublicKeyCredentialAssertion ();
	public ASAuthorizationPlatformPublicKeyCredentialAssertion (Foundation.NSCoder coder);
	protected ASAuthorizationPlatformPublicKeyCredentialAssertion (Foundation.NSObjectFlag t);
	protected ASAuthorizationPlatformPublicKeyCredentialAssertion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual Foundation.NSData RawAuthenticatorData { get; }
	public virtual Foundation.NSData RawClientDataJson { get; }
	public virtual Foundation.NSData Signature { get; }
	public virtual Foundation.NSData UserId { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialAssertionRequest

public class ASAuthorizationPlatformPublicKeyCredentialAssertionRequest : AuthenticationServices.ASAuthorizationRequest, IASAuthorizationPublicKeyCredentialAssertionRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationPlatformPublicKeyCredentialAssertionRequest (Foundation.NSCoder coder);
	protected ASAuthorizationPlatformPublicKeyCredentialAssertionRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationPlatformPublicKeyCredentialAssertionRequest (IntPtr handle);
	// properties
	public virtual IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public override IntPtr ClassHandle { get; }
	public ASAuthorizationPlatformPublicKeyCredentialDescriptor[] PlatformAllowedCredentials { get; set; }
	public virtual string RelyingPartyIdentifier { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialDescriptor

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

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialProvider

public class ASAuthorizationPlatformPublicKeyCredentialProvider : Foundation.NSObject, IASAuthorizationProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ASAuthorizationPlatformPublicKeyCredentialProvider (Foundation.NSObjectFlag t);
	protected ASAuthorizationPlatformPublicKeyCredentialProvider (IntPtr handle);
	public ASAuthorizationPlatformPublicKeyCredentialProvider (string relyingPartyIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string RelyingPartyIdentifier { get; }
	// methods
	public virtual ASAuthorizationPlatformPublicKeyCredentialAssertionRequest CreateCredentialAssertionRequest (Foundation.NSData challenge);
	public virtual ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest CreateCredentialRegistrationRequest (Foundation.NSData challenge, string name, Foundation.NSData userId);
}

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistration

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

New Type: AuthenticationServices.ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest

public class ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest : AuthenticationServices.ASAuthorizationRequest, IASAuthorizationPublicKeyCredentialRegistrationRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest (Foundation.NSCoder coder);
	protected ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest (IntPtr handle);
	// properties
	public virtual Foundation.NSString AttestationPreference { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string DisplayName { get; set; }
	public virtual string Name { get; set; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual Foundation.NSData UserId { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationProviderExtensionAuthorizationResult

public class ASAuthorizationProviderExtensionAuthorizationResult : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationProviderExtensionAuthorizationResult (Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> httpAuthorizationHeaders);
	protected ASAuthorizationProviderExtensionAuthorizationResult (Foundation.NSObjectFlag t);
	protected ASAuthorizationProviderExtensionAuthorizationResult (IntPtr handle);
	public ASAuthorizationProviderExtensionAuthorizationResult (Foundation.NSHttpUrlResponse httpResponse, Foundation.NSData httpBody);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSString> HttpAuthorizationHeaders { get; set; }
	public virtual Foundation.NSData HttpBody { get; set; }
	public virtual Foundation.NSHttpUrlResponse HttpResponse { get; set; }
	public virtual Security.SecKey[] PrivateKeys { get; set; }
	// methods
	protected override void Dispose (bool disposing);
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialAttestationKind

public static class ASAuthorizationPublicKeyCredentialAttestationKind {
	// properties
	public static Foundation.NSString Direct { get; }
	public static Foundation.NSString Enterprise { get; }
	public static Foundation.NSString Indirect { get; }
	public static Foundation.NSString None { get; }
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialParameters

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

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialResidentKeyPreference

[Serializable]
public enum ASAuthorizationPublicKeyCredentialResidentKeyPreference {
	Discouraged = 0,
	Preferred = 1,
	Required = 2,
}

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialResidentKeyPreferenceExtensions

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

New Type: AuthenticationServices.ASAuthorizationPublicKeyCredentialUserVerificationPreference

public static class ASAuthorizationPublicKeyCredentialUserVerificationPreference {
	// properties
	public static Foundation.NSString Discouraged { get; }
	public static Foundation.NSString Preferred { get; }
	public static Foundation.NSString Required { get; }
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertion

public class ASAuthorizationSecurityKeyPublicKeyCredentialAssertion : Foundation.NSObject, IASAuthorizationCredential, IASAuthorizationPublicKeyCredentialAssertion, IASPublicKeyCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationSecurityKeyPublicKeyCredentialAssertion ();
	public ASAuthorizationSecurityKeyPublicKeyCredentialAssertion (Foundation.NSCoder coder);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialAssertion (Foundation.NSObjectFlag t);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialAssertion (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CredentialId { get; }
	public virtual Foundation.NSData RawAuthenticatorData { get; }
	public virtual Foundation.NSData RawClientDataJson { get; }
	public virtual Foundation.NSData Signature { get; }
	public virtual Foundation.NSData UserId { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest

public class ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest : AuthenticationServices.ASAuthorizationRequest, IASAuthorizationPublicKeyCredentialAssertionRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest (Foundation.NSCoder coder);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest (IntPtr handle);
	// properties
	public virtual IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string RelyingPartyIdentifier { get; set; }
	public ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor[] SecurityAllowedCredentials { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor

public class ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor : Foundation.NSObject, IASAuthorizationPublicKeyCredentialDescriptor, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor (Foundation.NSCoder coder);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor (Foundation.NSObjectFlag t);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor (IntPtr handle);
	public ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor (Foundation.NSData credentialId, ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] allowedTransports);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData CredentialId { get; set; }
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] Transports { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	protected override void Dispose (bool disposing);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport

[Serializable]
public enum ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport {
	Bluetooth = 2,
	Nfc = 1,
	Usb = 0,
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportExtensions

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

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialProvider

public class ASAuthorizationSecurityKeyPublicKeyCredentialProvider : Foundation.NSObject, IASAuthorizationProvider, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ASAuthorizationSecurityKeyPublicKeyCredentialProvider (Foundation.NSObjectFlag t);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialProvider (IntPtr handle);
	public ASAuthorizationSecurityKeyPublicKeyCredentialProvider (string relyingPartyIdentifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string RelyingPartyIdentifier { get; }
	// methods
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest Create (Foundation.NSData challenge);
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest Create (Foundation.NSData challenge, string displayName, string name, Foundation.NSData userId);
}

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistration

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

New Type: AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest

public class ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest : AuthenticationServices.ASAuthorizationRequest, IASAuthorizationPublicKeyCredentialRegistrationRequest, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest (Foundation.NSCoder coder);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest (Foundation.NSObjectFlag t);
	protected ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest (IntPtr handle);
	// properties
	public virtual Foundation.NSString AttestationPreference { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual ASAuthorizationPublicKeyCredentialParameters[] CredentialParameters { get; set; }
	public virtual string DisplayName { get; set; }
	public virtual ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor[] ExcludedCredentials { get; set; }
	public virtual string Name { get; set; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual ASAuthorizationPublicKeyCredentialResidentKeyPreference ResidentKeyPreference { get; set; }
	public virtual Foundation.NSData UserId { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: AuthenticationServices.ASCoseAlgorithmIdentifier

[Serializable]
public enum ASCoseAlgorithmIdentifier {
	ES256 = -7,
}

New Type: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertion

public interface IASAuthorizationPublicKeyCredentialAssertion : IASAuthorizationCredential, IASPublicKeyCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData RawAuthenticatorData { get; }
	public virtual Foundation.NSData Signature { get; }
	public virtual Foundation.NSData UserId { get; }
}

New Type: AuthenticationServices.IASAuthorizationPublicKeyCredentialAssertionRequest

public interface IASAuthorizationPublicKeyCredentialAssertionRequest : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IASAuthorizationPublicKeyCredentialDescriptor[] AllowedCredentials { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public virtual string RelyingPartyIdentifier { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
}

New Type: AuthenticationServices.IASAuthorizationPublicKeyCredentialDescriptor

public interface IASAuthorizationPublicKeyCredentialDescriptor : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData CredentialId { get; set; }
}

New Type: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistration

public interface IASAuthorizationPublicKeyCredentialRegistration : IASAuthorizationCredential, IASPublicKeyCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData RawAttestationObject { get; }
}

New Type: AuthenticationServices.IASAuthorizationPublicKeyCredentialRegistrationRequest

public interface IASAuthorizationPublicKeyCredentialRegistrationRequest : Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSString AttestationPreference { get; set; }
	public virtual Foundation.NSData Challenge { get; set; }
	public virtual string DisplayName { get; set; }
	public virtual string Name { get; set; }
	public virtual string RelyingPartyIdentifier { get; }
	public virtual Foundation.NSData UserId { get; set; }
	public virtual Foundation.NSString UserVerificationPreference { get; set; }
}

New Type: AuthenticationServices.IASPublicKeyCredential

public interface IASPublicKeyCredential : IASAuthorizationCredential, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData CredentialId { get; }
	public virtual Foundation.NSData RawClientDataJson { get; }
}

New Type: AuthenticationServices.PublicPrivateKeyAuthentication

public static class PublicPrivateKeyAuthentication {
	// methods
	public static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport[] GetAllSupportedPublicKeyCredentialDescriptorTransports ();
}

Namespace AutomaticAssessmentConfiguration

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentConfiguration

Added properties:

public virtual Foundation.NSDictionary<AEAssessmentApplication,AutomaticAssessmentConfiguration.AEAssessmentParticipantConfiguration> ConfigurationsByApplication { get; }
public virtual AEAssessmentParticipantConfiguration MainParticipantConfiguration { get; }

Added methods:

public virtual void Remove (AEAssessmentApplication application);
public virtual void SetConfiguration (AEAssessmentParticipantConfiguration configuration, AEAssessmentApplication application);

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSession

Added property:

public virtual AEAssessmentConfiguration Configuration { get; }

Added method:

public virtual void Update (AEAssessmentConfiguration configuration);

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSessionDelegate

Added methods:

public virtual void DidUpdate (AEAssessmentSession session);
public virtual void FailedToUpdate (AEAssessmentSession session, AEAssessmentConfiguration configuration, Foundation.NSError error);

Type Changed: AutomaticAssessmentConfiguration.AEAssessmentSessionDelegate_Extensions

Added methods:

public static void DidUpdate (this IAEAssessmentSessionDelegate This, AEAssessmentSession session);
public static void FailedToUpdate (this IAEAssessmentSessionDelegate This, AEAssessmentSession session, AEAssessmentConfiguration configuration, Foundation.NSError error);

New Type: AutomaticAssessmentConfiguration.AEAssessmentApplication

public class AEAssessmentApplication : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public AEAssessmentApplication ();
	protected AEAssessmentApplication (Foundation.NSObjectFlag t);
	protected AEAssessmentApplication (IntPtr handle);
	// properties
	public virtual string BundleIdentifier { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool RequiresSignatureValidation { get; set; }
	public virtual string TeamIdentifier { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: AutomaticAssessmentConfiguration.AEAssessmentParticipantConfiguration

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

Namespace ClassKit

Type Changed: ClassKit.CLSErrorUserInfoKeys

Added property:

public static Foundation.NSString SuccessfulObjectsKey { get; }

Namespace CloudKit

Type Changed: CloudKit.CKAccountStatus

Added value:

TemporarilyUnavailable = 4,

Type Changed: CloudKit.CKErrorCode

Added value:

TemporarilyUnavailable = 36,

Type Changed: CloudKit.CKErrorFields

Added property:

public static Foundation.NSString UserDidResetEncryptedDataKey { get; }

Type Changed: CloudKit.CKFetchDatabaseChangesOperation

Added property:

public virtual System.Action<CKRecordZoneID> RecordZoneWithIdWasDeletedDueToUserEncryptedDataReset { get; set; }

Type Changed: CloudKit.CKFetchRecordZoneChangesOperation

Added property:

public virtual CKFetchRecordZoneChangesRecordWasChangedHandler RecordWasChangedHandler { get; set; }

Type Changed: CloudKit.CKFetchRecordZonesOperation

Added property:

public virtual CKRecordZonePerRecordZoneCompletionHandler PerRecordZoneCompletionHandler { get; set; }

Type Changed: CloudKit.CKFetchShareParticipantsOperation

Added property:

public virtual CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler PerShareParticipantCompletionBlock { get; set; }

Type Changed: CloudKit.CKFetchSubscriptionsOperation

Added property:

public virtual CKFetchSubscriptionsPerSubscriptionCompletionHandler PerSubscriptionCompletionHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordZonesOperation

Added properties:

public virtual CKModifyRecordZonesPerRecordZoneDeleteHandler PerRecordZoneDeleteHandler { get; set; }
public virtual CKModifyRecordZonesPerRecordZoneSaveHandler PerRecordZoneSaveHandler { get; set; }

Type Changed: CloudKit.CKModifyRecordsOperation

Added properties:

public virtual CKModifyRecordsOperationPerRecordDeleteHandler PerRecordDeleteHandler { get; set; }
public virtual CKModifyRecordsOperationPerRecordSaveHandler PerRecordSaveHandler { get; set; }

Type Changed: CloudKit.CKModifySubscriptionsOperation

Added properties:

public virtual CKModifySubscriptionsPerSubscriptionDeleteHandler PerSubscriptionDeleteHandler { get; set; }
public virtual CKModifySubscriptionsPerSubscriptionSaveHandler PerSubscriptionSaveHandler { get; set; }

Type Changed: CloudKit.CKQueryOperation

Added property:

public virtual CKQueryOperationRecordMatchedHandler RecordMatchedHandler { get; set; }

Type Changed: CloudKit.CKRecord

Added property:

public static Foundation.NSString NameZoneWideShare { get; }

Type Changed: CloudKit.CKRecordZone

Added property:

public virtual CKReference Share { get; }

Type Changed: CloudKit.CKRecordZoneCapabilities

Added value:

ZoneWideSharing = 8,

Type Changed: CloudKit.CKShare

Added constructor:

public CKShare (CKRecordZoneID recordZoneId);

Type Changed: CloudKit.CKShareMetadata

Added property:

public virtual CKRecordID HierarchicalRootRecordId { get; }

New Type: CloudKit.CKFetchRecordZoneChangesRecordWasChangedHandler

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

New Type: CloudKit.CKFetchShareParticipantsOperationPerShareParticipantCompletionHandler

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

New Type: CloudKit.CKFetchSubscriptionsPerSubscriptionCompletionHandler

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

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneDeleteHandler

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

New Type: CloudKit.CKModifyRecordZonesPerRecordZoneSaveHandler

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

New Type: CloudKit.CKModifyRecordsOperationPerRecordDeleteHandler

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

New Type: CloudKit.CKModifyRecordsOperationPerRecordSaveHandler

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

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionDeleteHandler

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

New Type: CloudKit.CKModifySubscriptionsPerSubscriptionSaveHandler

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

New Type: CloudKit.CKQueryOperationRecordMatchedHandler

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

New Type: CloudKit.CKRecordZonePerRecordZoneCompletionHandler

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

Namespace Contacts

Type Changed: Contacts.CNErrorCode

Added value:

ChangeHistoryInvalidFetchRequest = 605,

Type Changed: Contacts.CNSaveRequest

Added property:

public virtual string TransactionAuthor { get; set; }

Namespace CoreData

Type Changed: CoreData.NSAttributeDescription

Added property:

public virtual bool AllowsCloudEncryption { get; set; }

Type Changed: CoreData.NSCoreDataCoreSpotlightDelegate

Added constructor:

public NSCoreDataCoreSpotlightDelegate (NSPersistentStoreDescription description, NSPersistentStoreCoordinator psc);

Added properties:

public static Foundation.NSString IndexDidUpdateNotification { get; }
public virtual bool IndexingEnabled { get; }

Added methods:

public virtual void DeleteSpotlightIndex (System.Action<Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task DeleteSpotlightIndexAsync ();
public virtual void StartSpotlightIndexing ();
public virtual void StopSpotlightIndexing ();

Type Changed: CoreData.NSPersistentCloudKitContainer

Added methods:

public virtual void AcceptShareInvitations (CloudKit.CKShareMetadata[] metadata, NSPersistentStore persistentStore, NSPersistentCloudKitContainerAcceptShareInvitationsHandler handler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<CloudKit.CKShareMetadata>> AcceptShareInvitationsAsync (CloudKit.CKShareMetadata[] metadata, NSPersistentStore persistentStore);
public virtual void FetchParticipantsMatchingLookupInfos (CloudKit.CKUserIdentityLookupInfo[] lookupInfos, NSPersistentStore persistentStore, NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosHandler handler);
public virtual System.Threading.Tasks.Task<Foundation.NSArray<CloudKit.CKShareParticipant>> FetchParticipantsMatchingLookupInfosAsync (CloudKit.CKUserIdentityLookupInfo[] lookupInfos, NSPersistentStore persistentStore);
public virtual CloudKit.CKShare[] FetchSharesInPersistentStore (NSPersistentStore persistentStore, out Foundation.NSError error);
public virtual Foundation.NSDictionary<NSManagedObjectID,CloudKit.CKShare> FetchSharesMatchingObjectIds (NSManagedObjectID[] objectIDs, out Foundation.NSError error);
public virtual void PersistUpdatedShare (CloudKit.CKShare share, NSPersistentStore persistentStore, NSPersistentCloudKitContainerPersistUpdatedShareHandler handler);
public virtual System.Threading.Tasks.Task<CloudKit.CKShare> PersistUpdatedShareAsync (CloudKit.CKShare share, NSPersistentStore persistentStore);
public virtual void PurgeObjectsAndRecordsInZone (CloudKit.CKRecordZoneID zoneId, NSPersistentStore persistentStore, NSPersistentCloudKitContainerPurgeObjectsAndRecordsInZoneHandler handler);
public virtual System.Threading.Tasks.Task<CloudKit.CKRecordZoneID> PurgeObjectsAndRecordsInZoneAsync (CloudKit.CKRecordZoneID zoneId, NSPersistentStore persistentStore);
public virtual void ShareManagedObjects (NSManagedObject[] managedObjects, CloudKit.CKShare share, NSPersistentCloudKitContainerShareManagedObjectsHandler handler);
public virtual System.Threading.Tasks.Task<NSPersistentCloudKitContainerShareManagedObjectsResult> ShareManagedObjectsAsync (NSManagedObject[] managedObjects, CloudKit.CKShare share);

New Type: CoreData.NSPersistentCloudKitContainerAcceptShareInvitationsHandler

public sealed delegate NSPersistentCloudKitContainerAcceptShareInvitationsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSPersistentCloudKitContainerAcceptShareInvitationsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<CloudKit.CKShareMetadata> acceptedShareMetadatas, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<CloudKit.CKShareMetadata> acceptedShareMetadatas, Foundation.NSError error);
}

New Type: CoreData.NSPersistentCloudKitContainerAcceptShareInvitationsResult

public class NSPersistentCloudKitContainerAcceptShareInvitationsResult {
	// constructors
	public NSPersistentCloudKitContainerAcceptShareInvitationsResult (Foundation.NSArray<CloudKit.CKShareMetadata> acceptedShareMetadatas);
	// properties
	public Foundation.NSArray<CloudKit.CKShareMetadata> AcceptedShareMetadatas { get; set; }
}

New Type: CoreData.NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosHandler

public sealed delegate NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<CloudKit.CKShareParticipant> fetchedParticipants, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<CloudKit.CKShareParticipant> fetchedParticipants, Foundation.NSError error);
}

New Type: CoreData.NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosResult

public class NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosResult {
	// constructors
	public NSPersistentCloudKitContainerFetchParticipantsMatchingLookupInfosResult (Foundation.NSArray<CloudKit.CKShareParticipant> fetchedParticipants);
	// properties
	public Foundation.NSArray<CloudKit.CKShareParticipant> FetchedParticipants { get; set; }
}

New Type: CoreData.NSPersistentCloudKitContainerPersistUpdatedShareHandler

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

New Type: CoreData.NSPersistentCloudKitContainerPersistUpdatedShareResult

public class NSPersistentCloudKitContainerPersistUpdatedShareResult {
	// constructors
	public NSPersistentCloudKitContainerPersistUpdatedShareResult (CloudKit.CKShare persistedShare);
	// properties
	public CloudKit.CKShare PersistedShare { get; set; }
}

New Type: CoreData.NSPersistentCloudKitContainerPurgeObjectsAndRecordsInZone

public class NSPersistentCloudKitContainerPurgeObjectsAndRecordsInZone {
	// constructors
	public NSPersistentCloudKitContainerPurgeObjectsAndRecordsInZone (CloudKit.CKRecordZoneID purgedZoneId);
	// properties
	public CloudKit.CKRecordZoneID PurgedZoneId { get; set; }
}

New Type: CoreData.NSPersistentCloudKitContainerPurgeObjectsAndRecordsInZoneHandler

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

New Type: CoreData.NSPersistentCloudKitContainerShareManagedObjectsHandler

public sealed delegate NSPersistentCloudKitContainerShareManagedObjectsHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSPersistentCloudKitContainerShareManagedObjectsHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSSet<NSManagedObjectID> sharedObjectIds, CloudKit.CKShare share, CloudKit.CKContainer container, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSSet<NSManagedObjectID> sharedObjectIds, CloudKit.CKShare share, CloudKit.CKContainer container, Foundation.NSError error);
}

New Type: CoreData.NSPersistentCloudKitContainerShareManagedObjectsResult

public class NSPersistentCloudKitContainerShareManagedObjectsResult {
	// constructors
	public NSPersistentCloudKitContainerShareManagedObjectsResult (Foundation.NSSet<NSManagedObjectID> sharedObjectIds, CloudKit.CKShare share, CloudKit.CKContainer container);
	// properties
	public CloudKit.CKContainer Container { get; set; }
	public CloudKit.CKShare Share { get; set; }
	public Foundation.NSSet<NSManagedObjectID> SharedObjectIds { get; set; }
}

Namespace CoreFoundation

Type Changed: CoreFoundation.CFBundle

Type Changed: CoreFoundation.CFBundle.Architecture

Modified fields:

-ARM = 18
+ARM = 12
-ARM64 = 16777234
+ARM64 = 16777228
-PPC = 24
+PPC = 18
-PPC64 = 16777240
+PPC64 = 16777234

Type Changed: CoreFoundation.CFString

Added methods:

public static IntPtr CreateNative (string value);
public static string FromHandle (IntPtr handle);
public static string FromHandle (IntPtr handle, bool releaseHandle);
public static void ReleaseNative (IntPtr handle);

New Type: CoreFoundation.CFArray

public class CFArray : CoreFoundation.NativeObject, ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public nint Count { get; }
	// methods
	public static T[] ArrayFromHandle<T> (IntPtr handle);
	public static IntPtr Create (ObjCRuntime.INativeObject[] values);
	public IntPtr GetValue (nint index);
	public static string[] StringArrayFromHandle (IntPtr handle);
}

Namespace CoreGraphics

Type Changed: CoreGraphics.CGColorSpace

Added properties:

public bool IsHlgBased { get; }
public bool IsPQBased { get; }

Type Changed: CoreGraphics.CGColorSpaceNames

Added properties:

public static Foundation.NSString ExtendedRange { get; }
public static Foundation.NSString LinearDisplayP3 { get; }
public static Foundation.NSString LinearItur_2020 { get; }

Namespace CoreImage

Type Changed: CoreImage.CIContext_ImageRepresentation

Added methods:

public static Foundation.NSData GetHeif10Representation (this CIContext This, CIImage image, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);
public static Foundation.NSData GetHeif10Representation (this CIContext This, CIImage image, CoreGraphics.CGColorSpace colorSpace, Foundation.NSDictionary options, out Foundation.NSError error);
public static bool WriteHeif10Representation (this CIContext This, CIImage image, Foundation.NSUrl url, CoreGraphics.CGColorSpace colorSpace, CIImageRepresentationOptions options, out Foundation.NSError error);
public static bool WriteHeif10Representation (this CIContext This, CIImage image, Foundation.NSUrl url, CoreGraphics.CGColorSpace colorSpace, Foundation.NSDictionary options, out Foundation.NSError error);

Type Changed: CoreImage.CIKernel

Added method:

public static CIKernel[] FromMetalSource (string source, out Foundation.NSError error);

New Type: CoreImage.CIConvolutionRGB3X3

public class CIConvolutionRGB3X3 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB3X3 ();
	public CIConvolutionRGB3X3 (Foundation.NSCoder coder);
	protected CIConvolutionRGB3X3 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB3X3 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB5X5

public class CIConvolutionRGB5X5 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB5X5 ();
	public CIConvolutionRGB5X5 (Foundation.NSCoder coder);
	protected CIConvolutionRGB5X5 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB5X5 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB7X7

public class CIConvolutionRGB7X7 : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB7X7 ();
	public CIConvolutionRGB7X7 (Foundation.NSCoder coder);
	protected CIConvolutionRGB7X7 (Foundation.NSObjectFlag t);
	public CIConvolutionRGB7X7 (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Horizontal

public class CIConvolutionRGB9Horizontal : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Horizontal ();
	public CIConvolutionRGB9Horizontal (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Horizontal (Foundation.NSObjectFlag t);
	public CIConvolutionRGB9Horizontal (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CIConvolutionRGB9Vertical

public class CIConvolutionRGB9Vertical : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIConvolutionRGB9Vertical ();
	public CIConvolutionRGB9Vertical (Foundation.NSCoder coder);
	protected CIConvolutionRGB9Vertical (Foundation.NSObjectFlag t);
	public CIConvolutionRGB9Vertical (IntPtr handle);
	// properties
	public float Bias { get; set; }
	public virtual CIImage OutputImage { get; }
	public CIVector Weights { get; set; }
}

New Type: CoreImage.CILinearLightBlendMode

public class CILinearLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CILinearLightBlendMode ();
	public CILinearLightBlendMode (Foundation.NSCoder coder);
	protected CILinearLightBlendMode (Foundation.NSObjectFlag t);
	public CILinearLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.CIPersonSegmentation

public class CIPersonSegmentation : CoreImage.CIFilter, ICIFilterProtocol, ICIPersonSegmentationProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIPersonSegmentation ();
	public CIPersonSegmentation (Foundation.NSCoder coder);
	protected CIPersonSegmentation (Foundation.NSObjectFlag t);
	public CIPersonSegmentation (IntPtr handle);
	// properties
	public virtual CIImage InputImage { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual nuint QualityLevel { get; set; }
}

New Type: CoreImage.CIRawDecoderVersion

[Serializable]
public enum CIRawDecoderVersion {
	Version6 = 5,
	Version6Dng = 6,
	Version7 = 3,
	Version7Dng = 4,
	Version8 = 1,
	Version8Dng = 2,
	VersionNone = 0,
}

New Type: CoreImage.CIRawDecoderVersionExtensions

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

New Type: CoreImage.CIRawFilter

public class CIRawFilter : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIRawFilter ();
	public CIRawFilter (Foundation.NSCoder coder);
	protected CIRawFilter (Foundation.NSObjectFlag t);
	protected CIRawFilter (IntPtr handle);
	// properties
	public virtual float BaselineExposure { get; set; }
	public virtual float BoostAmount { get; set; }
	public virtual float BoostShadowAmount { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual float ColorNoiseReductionAmount { get; set; }
	public virtual bool ColorNoiseReductionSupported { get; }
	public virtual float ContrastAmount { get; set; }
	public virtual bool ContrastSupported { get; }
	public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> CustomAttributes { get; }
	public virtual string DecoderVersion { get; set; }
	public virtual float DetailAmount { get; set; }
	public virtual bool DetailSupported { get; }
	public virtual bool DraftModeEnabled { get; set; }
	public virtual float Exposure { get; set; }
	public virtual float ExtendedDynamicRangeAmount { get; set; }
	public virtual bool GamutMappingEnabled { get; set; }
	public virtual bool LensCorrectionEnabled { get; set; }
	public virtual bool LensCorrectionSupported { get; }
	public virtual CIFilter LinearSpaceFilter { get; set; }
	public virtual float LocalToneMapAmount { get; set; }
	public virtual bool LocalToneMapSupported { get; }
	public virtual float LuminanceNoiseReductionAmount { get; set; }
	public virtual bool LuminanceNoiseReductionSupported { get; }
	public virtual float MoireReductionAmount { get; set; }
	public virtual bool MoireReductionSupported { get; }
	public virtual CoreGraphics.CGSize NativeSize { get; }
	public virtual CoreGraphics.CGPoint NeutralChromaticity { get; set; }
	public virtual CoreGraphics.CGPoint NeutralLocation { get; set; }
	public virtual float NeutralTemperature { get; set; }
	public virtual float NeutralTint { get; set; }
	public virtual ImageIO.CGImagePropertyOrientation Orientation { get; set; }
	public virtual CIImage OutputImage { get; }
	public virtual CIImage PortraitEffectsMatte { get; }
	public virtual CIImage PreviewImage { get; }
	public virtual Foundation.NSDictionary Properties { get; }
	public virtual float ScaleFactor { get; set; }
	public virtual CIImage SemanticSegmentationGlassesMatte { get; }
	public virtual CIImage SemanticSegmentationHairMatte { get; }
	public virtual CIImage SemanticSegmentationSkinMatte { get; }
	public virtual CIImage SemanticSegmentationSkyMatte { get; }
	public virtual CIImage SemanticSegmentationTeethMatte { get; }
	public virtual float ShadowBias { get; set; }
	public virtual float SharpnessAmount { get; set; }
	public virtual bool SharpnessSupported { get; }
	public static string[] SupportedCameraModels { get; }
	public virtual string[] SupportedDecoderVersions { get; }
	// methods
	public static CIRawFilter Create (Foundation.NSUrl url);
	public static CIRawFilter Create (CoreVideo.CVPixelBuffer buffer, Foundation.NSDictionary properties);
	public static CIRawFilter Create (Foundation.NSData data, string identifierHint);
}

New Type: CoreImage.CIVividLightBlendMode

public class CIVividLightBlendMode : CoreImage.CIFilter, ICIFilterProtocol, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public CIVividLightBlendMode ();
	public CIVividLightBlendMode (Foundation.NSCoder coder);
	protected CIVividLightBlendMode (Foundation.NSObjectFlag t);
	public CIVividLightBlendMode (IntPtr handle);
	// properties
	public CIImage BackgroundImage { get; set; }
	public virtual CIImage OutputImage { get; }
}

New Type: CoreImage.ICIPersonSegmentationProtocol

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

Namespace CoreLocation

Type Changed: CoreLocation.CLLocation

Added constructor:

public CLLocation (CLLocationCoordinate2D coordinate, double altitude, double horizontalAccuracy, double verticalAccuracy, double course, double courseAccuracy, double speed, double speedAccuracy, Foundation.NSDate timestamp, CLLocationSourceInformation sourceInfo);

Added properties:

public virtual double EllipsoidalAltitude { get; }
public virtual CLLocationSourceInformation SourceInformation { get; }

New Type: CoreLocation.CLLocationPushServiceError

[Serializable]
public enum CLLocationPushServiceError {
	MissingEntitlement = 3,
	MissingPushExtension = 1,
	MissingPushServerEnvironment = 2,
	Unknown = 0,
}

New Type: CoreLocation.CLLocationPushServiceErrorExtensions

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

New Type: CoreLocation.CLLocationPushServiceExtension_Extensions

public static class CLLocationPushServiceExtension_Extensions {
	// methods
	public static void ServiceExtensionWillTerminate (this ICLLocationPushServiceExtension This);
}

New Type: CoreLocation.CLLocationSourceInformation

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

New Type: CoreLocation.ICLLocationPushServiceExtension

public interface ICLLocationPushServiceExtension : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DidReceiveLocationPushPayload (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> payload, System.Action completion);
}

Namespace CoreMedia

Type Changed: CoreMedia.CMClockOrTimebase

Added properties:

public CMClock SourceClock { get; set; }
public CMTimebase SourceTimebase { get; set; }
public CMClock UltimateSourceClock { get; }

Type Changed: CoreMedia.CMTimebase

Added constructors:

public CMTimebase (CoreFoundation.CFAllocator allocator, CMClock sourceClock);
public CMTimebase (CoreFoundation.CFAllocator allocator, CMTimebase sourceTimebase);

Namespace CoreMidi

Type Changed: CoreMidi.Midi

Added properties:

public static Foundation.NSString NetworkBonjourServiceType { get; }
public static Foundation.NSString NetworkNotificationContactsDidChange { get; }
public static Foundation.NSString NetworkNotificationSessionDidChange { get; }

Type Changed: CoreMidi.MidiCISession

Obsoleted constructors:

 [Obsolete ("Always throws 'NotSupportedException' (not a public API).")]
 public MidiCISession (uint entity, System.Action handler);

New Type: CoreMidi.MidiNetworkConnection

public class MidiNetworkConnection : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkConnection (Foundation.NSObjectFlag t);
	protected MidiNetworkConnection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MidiNetworkHost Host { get; }
	// methods
	public static MidiNetworkConnection FromHost (MidiNetworkHost host);
}

New Type: CoreMidi.MidiNetworkHost

public class MidiNetworkHost : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkHost (Foundation.NSObjectFlag t);
	protected MidiNetworkHost (IntPtr handle);
	// properties
	public virtual string Address { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string Name { get; }
	public virtual string NetServiceDomain { get; }
	public virtual string NetServiceName { get; }
	public virtual nint Port { get; }
	// methods
	public static MidiNetworkHost Create (string hostName, Foundation.NSNetService netService);
	public static MidiNetworkHost Create (string hostName, string netServiceName, string netServiceDomain);
	public static MidiNetworkHost Create (string hostName, string address, nint port);
	public virtual bool HasSameAddressAs (MidiNetworkHost other);
}

New Type: CoreMidi.MidiNetworkSession

public class MidiNetworkSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MidiNetworkSession (Foundation.NSObjectFlag t);
	protected MidiNetworkSession (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MidiNetworkConnectionPolicy ConnectionPolicy { get; set; }
	public virtual Foundation.NSSet Connections { get; }
	public virtual Foundation.NSSet Contacts { get; }
	public static MidiNetworkSession DefaultSession { get; }
	public MidiEndpoint DestinationEndPoint { get; }
	public virtual bool Enabled { get; set; }
	public virtual string LocalName { get; }
	public virtual string NetworkName { get; }
	public virtual nint NetworkPort { get; }
	public MidiEndpoint SourceEndpoint { get; }
	// methods
	public virtual bool AddConnection (MidiNetworkConnection connection);
	public virtual bool AddContact (MidiNetworkHost contact);
	public virtual bool RemoveConnection (MidiNetworkConnection connection);
	public virtual bool RemoveContact (MidiNetworkHost contact);
}

Namespace CoreSpotlight

Type Changed: CoreSpotlight.CSSearchableItemAttributeSet

Added property:

public virtual Foundation.NSUrl DarkThumbnailUrl { get; set; }

New Type: CoreSpotlight.CSImportExtension

public abstract class CSImportExtension : Foundation.NSObject, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected CSImportExtension ();
	protected CSImportExtension (Foundation.NSObjectFlag t);
	protected CSImportExtension (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);
	public virtual bool Update (CSSearchableItemAttributeSet attributes, Foundation.NSUrl contentUrl, out Foundation.NSError error);
}

Namespace CoreText

Type Changed: CoreText.CTRunDelegate

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~CTRunDelegate ();

Type Changed: CoreText.CTRunDelegateOperations

Added property:

public IntPtr Handle { get; }

Namespace CoreVideo

Type Changed: CoreVideo.CVBuffer

Added method:

public bool HasAttachment (Foundation.NSString key);

Type Changed: CoreVideo.CVDisplayLink

Added methods:

public static CVDisplayLink CreateFromDisplayId (uint displayId);
public static CVDisplayLink CreateFromDisplayId (uint displayId, out CVReturn error);
public static CVDisplayLink CreateFromDisplayIds (uint[] displayIds);
public static CVDisplayLink CreateFromDisplayIds (uint[] displayIds, out CVReturn error);
public static CVDisplayLink CreateFromOpenGLMask (uint mask);
public static CVDisplayLink CreateFromOpenGLMask (uint mask, out CVReturn error);
public static nuint GetTypeId ();
public bool TryTranslateTime (CVTimeStamp inTime, ref CVTimeStamp outTime);

Type Changed: CoreVideo.CVImageBuffer

Added properties:

public static Foundation.NSString AmbientViewingEnvironmentKey { get; }
public static Foundation.NSString RegionOfInterestKey { get; }

Type Changed: CoreVideo.CVMetalTextureCache

Removed constructor:

public CVMetalTextureCache ();

Added constructors:

public CVMetalTextureCache (Metal.IMTLDevice metalDevice);
public CVMetalTextureCache (Metal.IMTLDevice metalDevice, CVMetalTextureAttributes textureAttributes);

Added interfaces:

ObjCRuntime.INativeObject
System.IDisposable

Added property:

public virtual IntPtr Handle { get; }

Added methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
public void Flush (CVOptionFlags flags);
public static CVMetalTextureCache FromDevice (Metal.IMTLDevice metalDevice);
public static CVMetalTextureCache FromDevice (Metal.IMTLDevice metalDevice, CVMetalTextureAttributes textureAttributes);
public static CVMetalTextureCache FromDevice (Metal.IMTLDevice metalDevice, CVMetalTextureAttributes textureAttributes, out CVReturn creationErr);
public CVMetalTexture TextureFromImage (CVImageBuffer imageBuffer, Metal.MTLPixelFormat format, nint width, nint height, nint planeIndex, out CVReturn errorCode);
protected override void ~CVMetalTextureCache ();

Type Changed: CoreVideo.CVPixelBuffer

Added properties:

public static Foundation.NSString MetadataExtension { get; }
public static Foundation.NSString ProResRawKey_BlackLevel { get; }
public static Foundation.NSString ProResRawKey_ColorMatrix { get; }
public static Foundation.NSString ProResRawKey_GainFactor { get; }
public static Foundation.NSString ProResRawKey_RecommendedCrop { get; }
public static Foundation.NSString ProResRawKey_SenselSitingOffsets { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceBlueFactor { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceCct { get; }
public static Foundation.NSString ProResRawKey_WhiteBalanceRedFactor { get; }
public static Foundation.NSString ProResRawKey_WhiteLevel { get; }
public static Foundation.NSString VersatileBayerKey_BayerPattern { get; }

Added method:

public CVPixelBufferAttributes GetPixelBufferCreationAttributes ();

Type Changed: CoreVideo.CVPixelBufferPool

Added properties:

public static Foundation.NSString AmbientViewingEnvironmentKey { get; }
public static Foundation.NSString RegionOfInterestKey { get; }

New Type: CoreVideo.CVImageBufferAlphaChannelModeExtensions

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

New Type: CoreVideo.CVMetalTexture

public class CVMetalTexture : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual IntPtr Handle { get; }
	public bool IsFlipped { get; }
	public Metal.IMTLTexture Texture { get; }
	// methods
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public void GetCleanTexCoords (out float[] lowerLeft, out float[] lowerRight, out float[] upperRight, out float[] upperLeft);
	protected override void ~CVMetalTexture ();
}

New Type: CoreVideo.CVPixelFormatTypeExtensions

public static class CVPixelFormatTypeExtensions {
	// methods
	public static bool IsCompressedPixelFormatAvailable (this CVPixelFormatType type);
}

Namespace CoreWlan

Type Changed: CoreWlan.CWConfiguration

Added method:

public static CWConfiguration Create (CWConfiguration configuration);

Type Changed: CoreWlan.CWMutableConfiguration

Added properties:

public virtual Foundation.NSOrderedSet<CWNetworkProfile> NetworkProfiles { get; set; }
public virtual bool RequireAdministratorForAssociation { get; set; }

Type Changed: CoreWlan.CWMutableNetworkProfile

Added properties:

public virtual CWSecurity Security { get; set; }
public virtual Foundation.NSData SsidData { get; set; }

Type Changed: CoreWlan.CWPhyMode

Added value:

AX = 6,

New Type: CoreWlan.CWKeychain

public static class CWKeychain {
	// methods
	public static bool TryDeleteWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid);
	public static bool TryDeleteWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, out int status);
	public static bool TryDeleteWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid);
	public static bool TryDeleteWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, out int status);
	public static bool TryFindWiFiEAPIdentity (CWKeychainDomain domain, Foundation.NSData ssid, out Security.SecIdentity identity);
	public static bool TryFindWiFiEAPIdentity (CWKeychainDomain domain, Foundation.NSData ssid, out Security.SecIdentity identity, out int status);
	public static bool TryFindWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, out Foundation.NSString username, out Foundation.NSString password);
	public static bool TryFindWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, out string username, out string password);
	public static bool TryFindWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, out Foundation.NSString username, out Foundation.NSString password, out int status);
	public static bool TryFindWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, out string username, out string password, out int status);
	public static bool TryFindWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, out Foundation.NSString password);
	public static bool TryFindWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, out string password);
	public static bool TryFindWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, out Foundation.NSString password, out int status);
	public static bool TryFindWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, out string password, out int status);
	public static bool TryGetEAPIdentityList (Foundation.NSArray list);
	public static bool TryGetEAPIdentityList (Foundation.NSArray list, out int status);
	public static bool TrySetWiFiEAPIdentity (CWKeychainDomain domain, Foundation.NSData ssid, Security.SecIdentity identity);
	public static bool TrySetWiFiEAPIdentity (CWKeychainDomain domain, Foundation.NSData ssid, Security.SecIdentity identity, out int status);
	public static bool TrySetWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, Foundation.NSString username, Foundation.NSString password);
	public static bool TrySetWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, string username, string password);
	public static bool TrySetWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, Foundation.NSString username, Foundation.NSString password, out int status);
	public static bool TrySetWiFiEAPUsernameAndPassword (CWKeychainDomain domain, Foundation.NSData ssid, string username, string password, out int status);
	public static bool TrySetWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, Foundation.NSString password);
	public static bool TrySetWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, string password);
	public static bool TrySetWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, Foundation.NSString password, out int status);
	public static bool TrySetWiFiPassword (CWKeychainDomain domain, Foundation.NSData ssid, string password, out int status);
}

Namespace EventKit

Type Changed: EventKit.EKErrorCode

Added value:

ReminderAlarmContainsEmailOrUrl = 36,

New Type: EventKit.EKVirtualConferenceDescriptor

public class EKVirtualConferenceDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKVirtualConferenceDescriptor (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceDescriptor (IntPtr handle);
	public EKVirtualConferenceDescriptor (string title, EKVirtualConferenceUrlDescriptor[] urlDescriptors, string conferenceDetails);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string ConferenceDetails { get; }
	public virtual string Title { get; }
	public virtual EKVirtualConferenceUrlDescriptor[] UrlDescriptors { get; }
}

New Type: EventKit.EKVirtualConferenceProvider

public class EKVirtualConferenceProvider : Foundation.NSObject, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public EKVirtualConferenceProvider ();
	protected EKVirtualConferenceProvider (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceProvider (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void BeginRequestWithExtensionContext (Foundation.NSExtensionContext context);
	public virtual void FetchAvailableRoomTypes (VirtualConferenceRoomTypeHandler handler);
	public virtual System.Threading.Tasks.Task<Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor>> FetchAvailableRoomTypesAsync ();
	public virtual void FetchVirtualConference (string identifier, VirtualConferenceHandler handler);
	public virtual System.Threading.Tasks.Task<EKVirtualConferenceDescriptor> FetchVirtualConferenceAsync (string identifier);
}

New Type: EventKit.EKVirtualConferenceRoomTypeDescriptor

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

New Type: EventKit.EKVirtualConferenceUrlDescriptor

public class EKVirtualConferenceUrlDescriptor : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected EKVirtualConferenceUrlDescriptor (Foundation.NSObjectFlag t);
	protected EKVirtualConferenceUrlDescriptor (IntPtr handle);
	public EKVirtualConferenceUrlDescriptor (string title, Foundation.NSUrl url);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual string Title { get; }
	public virtual Foundation.NSUrl Url { get; }
}

New Type: EventKit.VirtualConferenceHandler

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

New Type: EventKit.VirtualConferenceRoomTypeHandler

public sealed delegate VirtualConferenceRoomTypeHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public VirtualConferenceRoomTypeHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor> virtualConferenceRoomTypeDescriptor, Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (Foundation.NSArray<EKVirtualConferenceRoomTypeDescriptor> virtualConferenceRoomTypeDescriptor, Foundation.NSError error);
}

Namespace FileProvider

Type Changed: FileProvider.NSFileProviderDomain

Added property:

public virtual Foundation.NSData BackingStoreIdentity { get; }

Type Changed: FileProvider.NSFileProviderItemFields

Added value:

TypeAndCreator = 1024,

Type Changed: FileProvider.NSFileProviderItem_Extensions

Added method:

public static NSFileProviderTypeAndCreator GetTypeAndCreator (this INSFileProviderItem This);

Type Changed: FileProvider.NSFileProviderManager

Added methods:

public static void RemoveDomain (NSFileProviderDomain domain, NSFileProviderDomainRemovalMode mode, System.Action<Foundation.NSUrl,Foundation.NSError> completionHandler);
public static System.Threading.Tasks.Task<Foundation.NSUrl> RemoveDomainAsync (NSFileProviderDomain domain, NSFileProviderDomainRemovalMode mode);

New Type: FileProvider.INSFileProviderUserInteractionSuppressing

public interface INSFileProviderUserInteractionSuppressing : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual bool IsInteractionSuppressed (string suppressionIdentifier);
	public virtual void SetInteractionSuppressed (bool suppression, string suppressionIdentifier);
}

New Type: FileProvider.NSFileProviderDomainRemovalMode

[Serializable]
public enum NSFileProviderDomainRemovalMode {
	PreserveDirtyUserData = 1,
	PreserveDownloadedUserData = 2,
	RemoveAll = 0,
}

New Type: FileProvider.NSFileProviderRemoveDomainResult

public class NSFileProviderRemoveDomainResult {
	// constructors
	public NSFileProviderRemoveDomainResult (Foundation.NSUrl arg1);
	// properties
	public Foundation.NSUrl Arg1 { get; set; }
}

New Type: FileProvider.NSFileProviderTypeAndCreator

public struct NSFileProviderTypeAndCreator {
	// fields
	public uint Creator;
	public uint Type;
	// methods
	public string GetCreatorAsFourCC ();
	public string GetTypeAsFourCC ();
}

Namespace Foundation

Type Changed: Foundation.NSArray

Obsoleted methods:

 [Obsolete ("Use of 'CFArray.StringArrayFromHandle' offers better performance.")]
 public static string[] StringArrayFromHandle (IntPtr handle);

Type Changed: Foundation.NSMutableCharacterSet

Added properties:

public static NSCharacterSet Alphanumerics { get; }
public static NSCharacterSet Capitalized { get; }
public static NSCharacterSet Controls { get; }
public static NSCharacterSet DecimalDigits { get; }
public static NSCharacterSet Decomposables { get; }
public static NSCharacterSet Illegals { get; }
public static NSCharacterSet Letters { get; }
public static NSCharacterSet LowercaseLetters { get; }
public static NSCharacterSet Marks { get; }
public static NSCharacterSet Newlines { get; }
public static NSCharacterSet Punctuation { get; }
public static NSCharacterSet Symbols { get; }
public static NSCharacterSet UppercaseLetters { get; }
public static NSCharacterSet WhitespaceAndNewlines { get; }
public static NSCharacterSet Whitespaces { get; }

Modified methods:

-public virtual void AddCharacters (string aString)
+public virtual void AddCharacters (string str)
-public virtual void RemoveCharacters (string aString)
+public virtual void RemoveCharacters (string str)

Added methods:

public virtual void AddCharacters (NSRange aRange);
public static NSCharacterSet FromBitmapRepresentation (NSData data);
public static NSCharacterSet FromFile (string path);
public static NSCharacterSet FromRange (NSRange aRange);
public static NSCharacterSet FromString (string aString);

Type Changed: Foundation.NSString

Obsoleted methods:

 [Obsolete ("Use of 'CFString.CreateNative' offers better performance.")]
 public static IntPtr CreateNative (string str);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr usrhandle);
 [Obsolete ("Use of 'CFString.FromHandle' offers better performance.")]
 public static string FromHandle (IntPtr handle, bool owns);

Type Changed: Foundation.NSUserActivity

Added property:

public virtual string SuggestedInvocationPhrase { get; set; }

New Type: Foundation.NSStringEnumerationOptions

[Serializable]
[Flags]
public enum NSStringEnumerationOptions {
	ByCaretPositions = 5,
	ByComposedCharacterSequences = 2,
	ByDeletionClusters = 6,
	ByLines = 0,
	ByParagraphs = 1,
	BySentences = 4,
	ByWords = 3,
	Localized = 1024,
	Reverse = 256,
	SubstringNotRequired = 512,
}

Namespace GLKit

Type Changed: GLKit.GLKVertexAttributeParameters

Modified fields:

-[MarshalAs]
+
 public bool Normalized;

Namespace GameController

Type Changed: GameController.GCExtendedGamepadSnapshotData

Modified fields:

-[MarshalAs]
+
 public bool SupportsClickableThumbsticks;

Type Changed: GameController.GCInput

Added property:

public static Foundation.NSString ButtonShare { get; }

Type Changed: GameController.GCInputDirectional

Added values:

CenterButton = 2,
TouchSurfaceButton = 3,

Type Changed: GameController.GCKey

Added properties:

public static Foundation.NSString F13 { get; }
public static Foundation.NSString F14 { get; }
public static Foundation.NSString F15 { get; }
public static Foundation.NSString F16 { get; }
public static Foundation.NSString F17 { get; }
public static Foundation.NSString F18 { get; }
public static Foundation.NSString F19 { get; }
public static Foundation.NSString F20 { get; }

Type Changed: GameController.GCKeyCode

Added properties:

public static nint F13 { get; }
public static nint F14 { get; }
public static nint F15 { get; }
public static nint F16 { get; }
public static nint F17 { get; }
public static nint F18 { get; }
public static nint F19 { get; }
public static nint F20 { get; }

Type Changed: GameController.GCPhysicalInputProfile

Added properties:

public virtual Foundation.NSSet<GCControllerTouchpad> AllTouchpads { get; }
public virtual bool HasRemappedElements { get; }
public virtual Foundation.NSDictionary<Foundation.NSString,GameController.GCControllerTouchpad> Touchpads { get; }

Added methods:

public virtual string GetMappedElementAlias (string physicalInputName);
public virtual Foundation.NSSet<Foundation.NSString> GetMappedPhysicalInputNames (string elementAlias);

Type Changed: GameController.GCXboxGamepad

Added property:

public virtual GCControllerButtonInput ButtonShare { get; }

New Type: GameController.GCInputMicroGamepad

[Serializable]
public enum GCInputMicroGamepad {
	ButtonA = 1,
	ButtonMenu = 3,
	ButtonX = 2,
	Dpad = 0,
}

New Type: GameController.GCInputMicroGamepadExtensions

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

Namespace GameKit

Type Changed: GameKit.GKError

Added value:

FriendRequestNotAvailable = 103,

Type Changed: GameKit.GKGameCenterViewControllerState

Added value:

LocalPlayerFriendsList = 5,

Type Changed: GameKit.GKLocalPlayer

Added property:

public virtual bool IsPresentingFriendRequestViewController { get; }

Added method:

public virtual bool PresentFriendRequestCreator (AppKit.NSWindow window, out Foundation.NSError error);

Type Changed: GameKit.GKMatchmakerViewController

Added property:

public virtual bool CanStartWithMinimumPlayers { get; set; }

Type Changed: GameKit.GKMatchmakingMode

Added value:

InviteOnly = 3,

Type Changed: GameKit.GKTurnBasedMatchmakerViewController

Added property:

public virtual GKMatchmakingMode MatchmakingMode { get; set; }

Namespace ImageIO

Type Changed: ImageIO.CGImageProperties

Added properties:

public static Foundation.NSString GroupImageIndexLeft { get; }
public static Foundation.NSString GroupImageIndexRight { get; }
public static Foundation.NSString GroupImageIsAlternateImage { get; }
public static Foundation.NSString GroupImageIsLeftImage { get; }
public static Foundation.NSString GroupImageIsRightImage { get; }
public static Foundation.NSString GroupImagesAlternate { get; }
public static Foundation.NSString GroupIndex { get; }
public static Foundation.NSString GroupType { get; }
public static Foundation.NSString GroupTypeAlternate { get; }
public static Foundation.NSString GroupTypeStereoPair { get; }
public static Foundation.NSString Groups { get; }
public static Foundation.NSString ImageIndex { get; }
public static Foundation.NSString PNGPixelsAspectRatio { get; }

Namespace ImageKit

Type Changed: ImageKit.IKCameraDeviceView

Added methods:

public virtual void SetCustomActionControl (AppKit.NSSegmentedControl control);
public virtual void SetCustomDelete (AppKit.NSSegmentedControl control);
public virtual void SetCustomIconSizeSlider (AppKit.NSSlider slider);
public virtual void SetCustomModeControl (AppKit.NSSegmentedControl control);
public virtual void SetCustomRotateControl (AppKit.NSSegmentedControl control);
public virtual void SetShowStatusInfoAsWindowSubtitle (bool value);

Namespace Intents

Type Changed: Intents.INCallRecord

Added properties:

public virtual bool? IsCallerIdBlocked { get; }
public virtual int? NumberOfCalls { get; }
public virtual INPerson[] Participants { get; }

Type Changed: Intents.INIntent

Added property:

public virtual INIntentDonationMetadata DonationMetadata { get; set; }

Type Changed: Intents.INPerson

Added constructors:

public INPerson (INPersonHandle personHandle, Foundation.NSPersonNameComponents nameComponents, string displayName, INImage image, string contactIdentifier, string customIdentifier, bool isMe, INPersonSuggestionType suggestionType);
public INPerson (INPersonHandle personHandle, Foundation.NSPersonNameComponents nameComponents, string displayName, INImage image, string contactIdentifier, string customIdentifier, bool isMe, INPersonSuggestionType suggestionType, INPerson.INPersonType personType);

Added property:

public virtual bool ContactSuggestion { get; }

Type Changed: Intents.INSendMessageIntent

Added constructor:

public INSendMessageIntent (INPerson[] recipients, INOutgoingMessageType outgoingMessageType, string content, INSpeakableString speakableGroupName, string conversationIdentifier, string serviceName, INPerson sender, INSendMessageAttachment[] attachments);

Added interface:

UserNotifications.IUNNotificationContentProviding

Added properties:

public virtual INSendMessageAttachment[] Attachments { get; }
public virtual INOutgoingMessageType OutgoingMessageType { get; }

Type Changed: Intents.INSendMessageIntentHandling_Extensions

Added method:

public static void ResolveOutgoingMessageType (this IINSendMessageIntentHandling This, INSendMessageIntent intent, System.Action<INOutgoingMessageTypeResolutionResult> completion);

Type Changed: Intents.NSUserActivity_IntentsAdditions

Added methods:

public static string GetSuggestedInvocationPhrase (this Foundation.NSUserActivity This);
public static void SetSuggestedInvocationPhrase (this Foundation.NSUserActivity This, string suggestedInvocationPhrase);

New Type: Intents.IINShareFocusStatusIntentHandling

public interface IINShareFocusStatusIntentHandling : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void HandleShareFocusStatus (INShareFocusStatusIntent intent, System.Action<INShareFocusStatusIntentResponse> completion);
}

New Type: Intents.INCallAudioRoute

[Serializable]
public enum INCallAudioRoute {
	BluetoothAudioRoute = 2,
	SpeakerphoneAudioRoute = 1,
	Unknown = 0,
}

New Type: Intents.INCallCapabilityResolutionResult

public class INCallCapabilityResolutionResult : Intents.INIntentResolutionResult, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INCallCapabilityResolutionResult (Foundation.NSObjectFlag t);
	protected INCallCapabilityResolutionResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static INCallCapabilityResolutionResult NeedsValue { get; }
	public static INCallCapabilityResolutionResult NotRequired { get; }
	public static INCallCapabilityResolutionResult Unsupported { get; }
	// methods
	public static INCallCapabilityResolutionResult GetConfirmationRequired (INCallCapability callCapabilityToConfirm);
	public static INCallCapabilityResolutionResult GetConfirmationRequired (Foundation.NSObject itemToConfirm, nint reason);
	public static INCallCapabilityResolutionResult GetSuccess (INCallCapability resolvedCallCapability);
	public static INCallCapabilityResolutionResult GetUnsupported (nint reason);
}

New Type: Intents.INCallRecordFilter

public class INCallRecordFilter : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INCallRecordFilter (Foundation.NSCoder coder);
	protected INCallRecordFilter (Foundation.NSObjectFlag t);
	protected INCallRecordFilter (IntPtr handle);
	public INCallRecordFilter (INPerson[] participants, INCallRecordTypeOptions callTypes, INCallCapability callCapability);
	// properties
	public virtual INCallCapability CallCapability { get; }
	public virtual INCallRecordTypeOptions CallTypes { get; }
	public override IntPtr ClassHandle { get; }
	public virtual INPerson[] Participants { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: Intents.INCallRecordResolutionResult

public class INCallRecordResolutionResult : Intents.INIntentResolutionResult, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INCallRecordResolutionResult ();
	protected INCallRecordResolutionResult (Foundation.NSObjectFlag t);
	protected INCallRecordResolutionResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static INCallRecordResolutionResult NeedsValue { get; }
	public static INCallRecordResolutionResult NotRequired { get; }
	public static INCallRecordResolutionResult Unsupported { get; }
	// methods
	public static INCallRecordResolutionResult GetConfirmationRequired (INCallRecord callRecordToConfirm);
	public static INCallRecordResolutionResult GetConfirmationRequired (Foundation.NSObject itemToConfirm, nint reason);
	public static INCallRecordResolutionResult GetDisambiguation (INCallRecord[] callRecordsToDisambiguate);
	public static INCallRecordResolutionResult GetSuccess (INCallRecord resolvedCallRecord);
	public static INCallRecordResolutionResult GetUnsupported (nint reason);
}

New Type: Intents.INCurrencyAmount

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

New Type: Intents.INFocusStatus

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

New Type: Intents.INFocusStatusAuthorizationStatus

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

New Type: Intents.INFocusStatusCenter

public class INFocusStatusCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INFocusStatusCenter ();
	protected INFocusStatusCenter (Foundation.NSObjectFlag t);
	protected INFocusStatusCenter (IntPtr handle);
	// properties
	public virtual INFocusStatusAuthorizationStatus AuthorizationStatus { get; }
	public override IntPtr ClassHandle { get; }
	public static INFocusStatusCenter DefaultCenter { get; }
	public virtual INFocusStatus FocusStatus { get; }
	// methods
	public virtual void RequestAuthorization (System.Action<INFocusStatusAuthorizationStatus> completionHandler);
	public virtual System.Threading.Tasks.Task<INFocusStatusAuthorizationStatus> RequestAuthorizationAsync ();
}

New Type: Intents.INIntentDonationMetadata

public class INIntentDonationMetadata : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INIntentDonationMetadata (Foundation.NSCoder coder);
	protected INIntentDonationMetadata (Foundation.NSObjectFlag t);
	protected INIntentDonationMetadata (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: Intents.INOutgoingMessageType

[Serializable]
public enum INOutgoingMessageType {
	Audio = 2,
	Text = 1,
	Unknown = 0,
}

New Type: Intents.INOutgoingMessageTypeResolutionResult

public class INOutgoingMessageTypeResolutionResult : Intents.INIntentResolutionResult, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INOutgoingMessageTypeResolutionResult (Foundation.NSObjectFlag t);
	protected INOutgoingMessageTypeResolutionResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static INOutgoingMessageTypeResolutionResult NeedsValue { get; }
	public static INOutgoingMessageTypeResolutionResult NotRequired { get; }
	public static INOutgoingMessageTypeResolutionResult Unsupported { get; }
	// methods
	public static INOutgoingMessageTypeResolutionResult GetConfirmationRequired (INOutgoingMessageType outgoingMessageTypeToConfirm);
	public static INOutgoingMessageTypeResolutionResult GetConfirmationRequired (Foundation.NSObject itemToConfirm, nint reason);
	public static INOutgoingMessageTypeResolutionResult GetSuccess (INOutgoingMessageType resolvedOutgoingMessageType);
	public static INOutgoingMessageTypeResolutionResult GetUnsupported (nint reason);
}

New Type: Intents.INSendMessageAttachment

public class INSendMessageAttachment : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INSendMessageAttachment (Foundation.NSObjectFlag t);
	protected INSendMessageAttachment (IntPtr handle);
	// properties
	public virtual INFile AudioMessageFile { get; }
	public override IntPtr ClassHandle { get; }
	// methods
	public static INSendMessageAttachment Create (INFile audioMessageFile);
}

New Type: Intents.INSendMessageIntentDonationMetadata

public class INSendMessageIntentDonationMetadata : Intents.INIntentDonationMetadata, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INSendMessageIntentDonationMetadata ();
	public INSendMessageIntentDonationMetadata (Foundation.NSCoder coder);
	protected INSendMessageIntentDonationMetadata (Foundation.NSObjectFlag t);
	protected INSendMessageIntentDonationMetadata (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool MentionsCurrentUser { get; set; }
	public virtual bool NotifyRecipientAnyway { get; set; }
	public virtual nuint RecipientCount { get; set; }
	public virtual bool ReplyToCurrentUser { get; set; }
}

New Type: Intents.INShareFocusStatusIntent

public class INShareFocusStatusIntent : Intents.INIntent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INShareFocusStatusIntent (Foundation.NSCoder coder);
	protected INShareFocusStatusIntent (Foundation.NSObjectFlag t);
	public INShareFocusStatusIntent (INFocusStatus focusStatus);
	protected INShareFocusStatusIntent (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INFocusStatus FocusStatus { get; }
}

New Type: Intents.INShareFocusStatusIntentHandling_Extensions

public static class INShareFocusStatusIntentHandling_Extensions {
	// methods
	public static void ConfirmShareFocusStatus (this IINShareFocusStatusIntentHandling This, INShareFocusStatusIntent intent, System.Action<INShareFocusStatusIntentResponse> completion);
}

New Type: Intents.INShareFocusStatusIntentResponse

public class INShareFocusStatusIntentResponse : Intents.INIntentResponse, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public INShareFocusStatusIntentResponse (Foundation.NSCoder coder);
	protected INShareFocusStatusIntentResponse (Foundation.NSObjectFlag t);
	protected INShareFocusStatusIntentResponse (IntPtr handle);
	public INShareFocusStatusIntentResponse (INShareFocusStatusIntentResponseCode code, Foundation.NSUserActivity userActivity);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual INShareFocusStatusIntentResponseCode Code { get; }
}

New Type: Intents.INShareFocusStatusIntentResponseCode

[Serializable]
public enum INShareFocusStatusIntentResponseCode {
	Failure = 4,
	FailureRequiringAppLaunch = 5,
	InProgress = 2,
	Ready = 1,
	Success = 3,
	Unspecified = 0,
}

New Type: Intents.INStartCallCallRecordToCallBackResolutionResult

public class INStartCallCallRecordToCallBackResolutionResult : Intents.INCallRecordResolutionResult, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INStartCallCallRecordToCallBackResolutionResult (Foundation.NSObjectFlag t);
	public INStartCallCallRecordToCallBackResolutionResult (INCallRecordResolutionResult callRecordResolutionResult);
	protected INStartCallCallRecordToCallBackResolutionResult (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static INStartCallCallRecordToCallBackResolutionResult NeedsValue { get; }
	public static INStartCallCallRecordToCallBackResolutionResult NotRequired { get; }
	public static INStartCallCallRecordToCallBackResolutionResult Unsupported { get; }
	// methods
	public static INStartCallCallRecordToCallBackResolutionResult GetConfirmationRequired (INCallRecord callRecordToConfirm);
	public static INStartCallCallRecordToCallBackResolutionResult GetConfirmationRequired (Foundation.NSObject itemToConfirm, nint reason);
	public static INStartCallCallRecordToCallBackResolutionResult GetDisambiguation (INCallRecord[] callRecordsToDisambiguate);
	public static INStartCallCallRecordToCallBackResolutionResult GetSuccess (INCallRecord resolvedCallRecord);
	public static INStartCallCallRecordToCallBackResolutionResult GetUnsupported (INStartCallCallRecordToCallBackUnsupportedReason reason);
	public static INStartCallCallRecordToCallBackResolutionResult GetUnsupported (nint reason);
}

New Type: Intents.INStartCallCallRecordToCallBackUnsupportedReason

[Serializable]
public enum INStartCallCallRecordToCallBackUnsupportedReason {
	NoMatchingCall = 1,
}

New Type: Intents.INStartCallIntent

public class INStartCallIntent : Intents.INIntent, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, UserNotifications.IUNNotificationContentProviding {
	// constructors
	public INStartCallIntent (Foundation.NSCoder coder);
	protected INStartCallIntent (Foundation.NSObjectFlag t);
	protected INStartCallIntent (IntPtr handle);
	public INStartCallIntent (INCallAudioRoute audioRoute, INCallDestinationType destinationType, INPerson[] contacts, INCallRecordType recordTypeForRedialing, INCallCapability callCapability);
	public INStartCallIntent (INCallRecordFilter callRecordFilter, INCallRecord callRecordToCallBack, INCallAudioRoute audioRoute, INCallDestinationType destinationType, INPerson[] contacts, INCallCapability callCapability);
	// properties
	public virtual INCallAudioRoute AudioRoute { get; }
	public virtual INCallCapability CallCapability { get; }
	public virtual INCallRecordFilter CallRecordFilter { get; }
	public virtual INCallRecord CallRecordToCallBack { get; }
	public override IntPtr ClassHandle { get; }
	public virtual INPerson[] Contacts { get; }
	public virtual INCallDestinationType DestinationType { get; }
	public virtual INCallRecordType RecordTypeForRedialing { get; }
}

New Type: Intents.INVoiceShortcut

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

New Type: Intents.INVoiceShortcutCenter

public class INVoiceShortcutCenter : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected INVoiceShortcutCenter (Foundation.NSObjectFlag t);
	protected INVoiceShortcutCenter (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static INVoiceShortcutCenter SharedCenter { get; }
	// methods
	public virtual void GetAllVoiceShortcuts (INVoiceShortcutCenterGetVoiceShortcutsHandler completionHandler);
	public virtual System.Threading.Tasks.Task<INVoiceShortcut[]> GetAllVoiceShortcutsAsync ();
	public virtual void GetVoiceShortcut (Foundation.NSUuid identifier, System.Action<INVoiceShortcut,Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task<INVoiceShortcut> GetVoiceShortcutAsync (Foundation.NSUuid identifier);
	public virtual void SetShortcutSuggestions (INShortcut[] suggestions);
}

New Type: Intents.INVoiceShortcutCenterGetVoiceShortcutsHandler

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

Namespace LinkPresentation

Type Changed: LinkPresentation.LPMetadataProvider

Added methods:

public virtual void StartFetchingMetadata (Foundation.NSUrlRequest request, System.Action<LPLinkMetadata,Foundation.NSError> completionHandler);
public virtual System.Threading.Tasks.Task<LPLinkMetadata> StartFetchingMetadataAsync (Foundation.NSUrlRequest request);

Namespace LocalAuthentication

Type Changed: LocalAuthentication.LAStatus

Added value:

InvalidDimension = -14,

Namespace MLCompute

Type Changed: MLCompute.MLCAdamOptimizer

Added property:

public virtual bool UsesAmsGrad { get; }

Added method:

public static MLCAdamOptimizer Create (MLCOptimizerDescriptor optimizerDescriptor, float beta1, float beta2, float epsilon, bool usesAmsGrad, nuint timeStep);

Type Changed: MLCompute.MLCDataType

Removed value:

Int32 = 7,

Added values:

Float16 = 3,
Inot32 = 7,
Int8 = 8,
UInt8 = 9,

Type Changed: MLCompute.MLCDevice

Added property:

public virtual MLCDeviceType ActualDeviceType { get; }

Added method:

public static MLCDevice GetAneDevice ();

Type Changed: MLCompute.MLCDeviceType

Added value:

Ane = 3,

Type Changed: MLCompute.MLCExecutionOptions

Added value:

PerLayerProfiling = 16,

Type Changed: MLCompute.MLCLayer

Added property:

public virtual MLCDeviceType DeviceType { get; }

Type Changed: MLCompute.MLCOptimizer

Added properties:

public virtual float CustomGlobalNorm { get; }
public virtual MLCGradientClippingType GradientClippingType { get; }
public virtual float MaximumClippingNorm { get; }

Type Changed: MLCompute.MLCOptimizerDescriptor

Added properties:

public virtual float CustomGlobalNorm { get; }
public virtual MLCGradientClippingType GradientClippingType { get; }
public virtual float MaximumClippingNorm { get; }

Added method:

public static MLCOptimizerDescriptor Create (float learningRate, float gradientRescale, bool appliesGradientClipping, MLCGradientClippingType gradientClippingType, float gradientClipMax, float gradientClipMin, float maximumClippingNorm, float customGlobalNorm, MLCRegularizationType regularizationType, float regularizationScale);

Type Changed: MLCompute.MLCTensor

Added methods:

public static MLCTensor Create (nint[] shape, MLCRandomInitializerType randomInitializerType, MLCDataType dataType);
public virtual MLCTensor CreateByDequantizing (MLCDataType type, MLCTensor scale, MLCTensor bias);
public virtual MLCTensor CreateByDequantizing (MLCDataType type, MLCTensor scale, MLCTensor bias, nint axis);
public virtual MLCTensor CreateByQuantizing (MLCDataType type, float scale, nint bias);
public virtual MLCTensor CreateByQuantizing (MLCDataType type, MLCTensor scale, MLCTensor bias, nint axis);

New Type: MLCompute.MLCAdamWOptimizer

public class MLCAdamWOptimizer : MLCompute.MLCOptimizer, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCAdamWOptimizer (Foundation.NSObjectFlag t);
	protected MLCAdamWOptimizer (IntPtr handle);
	// properties
	public virtual float Beta1 { get; }
	public virtual float Beta2 { get; }
	public override IntPtr ClassHandle { get; }
	public virtual float Epsilon { get; }
	public virtual nuint TimeStep { get; }
	public virtual bool UsesAmsGrad { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static MLCAdamWOptimizer GetOptimizer (MLCOptimizerDescriptor optimizerDescriptor);
	public static MLCAdamWOptimizer GetOptimizer (MLCOptimizerDescriptor optimizerDescriptor, float beta1, float beta2, float epsilon, bool usesAmsGrad, nuint timeStep);
}

New Type: MLCompute.MLCGradientClippingType

[Serializable]
public enum MLCGradientClippingType {
	GlobalNorm = 2,
	Norm = 1,
	Value = 0,
}

New Type: MLCompute.MLCGradientClippingTypeExtensions

public static class MLCGradientClippingTypeExtensions {
	// methods
	public static string GetDebugDescription (this MLCGradientClippingType self);
}

New Type: MLCompute.MLCPlatform

public class MLCPlatform : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MLCPlatform (Foundation.NSObjectFlag t);
	protected MLCPlatform (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static nuint GetRngSeed ();
	public static void SetRngSeed (nuint seed);
}

Namespace MapKit

Type Changed: MapKit.MKMapItem

Modified methods:

 public bool OpenMaps (MKMapItem[] mapItems--- = NULL---, MKLaunchOptions launchOptions = NULL)

Namespace Metal

Type Changed: Metal.MTLAccelerationStructureGeometryDescriptor

Added property:

public virtual string Label { get; set; }

Type Changed: Metal.MTLAccelerationStructureUsage

Added value:

ExtendedLimits = 4,

Type Changed: Metal.MTLCommandBufferError

Added value:

StackOverflow = 12,

Type Changed: Metal.MTLComputePipelineDescriptor

Added property:

public virtual IMTLDynamicLibrary[] PreloadedLibraries { get; set; }

Type Changed: Metal.MTLDataType

Added values:

Long = 81,
Long2 = 82,
Long3 = 83,
Long4 = 84,
ULong = 85,
ULong2 = 86,
ULong3 = 87,
ULong4 = 88,

Type Changed: Metal.MTLDevice

Obsoleted methods:

 [Obsolete ("Use the overload that takes an 'out NSObject' instead.")]
 public static IMTLDevice[] GetAllDevices (ref Foundation.NSObject observer, MTLDeviceNotificationHandler handler);

Added method:

public static IMTLDevice[] GetAllDevices (MTLDeviceNotificationHandler handler, out Foundation.NSObject observer);

Type Changed: Metal.MTLDevice_Extensions

Added methods:

public static void CreateLibrary (this IMTLDevice This, MTLStitchedLibraryDescriptor descriptor, System.Action<IMTLLibrary,Foundation.NSError> completionHandler);
public static IMTLLibrary CreateLibrary (this IMTLDevice This, MTLStitchedLibraryDescriptor descriptor, out Foundation.NSError error);
public static System.Threading.Tasks.Task<IMTLLibrary> CreateLibraryAsync (this IMTLDevice This, MTLStitchedLibraryDescriptor descriptor);
public static bool GetSupportsFunctionPointersFromRender (this IMTLDevice This);
public static bool GetSupportsPrimitiveMotionBlur (this IMTLDevice This);
public static bool GetSupportsRaytracingFromRender (this IMTLDevice This);
public static bool GetSupportsRenderDynamicLibraries (this IMTLDevice This);

Type Changed: Metal.MTLFunctionDescriptor

Added property:

public virtual IMTLBinaryArchive[] BinaryArchives { get; set; }

Type Changed: Metal.MTLHeapDescriptor

Added properties:

public virtual MTLHazardTrackingMode HazardTrackingMode { get; set; }
public virtual MTLResourceOptions ResourceOptions { get; set; }
public virtual MTLHeapType Type { get; set; }

Type Changed: Metal.MTLInstanceAccelerationStructureDescriptor

Added properties:

public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
public virtual IMTLBuffer MotionTransformBuffer { get; set; }
public virtual nuint MotionTransformBufferOffset { get; set; }
public virtual nuint MotionTransformCount { get; set; }

Type Changed: Metal.MTLIntersectionFunctionSignature

Added values:

ExtendedLimits = 32,
InstanceMotion = 8,
PrimitiveMotion = 16,

Type Changed: Metal.MTLLanguageVersion

Added value:

v2_4 = 131076,

Type Changed: Metal.MTLLinkedFunctions

Added properties:

public virtual MTLAccelerationStructureInstanceDescriptorType InstanceDescriptorType { get; set; }
public virtual IMTLBuffer MotionTransformBuffer { get; set; }
public virtual nuint MotionTransformBufferOffset { get; set; }
public virtual nuint MotionTransformCount { get; set; }
public virtual IMTLFunction[] PrivateFunctions { get; set; }

Type Changed: Metal.MTLPrimitiveAccelerationStructureDescriptor

Added properties:

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; }

Type Changed: Metal.MTLRasterizationRateLayerDescriptor

Added properties:

public virtual MTLRasterizationRateSampleArray Horizontal { get; }
public virtual MTLSize MaxSampleCount { get; }
public virtual MTLSize SampleCount { get; set; }
public virtual MTLRasterizationRateSampleArray Vertical { get; }

Type Changed: Metal.MTLRasterizationRateMapDescriptor

Added properties:

public virtual string Label { get; set; }
public virtual nuint LayerCount { get; }
public virtual MTLRasterizationRateLayerArray Layers { get; }
public virtual MTLSize ScreenSize { get; set; }

Type Changed: Metal.MTLRenderCommandEncoder_Extensions

Added methods:

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 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 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.MTLRenderPipelineDescriptor

Added properties:

public virtual MTLLinkedFunctions FragmentLinkedFunctions { get; set; }
public virtual IMTLDynamicLibrary[] FragmentPreloadedLibraries { get; set; }
public virtual nuint MaxFragmentCallStackDepth { get; set; }
public virtual nuint MaxVertexCallStackDepth { get; set; }
public virtual bool SupportAddingFragmentBinaryFunctions { get; set; }
public virtual bool SupportAddingVertexBinaryFunctions { get; set; }
public virtual MTLLinkedFunctions VertexLinkedFunctions { get; set; }
public virtual IMTLDynamicLibrary[] VertexPreloadedLibraries { get; set; }

Type Changed: Metal.MTLRenderPipelineState_Extensions

Added methods:

public static IMTLFunctionHandle FunctionHandleWithFunction (this IMTLRenderPipelineState This, IMTLFunction function, MTLRenderStages stage);
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 value:

Tile = 4,

Type Changed: Metal.MTLTileRenderPipelineDescriptor

Added properties:

public virtual MTLLinkedFunctions LinkedFunctions { get; set; }
public virtual nuint MaxCallStackDepth { get; set; }
public virtual IMTLDynamicLibrary[] PreloadedLibraries { get; set; }
public virtual bool SupportAddingBinaryFunctions { get; set; }

New Type: Metal.IMTLFunctionStitchingAttribute

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

New Type: Metal.IMTLFunctionStitchingNode

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

New Type: Metal.MTLAccelerationStructureCommandEncoder_Extensions

public static class MTLAccelerationStructureCommandEncoder_Extensions {
	// methods
	public static void WriteCompactedAccelerationStructureSize (this IMTLAccelerationStructureCommandEncoder This, IMTLAccelerationStructure accelerationStructure, IMTLBuffer buffer, nuint offset, MTLDataType sizeDataType);
}

New Type: Metal.MTLAccelerationStructureInstanceDescriptorType

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

New Type: Metal.MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor

public class MTLAccelerationStructureMotionBoundingBoxGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.MTLAccelerationStructureMotionTriangleGeometryDescriptor

public class MTLAccelerationStructureMotionTriangleGeometryDescriptor : Metal.MTLAccelerationStructureGeometryDescriptor, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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 nuint TriangleCount { get; set; }
	public virtual MTLMotionKeyframeData[] VertexBuffers { get; set; }
	public virtual nuint VertexStride { get; set; }
	// methods
	public static MTLAccelerationStructureMotionTriangleGeometryDescriptor Create ();
}

New Type: Metal.MTLBinaryArchive_Extensions

public static class MTLBinaryArchive_Extensions {
	// methods
	public static bool AddFunctionWithDescriptor (this IMTLBinaryArchive This, MTLFunctionDescriptor descriptor, IMTLLibrary library, out Foundation.NSError error);
}

New Type: Metal.MTLFunctionStitchingFunctionNode

public class MTLFunctionStitchingFunctionNode : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, IMTLFunctionStitchingNode, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MTLFunctionStitchingFunctionNode (Foundation.NSObjectFlag t);
	protected MTLFunctionStitchingFunctionNode (IntPtr handle);
	public MTLFunctionStitchingFunctionNode (string name, IMTLFunctionStitchingNode[] arguments, MTLFunctionStitchingFunctionNode[] controlDependencies);
	// properties
	public virtual IMTLFunctionStitchingNode[] Arguments { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual MTLFunctionStitchingFunctionNode[] ControlDependencies { get; set; }
	public virtual string Name { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLFunctionStitchingGraph

public class MTLFunctionStitchingGraph : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MTLFunctionStitchingGraph (Foundation.NSObjectFlag t);
	protected MTLFunctionStitchingGraph (IntPtr handle);
	public MTLFunctionStitchingGraph (string functionName, MTLFunctionStitchingFunctionNode[] nodes, MTLFunctionStitchingFunctionNode outputNode, IMTLFunctionStitchingAttribute[] attributes);
	// properties
	public virtual IMTLFunctionStitchingAttribute[] Attributes { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual string FunctionName { get; set; }
	public virtual MTLFunctionStitchingFunctionNode[] Nodes { get; set; }
	public virtual MTLFunctionStitchingFunctionNode OutputNode { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

New Type: Metal.MTLFunctionStitchingInputNode

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

New Type: Metal.MTLMotionBorderMode

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

New Type: Metal.MTLMotionKeyframeData

public class MTLMotionKeyframeData : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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.MTLRenderPipelineFunctionsDescriptor

public class MTLRenderPipelineFunctionsDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.MTLStitchedLibraryDescriptor

public class MTLStitchedLibraryDescriptor : Foundation.NSObject, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MTLStitchedLibraryDescriptor ();
	protected MTLStitchedLibraryDescriptor (Foundation.NSObjectFlag t);
	protected MTLStitchedLibraryDescriptor (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MTLFunctionStitchingGraph[] FunctionGraphs { get; set; }
	public virtual IMTLFunction[] Functions { get; set; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
}

Namespace MetalKit

Type Changed: MetalKit.MTKView

Added constructor:

public MTKView ();

Namespace MobileCoreServices

Type Changed: MobileCoreServices.UTType

Added property:

public static Foundation.NSString UniversalSceneDescriptionMobile { get; }

Namespace ModelIO

Type Changed: ModelIO.MDLAsset

Added property:

public virtual IMDLObjectContainerComponent Originals { get; set; }

Type Changed: ModelIO.MDLMaterialPropertyType

Added value:

Buffer = 10,

Type Changed: ModelIO.MDLMeshBufferType

Added value:

Custom = 3,

Namespace OSLog

Type Changed: OSLog.OSLogMessageComponent

Added constructor:

public OSLogMessageComponent (Foundation.NSCoder coder);

Added interfaces:

Foundation.INSCoding
Foundation.INSSecureCoding

Added method:

public virtual void EncodeTo (Foundation.NSCoder encoder);

Type Changed: OSLog.OSLogStore

Added constructor:

public OSLogStore ();

Added method:

public static OSLogStore CreateStore (OSLogStoreScope scope, out Foundation.NSError error);

New Type: OSLog.OSLogStoreScope

[Serializable]
public enum OSLogStoreScope {
	CurrentProcessIdentifier = 1,
	System = 0,
}

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string SdkVersion = "11.3";
+public const string SdkVersion = "12.0";
-public const string Version = "7.10.0";
+public const string Version = "8.1.0";

Added fields:

public static const string ChipLibrary = "/System/Library/Frameworks/CHIP.framework/CHIP";
public static const string LocalAuthenticationEmbeddedUILibrary = "/System/Library/Frameworks/LocalAuthenticationEmbeddedUI.framework/LocalAuthenticationEmbeddedUI";
public static const string MailKitLibrary = "/System/Library/Frameworks/MailKit.framework/MailKit";
public static const string MetricKitLibrary = "/System/Library/Frameworks/MetricKit.framework/MetricKit";
public static const string PhaseLibrary = "/System/Library/Frameworks/PHASE.framework/PHASE";
public static const string ShazamKitLibrary = "/System/Library/Frameworks/ShazamKit.framework/ShazamKit";

Type Changed: ObjCRuntime.NativeAttribute

Added properties:

public string ConvertToManaged { get; set; }
public string ConvertToNative { get; set; }

Type Changed: ObjCRuntime.PlatformName

Obsoleted fields:

 [Obsolete ("Use 'MacCatalyst' instead.")]
 UIKitForMac = 5,

Type Changed: ObjCRuntime.Runtime

Added methods:

public static nint ConvertManagedEnumValueToNative (long value);
public static nuint ConvertManagedEnumValueToNative (ulong value);
public static long ConvertNativeEnumValueToManaged (nint value, bool targetTypeHasMaxValue);
public static ulong ConvertNativeEnumValueToManaged (nuint value, bool targetTypeHasMaxValue);
public static void ThrowException (IntPtr gchandle);

Namespace PassKit

Type Changed: PassKit.PKPassLibrary

Added methods:

public virtual void GetServiceProviderData (PKSecureElementPass secureElementPass, System.Action<Foundation.NSData,Foundation.NSError> completion);
public virtual System.Threading.Tasks.Task<Foundation.NSData> GetServiceProviderDataAsync (PKSecureElementPass secureElementPass);

Type Changed: PassKit.PKPaymentAuthorizationControllerDelegate

Added method:

public virtual void DidChangeCouponCode (PKPaymentAuthorizationController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);

Type Changed: PassKit.PKPaymentAuthorizationControllerDelegate_Extensions

Added method:

public static void DidChangeCouponCode (this IPKPaymentAuthorizationControllerDelegate This, PKPaymentAuthorizationController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);

Type Changed: PassKit.PKPaymentAuthorizationViewController

Obsoleted constructors:

 [Obsolete ("This constructor does not create a valid instance of the type")]
 public PKPaymentAuthorizationViewController ();

Added event:

public event System.EventHandler<PKPaymentRequestCouponCodeUpdateEventArgs> DidChangeCouponCode;

Type Changed: PassKit.PKPaymentAuthorizationViewControllerDelegate

Added method:

public virtual void DidChangeCouponCode (PKPaymentAuthorizationViewController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);

Type Changed: PassKit.PKPaymentAuthorizationViewControllerDelegate_Extensions

Added method:

public static void DidChangeCouponCode (this IPKPaymentAuthorizationViewControllerDelegate This, PKPaymentAuthorizationViewController controller, string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);

Type Changed: PassKit.PKPaymentButtonType

Added value:

Continue = 16,

Type Changed: PassKit.PKPaymentErrorCode

Added values:

CouponCodeExpired = 5,
CouponCodeInvalid = 4,

Type Changed: PassKit.PKPaymentMethodType

Added value:

EMoney = 5,

Type Changed: PassKit.PKPaymentRequest

Added properties:

public virtual string CouponCode { get; set; }
public virtual PKShippingContactEditingMode ShippingContactEditingMode { get; set; }
public virtual bool SupportsCouponCode { get; set; }

Added methods:

public static Foundation.NSError GetCouponCodeExpiredError (string localizedDescription);
public static Foundation.NSError GetCouponCodeInvalidError (string localizedDescription);

Type Changed: PassKit.PKPaymentRequestUpdate

Added property:

public virtual PKShippingMethod[] ShippingMethods { get; set; }

Type Changed: PassKit.PKShareablePassMetadata

Added constructor:

public PKShareablePassMetadata (string credentialIdentifier, string sharingInstanceIdentifier, CoreGraphics.CGImage passThumbnailImage, string ownerDisplayName, string localizedDescription, string accountHash, string templateIdentifier, string relyingPartyIdentifier, bool requiresUnifiedAccessCapableDevice);

Added properties:

public virtual string AccountHash { get; }
public virtual string RelyingPartyIdentifier { get; }
public virtual bool RequiresUnifiedAccessCapableDevice { get; }
public virtual string TemplateIdentifier { get; }

Type Changed: PassKit.PKShippingMethod

Added property:

public virtual PKDateComponentsRange DateComponentsRange { get; set; }

Type Changed: PassKit.PKTransitPassProperties

Modified base type:

-Foundation.NSObject
+PassKit.PKStoredValuePassProperties

New Type: PassKit.PKDateComponentsRange

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

New Type: PassKit.PKDeferredPaymentSummaryItem

public class PKDeferredPaymentSummaryItem : PassKit.PKPaymentSummaryItem, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKDeferredPaymentSummaryItem (Foundation.NSObjectFlag t);
	protected PKDeferredPaymentSummaryItem (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate DeferredDate { get; set; }
}

New Type: PassKit.PKPaymentRequestCouponCodeUpdate

public class PKPaymentRequestCouponCodeUpdate : PassKit.PKPaymentRequestUpdate, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKPaymentRequestCouponCodeUpdate (Foundation.NSObjectFlag t);
	public PKPaymentRequestCouponCodeUpdate (PKPaymentSummaryItem[] paymentSummaryItems);
	protected PKPaymentRequestCouponCodeUpdate (IntPtr handle);
	public PKPaymentRequestCouponCodeUpdate (Foundation.NSError[] errors, PKPaymentSummaryItem[] paymentSummaryItems, PKShippingMethod[] shippingMethods);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError[] Errors { get; set; }
}

New Type: PassKit.PKPaymentRequestCouponCodeUpdateEventArgs

public class PKPaymentRequestCouponCodeUpdateEventArgs : System.EventArgs {
	// constructors
	public PKPaymentRequestCouponCodeUpdateEventArgs (string couponCode, System.Action<PKPaymentRequestCouponCodeUpdate> completion);
	// properties
	public System.Action<PKPaymentRequestCouponCodeUpdate> Completion { get; set; }
	public string CouponCode { get; set; }
}

New Type: PassKit.PKRecurringPaymentSummaryItem

public class PKRecurringPaymentSummaryItem : PassKit.PKPaymentSummaryItem, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKRecurringPaymentSummaryItem (Foundation.NSObjectFlag t);
	protected PKRecurringPaymentSummaryItem (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate EndDate { get; set; }
	public virtual nint IntervalCount { get; set; }
	public virtual Foundation.NSCalendarUnit IntervalUnit { get; set; }
	public virtual Foundation.NSDate StartDate { get; set; }
}

New Type: PassKit.PKServiceProviderDataCompletionResult

public class PKServiceProviderDataCompletionResult {
	// constructors
	public PKServiceProviderDataCompletionResult (Foundation.NSData arg1);
	// properties
	public Foundation.NSData Arg1 { get; set; }
}

New Type: PassKit.PKShippingContactEditingMode

[Serializable]
public enum PKShippingContactEditingMode {
	Enabled = 1,
	StorePickup = 2,
}

New Type: PassKit.PKStoredValuePassBalance

public class PKStoredValuePassBalance : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKStoredValuePassBalance (Foundation.NSObjectFlag t);
	protected PKStoredValuePassBalance (IntPtr handle);
	// properties
	public virtual Foundation.NSDecimalNumber Amount { get; }
	public virtual string BalanceType { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string CurrencyCode { get; }
	public virtual Foundation.NSDate ExpiryDate { get; }
	// methods
	public virtual bool IsEqual (PKStoredValuePassBalance balance);
}

New Type: PassKit.PKStoredValuePassBalanceType

[Serializable]
public enum PKStoredValuePassBalanceType {
	Cash = 0,
	LoyaltyPoints = 1,
}

New Type: PassKit.PKStoredValuePassBalanceTypeExtensions

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

New Type: PassKit.PKStoredValuePassProperties

public class PKStoredValuePassProperties : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PKStoredValuePassProperties (Foundation.NSObjectFlag t);
	protected PKStoredValuePassProperties (IntPtr handle);
	// properties
	public virtual PKStoredValuePassBalance[] Balances { get; }
	public virtual bool Blocked { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate ExpirationDate { get; }
	// methods
	public static PKStoredValuePassProperties GetPassProperties (PKPass pass);
}

Namespace PdfKit

Type Changed: PdfKit.PdfAnnotationMarkup

Added property:

public CoreGraphics.CGPoint[] QuadrilateralPoints { get; set; }

Type Changed: PdfKit.PdfBorder

Added property:

public nfloat[] DashPattern { get; set; }

Type Changed: PdfKit.PdfDocument

Added properties:

public virtual PdfAccessPermissions AccessPermissions { get; }
public static Foundation.NSString FoundSelectionKey { get; }
public static Foundation.NSString PageIndexKey { get; }

Type Changed: PdfKit.PdfDocumentWriteOptions

Added property:

public string AccessPermissions { get; set; }

New Type: PdfKit.PdfAccessPermissions

[Serializable]
public enum PdfAccessPermissions {
	Commenting = 64,
	ContentAccessibility = 32,
	ContentCopying = 16,
	DocumentAssembly = 8,
	DocumentChanges = 4,
	FormFieldEntry = 128,
	HighQualityPrinting = 2,
	LowQualityPrinting = 1,
}

Namespace Photos

Type Changed: Photos.PHAsset

Added property:

public virtual string AdjustmentFormatIdentifier { get; }

Type Changed: Photos.PHAssetCollectionSubtype

Added value:

SmartAlbumRAW = 217,

Type Changed: Photos.PHPhotoLibrary

Added property:

public static Foundation.NSString LocalIdentifiersErrorKey { get; }

Type Changed: Photos.PHPhotoLibrary_CloudIdentifiers

Added methods:

public static Foundation.NSDictionary<Foundation.NSString,Photos.PHCloudIdentifierMapping> GetCloudIdentifierMappings (this PHPhotoLibrary This, string[] localIdentifiers);
public static Foundation.NSDictionary<PHCloudIdentifier,Photos.PHLocalIdentifierMapping> GetLocalIdentifierMappings (this PHPhotoLibrary This, PHCloudIdentifier[] cloudIdentifiers);

Type Changed: Photos.PHPhotosError

Added values:

AccessRestricted = 3310,
AccessUserDenied = 3311,
ChangeNotSupported = 3300,
IdentifierNotFound = 3201,
InternalError = -1,
InvalidResource = 3302,
MissingResource = 3303,
MultipleIdentifiersFound = 3202,
NotEnoughSpace = 3305,
OperationInterrupted = 3301,
RequestNotSupportedForAsset = 3306,

New Type: Photos.PHCloudIdentifierMapping

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

New Type: Photos.PHLocalIdentifierMapping

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

Namespace PhotosUI

Type Changed: PhotosUI.PHLivePhotoViewDelegate

Added method:

public virtual bool CanBeginPlayback (PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Type Changed: PhotosUI.PHLivePhotoViewDelegate_Extensions

Added method:

public static bool CanBeginPlayback (this IPHLivePhotoViewDelegate This, PHLivePhotoView livePhotoView, PHLivePhotoViewPlaybackStyle playbackStyle);

Namespace QuickLookThumbnailing

Type Changed: QuickLookThumbnailing.QLThumbnailReply

Added property:

public virtual string ExtensionBadge { get; set; }

Type Changed: QuickLookThumbnailing.QLThumbnailRepresentation

Added property:

public virtual CoreGraphics.CGRect ContentRect { get; }

Namespace QuickLookUI

Type Changed: QuickLookUI.QLPreviewingController_Extensions

Added method:

public static void ProvidePreview (this IQLPreviewingController This, QLFilePreviewRequest request, System.Action<QLPreviewReply,Foundation.NSError> handler);

New Type: QuickLookUI.QLFilePreviewRequest

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

New Type: QuickLookUI.QLPreviewProvider

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

New Type: QuickLookUI.QLPreviewReply

public class QLPreviewReply : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public QLPreviewReply ();
	protected QLPreviewReply (Foundation.NSObjectFlag t);
	public QLPreviewReply (Foundation.NSUrl fileUrl);
	protected QLPreviewReply (IntPtr handle);
	public QLPreviewReply (CoreGraphics.CGSize defaultPageSize, QLPreviewReplyUIDocumentCreationHandler documentCreationHandler);
	public QLPreviewReply (CoreGraphics.CGSize contextSize, bool isBitmap, QLPreviewReplyDrawingHandler drawingHandler);
	public QLPreviewReply (UniformTypeIdentifiers.UTType contentType, CoreGraphics.CGSize contentSize, QLPreviewReplyDataCreationHandler dataCreationHandler);
	// properties
	public virtual Foundation.NSDictionary<Foundation.NSString,QuickLookUI.QLPreviewReplyAttachment> Attachments { get; set; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSStringEncoding StringEncoding { get; set; }
	public virtual string Title { get; set; }
}

New Type: QuickLookUI.QLPreviewReplyAttachment

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

New Type: QuickLookUI.QLPreviewReplyDataCreationHandler

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

New Type: QuickLookUI.QLPreviewReplyDrawingHandler

public sealed delegate QLPreviewReplyDrawingHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public QLPreviewReplyDrawingHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (CoreGraphics.CGContext context, QLPreviewReply reply, out Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (out Foundation.NSError error, System.IAsyncResult result);
	public virtual bool Invoke (CoreGraphics.CGContext context, QLPreviewReply reply, out Foundation.NSError error);
}

New Type: QuickLookUI.QLPreviewReplyUIDocumentCreationHandler

public sealed delegate QLPreviewReplyUIDocumentCreationHandler : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public QLPreviewReplyUIDocumentCreationHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (QLPreviewReply reply, out Foundation.NSError error, System.AsyncCallback callback, object object);
	public virtual CoreGraphics.CGPDFDocument EndInvoke (out Foundation.NSError error, System.IAsyncResult result);
	public virtual CoreGraphics.CGPDFDocument Invoke (QLPreviewReply reply, out Foundation.NSError error);
}

Namespace ReplayKit

Type Changed: ReplayKit.RPRecordingError

Added value:

ExportClipToUrlInProgress = -5836,

Type Changed: ReplayKit.RPScreenRecorder

Added methods:

public void ExportClip (Foundation.NSUrl url, double duration, System.Action<Foundation.NSError> completionHandler);
public System.Threading.Tasks.Task ExportClipAsync (Foundation.NSUrl url, double duration);
public void StartClipBuffering (System.Action<Foundation.NSError> completionHandler);
public System.Threading.Tasks.Task StartClipBufferingAsync ();
public void StopClipBuffering (System.Action<Foundation.NSError> completionHandler);
public System.Threading.Tasks.Task StopClipBufferingAsync ();

Namespace SafariServices

New Type: SafariServices.SFExtension

public static class SFExtension {
	// properties
	public static Foundation.NSString MessageKey { get; }
}

Namespace SceneKit

Type Changed: SceneKit.SCNAnimatable

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNAnimatable_Extensions

Added method:

public static void RemoveAllAnimationsWithBlendOutDuration (this ISCNAnimatable This, nfloat duration);

Type Changed: SceneKit.SCNAnimationPlayer

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNCamera

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNConstraint

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNGeometry

Added property:

public virtual Foundation.NSNumber MinimumLanguageVersion { get; set; }

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNLight

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNMaterial

Added property:

public virtual Foundation.NSNumber MinimumLanguageVersion { get; set; }

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNMaterialProperty

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNMorpher

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNNode

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNParticleSystem

Added property:

public virtual bool WritesToDepthBuffer { get; set; }

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Type Changed: SceneKit.SCNShadable

Added property:

public virtual Foundation.NSNumber MinimumLanguageVersion { get; set; }

Type Changed: SceneKit.SCNShadable_Extensions

Added methods:

public static Foundation.NSNumber GetMinimumLanguageVersion (this ISCNShadable This);
public static void SetMinimumLanguageVersion (this ISCNShadable This, Foundation.NSNumber value);

Type Changed: SceneKit.SCNTechnique

Added method:

public virtual void RemoveAllAnimationsWithBlendOutDuration (nfloat duration);

Namespace Security

Type Changed: Security.SecTrust

Added method:

public SecCertificate[] GetCertificateChain ();

Namespace SoundAnalysis

Type Changed: SoundAnalysis.SNClassificationResult

Added method:

public virtual SNClassification GetClassification (string identifier);

Type Changed: SoundAnalysis.SNClassifySoundRequest

Added constructor:

public SNClassifySoundRequest (string classifierIdentifier, out Foundation.NSError error);

Added properties:

public virtual string[] KnownClassifications { get; }
public virtual CoreMedia.CMTime WindowDuration { get; set; }
public virtual SNTimeDurationConstraint WindowDurationConstraint { get; }

New Type: SoundAnalysis.SNClassifierIdentifier

[Serializable]
public enum SNClassifierIdentifier {
	Version1 = 0,
}

New Type: SoundAnalysis.SNClassifierIdentifierExtensions

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

New Type: SoundAnalysis.SNTimeDurationConstraint

public class SNTimeDurationConstraint : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SNTimeDurationConstraint (CoreMedia.CMTimeRange durationRange);
	public SNTimeDurationConstraint (CoreMedia.CMTime[] enumeratedDurations);
	protected SNTimeDurationConstraint (Foundation.NSObjectFlag t);
	protected SNTimeDurationConstraint (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual CoreMedia.CMTimeRange DurationRange { get; }
	public virtual Foundation.NSValue[] EnumeratedDurations { get; }
	public virtual SNTimeDurationConstraintType Type { get; }
}

New Type: SoundAnalysis.SNTimeDurationConstraintType

[Serializable]
public enum SNTimeDurationConstraintType {
	Enumerated = 1,
	Range = 2,
}

Namespace StoreKit

Type Changed: StoreKit.SKStoreProductParameterKey

Added property:

public static Foundation.NSString CustomProductPageIdentifier { get; }

Namespace UniformTypeIdentifiers

Type Changed: UniformTypeIdentifiers.UTTypes

Added property:

public static UTType Makefile { get; }

Namespace UserNotifications

Type Changed: UserNotifications.UNAuthorizationOptions

Added value:

TimeSensitive = 256,

Type Changed: UserNotifications.UNErrorCode

Added values:

ContentProvidingInvalid = 1501,
ContentProvidingObjectNotAllowed = 1500,

Type Changed: UserNotifications.UNMutableNotificationContent

Added properties:

public virtual UNNotificationInterruptionLevel InterruptionLevel { get; set; }
public virtual double RelevanceScore { get; set; }

Type Changed: UserNotifications.UNNotificationAction

Added property:

public virtual UNNotificationActionIcon Icon { get; }

Added method:

public static UNNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options, UNNotificationActionIcon icon);

Type Changed: UserNotifications.UNNotificationContent

Added properties:

public virtual UNNotificationInterruptionLevel InterruptionLevel { get; }
public virtual double RelevanceScore { get; }

Added method:

public virtual UNNotificationContent Update (IUNNotificationContentProviding fromProvider, out Foundation.NSError outError);

Type Changed: UserNotifications.UNNotificationSettings

Added properties:

public virtual UNNotificationSetting DirectMessagesSetting { get; }
public virtual UNNotificationSetting ScheduledDeliverySetting { get; }
public virtual UNNotificationSetting TimeSensitiveSetting { get; }

Type Changed: UserNotifications.UNTextInputNotificationAction

Added method:

public static UNTextInputNotificationAction FromIdentifier (string identifier, string title, UNNotificationActionOptions options, UNNotificationActionIcon icon, string textInputButtonTitle, string textInputPlaceholder);

New Type: UserNotifications.IUNNotificationContentProviding

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

New Type: UserNotifications.UNNotificationActionIcon

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

New Type: UserNotifications.UNNotificationInterruptionLevel

[Serializable]
public enum UNNotificationInterruptionLevel {
	Active = 0,
	Critical = 1,
	Passive = 2,
	TimeSensitive = 3,
}

Namespace VideoToolbox

Type Changed: VideoToolbox.VTCompressionPropertyKey

Added properties:

public static Foundation.NSString BaseLayerBitRateFraction { get; }
public static Foundation.NSString EnableLtr { get; }
public static Foundation.NSString MaxAllowedFrameQP { get; }
public static Foundation.NSString SupportsBaseFrameQP { get; }

Type Changed: VideoToolbox.VTEncodeFrameOptionKey

Added properties:

public static Foundation.NSString AcknowledgedLtrTokens { get; }
public static Foundation.NSString BaseFrameQP { get; }
public static Foundation.NSString ForceLtrRefresh { get; }
public static Foundation.NSString RequireLtrAcknowledgementToken { get; }

Type Changed: VideoToolbox.VTProfileLevelKeys

Added properties:

public static Foundation.NSString H264_ConstrainedBaseline_AutoLevel { get; }
public static Foundation.NSString H264_ConstrainedHigh_AutoLevel { get; }

Type Changed: VideoToolbox.VTVideoEncoder

Added properties:

public bool IncludeStandardDefinitionDVEncoders { get; }
public bool SupportsMultiPass { get; }

New Type: VideoToolbox.HdrMetadataInsertionModeExtensions

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

Namespace Vision

Type Changed: Vision.VNBarcodeSymbology

Added values:

Codabar = 17,
GS1DataBar = 18,
GS1DataBarExpanded = 19,
GS1DataBarLimited = 20,
MicroPdf417 = 21,
MicroQR = 22,

Type Changed: Vision.VNClassifyImageRequest

Added property:

public virtual VNClassificationObservation[] Results { get; }

Added method:

public virtual Foundation.NSString[] GetSupportedIdentifiers (out Foundation.NSError error);

Type Changed: Vision.VNDetectBarcodesRequest

Added property:

public virtual VNBarcodeObservation[] Results { get; }

Added methods:

public VNBarcodeSymbology[] GetSupportedSymbologies (out Foundation.NSError error);
protected virtual Foundation.NSString[] GetWeakSupportedSymbologies (out Foundation.NSError error);

Type Changed: Vision.VNDetectBarcodesRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNDetectContoursRequest

Added properties:

public virtual Foundation.NSNumber ContrastPivot { get; set; }
public virtual VNContoursObservation[] Results { get; }

Added method:

protected override void Dispose (bool disposing);

Type Changed: Vision.VNDetectFaceCaptureQualityRequest

Added property:

public virtual VNFaceObservation[] Results { get; }

Type Changed: Vision.VNDetectFaceLandmarksRequest

Added property:

public virtual VNFaceObservation[] Results { get; }

Type Changed: Vision.VNDetectFaceRectanglesRequest

Added property:

public virtual VNFaceObservation[] Results { get; }

Type Changed: Vision.VNDetectFaceRectanglesRequestRevision

Added value:

Three = 3,

Type Changed: Vision.VNDetectHorizonRequest

Added property:

public virtual VNHorizonObservation[] Results { get; }

Type Changed: Vision.VNDetectHumanRectanglesRequest

Added properties:

public virtual VNHumanObservation[] Results { get; }
public virtual bool UpperBodyOnly { get; set; }

Type Changed: Vision.VNDetectHumanRectanglesRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNDetectRectanglesRequest

Added property:

public virtual VNRectangleObservation[] Results { get; }

Type Changed: Vision.VNDetectTextRectanglesRequest

Added property:

public virtual VNTextObservation[] Results { get; }

Type Changed: Vision.VNDetectTrajectoriesRequest

Added property:

public virtual CoreMedia.CMTime TargetFrameTime { get; set; }

Type Changed: Vision.VNDetectedObjectObservation

Added property:

public virtual VNPixelBufferObservation GlobalSegmentationMask { get; }

Type Changed: Vision.VNErrorCode

Added value:

UnsupportedRequest = 19,

Type Changed: Vision.VNFaceObservation

Added property:

public virtual nfloat? Pitch { get; }

Added method:

public static VNFaceObservation FromBoundingBox (VNFaceObservationRequestRevision requestRevision, CoreGraphics.CGRect boundingBox, nfloat? roll, nfloat? yaw, nfloat? pitch);

Type Changed: Vision.VNGenerateAttentionBasedSaliencyImageRequest

Added property:

public virtual VNRecognizedTextObservation[] Results { get; }

Type Changed: Vision.VNGenerateImageFeaturePrintRequest

Added property:

public virtual VNFeaturePrintObservation[] Results { get; }

Type Changed: Vision.VNGenerateObjectnessBasedSaliencyImageRequest

Added property:

public virtual VNSaliencyImageObservation[] Results { get; }

Type Changed: Vision.VNGenerateOpticalFlowRequest

Added property:

public virtual VNPixelBufferObservation[] Results { get; }

Type Changed: Vision.VNHomographicImageRegistrationRequest

Added property:

public virtual VNImageHomographicAlignmentObservation[] Results { get; }

Type Changed: Vision.VNHumanHandPoseObservation

Added property:

public virtual VNChirality Chirality { get; }

Type Changed: Vision.VNRecognizeAnimalsRequest

Added property:

public virtual VNRecognizedObjectObservation[] Results { get; }

Added method:

public virtual VNAnimalIdentifier[] GetSupportedIdentifiers (out Foundation.NSError error);

Type Changed: Vision.VNRecognizeAnimalsRequestRevision

Added value:

Two = 2,

Type Changed: Vision.VNRecognizeTextRequest

Added property:

public virtual VNRecognizedTextObservation[] Results { get; }

Added method:

public virtual Foundation.NSString[] GetSupportedRecognitionLanguages (out Foundation.NSError error);

Type Changed: Vision.VNRecognizedText

Added interface:

IVNRequestRevisionProviding

Added property:

public virtual VNRequestRevision RequestRevision { get; }

Type Changed: Vision.VNTrajectoryObservation

Added property:

public virtual nfloat MovingAverageRadius { get; }

Type Changed: Vision.VNTranslationalImageRegistrationRequest

Added property:

public virtual VNImageTranslationAlignmentObservation[] Results { get; }

Type Changed: Vision.VNUtils

Added methods:

public static CoreGraphics.CGPoint GetImagePoint (CoreGraphics.CGPoint normalizedPoint, nuint imageWidth, nuint imageHeight, CoreGraphics.CGRect regionOfInterest);
public static CoreGraphics.CGRect GetImageRect (CoreGraphics.CGRect normalizedRect, nuint imageWidth, nuint imageHeight, CoreGraphics.CGRect regionOfInterest);
public static CoreGraphics.CGPoint GetNormalizedPoint (CoreGraphics.CGPoint imagePoint, nuint imageWidth, nuint imageHeight, CoreGraphics.CGRect regionOfInterest);
public static CoreGraphics.CGRect GetNormalizedRect (CoreGraphics.CGRect imageRect, nuint imageWidth, nuint imageHeight, CoreGraphics.CGRect regionOfInterest);

New Type: Vision.VNChirality

[Serializable]
public enum VNChirality {
	Left = -1,
	Right = 1,
	Unknown = 0,
}

New Type: Vision.VNDetectDocumentSegmentationRequest

public class VNDetectDocumentSegmentationRequest : Vision.VNImageBasedRequest, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VNDetectDocumentSegmentationRequest ();
	protected VNDetectDocumentSegmentationRequest (Foundation.NSObjectFlag t);
	protected VNDetectDocumentSegmentationRequest (IntPtr handle);
	public VNDetectDocumentSegmentationRequest (VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual VNRectangleObservation[] Results { get; }
}

New Type: Vision.VNDetectDocumentSegmentationRequestRevision

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

New Type: Vision.VNGeneratePersonSegmentationRequest

public class VNGeneratePersonSegmentationRequest : Vision.VNStatefulRequest, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public VNGeneratePersonSegmentationRequest ();
	protected VNGeneratePersonSegmentationRequest (Foundation.NSObjectFlag t);
	protected VNGeneratePersonSegmentationRequest (IntPtr handle);
	public VNGeneratePersonSegmentationRequest (VNRequestCompletionHandler completionHandler);
	public VNGeneratePersonSegmentationRequest (CoreMedia.CMTime frameAnalysisSpacing, VNRequestCompletionHandler completionHandler);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual uint OutputPixelFormat { get; set; }
	public virtual VNGeneratePersonSegmentationRequestQualityLevel QualityLevel { get; set; }
	public virtual VNPixelBufferObservation[] Results { get; }
	// methods
	public static VNGeneratePersonSegmentationRequest Create ();
}

New Type: Vision.VNGeneratePersonSegmentationRequestQualityLevel

[Serializable]
public enum VNGeneratePersonSegmentationRequestQualityLevel {
	Accurate = 0,
	Balanced = 1,
	Fast = 2,
}

New Type: Vision.VNGeneratePersonSegmentationRequestRevision

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

New Type: Vision.VNHumanObservation

public class VNHumanObservation : Vision.VNDetectedObjectObservation, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject>, IVNRequestRevisionProviding {
	// constructors
	public VNHumanObservation (Foundation.NSCoder coder);
	protected VNHumanObservation (Foundation.NSObjectFlag t);
	protected VNHumanObservation (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual bool UpperBodyOnly { get; }
}

Namespace WebKit

Type Changed: WebKit.WKWebView

Removed methods:

public virtual void CloseAllMediaPresentations ();
public virtual void PauseAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task PauseAllMediaPlaybackAsync ();
public virtual void RequestMediaPlaybackState (System.Action<WKMediaPlaybackState> completionHandler);
public virtual System.Threading.Tasks.Task<WKMediaPlaybackState> RequestMediaPlaybackStateAsync ();
public virtual void ResumeAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task ResumeAllMediaPlaybackAsync ();
public virtual void SuspendAllMediaPlayback (System.Action completionHandler);
public virtual System.Threading.Tasks.Task SuspendAllMediaPlaybackAsync ();

Namespace iTunesLibrary

Type Changed: iTunesLibrary.ITLibPlaylist

Added property:

public virtual bool Primary { get; }

Type Changed: iTunesLibrary.ITLibPlaylistProperty

Modified fields:

-Items = 6
+Items = 7
-Kind = 7
+Kind = 8
-Visible = 5
+Visible = 6

Added value:

Primary = 5,

New Namespace Chip

New Type: Chip.ChipAccountLogin

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

New Type: Chip.ChipApplicationBasic

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

New Type: Chip.ChipApplicationLauncher

public class ChipApplicationLauncher : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipApplicationLauncher (Foundation.NSObjectFlag t);
	protected ChipApplicationLauncher (IntPtr handle);
	public ChipApplicationLauncher (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void LaunchApp (string data, ushort catalogVendorId, string applicationId, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> LaunchAppAsync (string data, ushort catalogVendorId, string applicationId);
	public virtual void ReadAttributeApplicationLauncherList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeApplicationLauncherListAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
}

New Type: Chip.ChipAudioOutput

public class ChipAudioOutput : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipAudioOutput (Foundation.NSObjectFlag t);
	protected ChipAudioOutput (IntPtr handle);
	public ChipAudioOutput (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeAudioOutputList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeAudioOutputListAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void RenameOutput (byte index, string name, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RenameOutputAsync (byte index, string name);
	public virtual void SelectOutput (byte index, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SelectOutputAsync (byte index);
}

New Type: Chip.ChipBarrierControl

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

New Type: Chip.ChipBasic

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

New Type: Chip.ChipBinaryInputBasic

public class ChipBinaryInputBasic : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipBinaryInputBasic (Foundation.NSObjectFlag t);
	protected ChipBinaryInputBasic (IntPtr handle);
	public ChipBinaryInputBasic (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ConfigureAttributePresentValue (ushort minInterval, ushort maxInterval, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributePresentValueAsync (ushort minInterval, ushort maxInterval);
	public virtual void ConfigureAttributeStatusFlags (ushort minInterval, ushort maxInterval, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ConfigureAttributeStatusFlagsAsync (ushort minInterval, ushort maxInterval);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeOutOfService (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOutOfServiceAsync ();
	public virtual void ReadAttributePresentValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePresentValueAsync ();
	public virtual void ReadAttributeStatusFlags (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeStatusFlagsAsync ();
	public virtual void ReportAttributePresentValue (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributePresentValueAsync ();
	public virtual void ReportAttributeStatusFlags (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReportAttributeStatusFlagsAsync ();
	public virtual void WriteAttributeOutOfService (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeOutOfServiceAsync (byte value);
	public virtual void WriteAttributePresentValue (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributePresentValueAsync (byte value);
}

New Type: Chip.ChipBinding

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

New Type: Chip.ChipBridgedDeviceBasic

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

New Type: Chip.ChipCluster

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

New Type: Chip.ChipColorControl

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

New Type: Chip.ChipCommissioningFlow

[Serializable]
public enum ChipCommissioningFlow {
	Custom = 2,
	Invalid = 3,
	Standard = 0,
	UserActionRequired = 1,
}

New Type: Chip.ChipDescriptor

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

New Type: Chip.ChipDevice

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

New Type: Chip.ChipDeviceController

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

New Type: Chip.ChipDevicePairingDelegate

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

New Type: Chip.ChipDevicePairingDelegate_Extensions

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

New Type: Chip.ChipDoorLock

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

New Type: Chip.ChipError

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

New Type: Chip.ChipErrorCode

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

New Type: Chip.ChipErrorCodeExtensions

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

New Type: Chip.ChipEthernetNetworkDiagnostics

public class ChipEthernetNetworkDiagnostics : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipEthernetNetworkDiagnostics (Foundation.NSObjectFlag t);
	protected ChipEthernetNetworkDiagnostics (IntPtr handle);
	public ChipEthernetNetworkDiagnostics (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeCollisionCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCollisionCountAsync ();
	public virtual void ReadAttributeOverrunCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeOverrunCountAsync ();
	public virtual void ReadAttributePacketRxCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePacketRxCountAsync ();
	public virtual void ReadAttributePacketTxCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributePacketTxCountAsync ();
	public virtual void ReadAttributeTxErrCount (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeTxErrCountAsync ();
	public virtual void ResetCounts (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ResetCountsAsync ();
}

New Type: Chip.ChipFixedLabel

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

New Type: Chip.ChipGeneralCommissioning

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

New Type: Chip.ChipGeneralDiagnostics

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

New Type: Chip.ChipGroupKeyManagement

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

New Type: Chip.ChipGroups

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

New Type: Chip.ChipIdentify

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

New Type: Chip.ChipKeypadInput

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

New Type: Chip.ChipLevelControl

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

New Type: Chip.ChipLowPower

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

New Type: Chip.ChipManualSetupPayloadParser

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

New Type: Chip.ChipMediaInput

public class ChipMediaInput : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipMediaInput (Foundation.NSObjectFlag t);
	protected ChipMediaInput (IntPtr handle);
	public ChipMediaInput (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void HideInputStatus (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> HideInputStatusAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeMediaInputList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeMediaInputListAsync ();
	public virtual void RenameInput (byte index, string name, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RenameInputAsync (byte index, string name);
	public virtual void SelectInput (byte index, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SelectInputAsync (byte index);
	public virtual void ShowInputStatus (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ShowInputStatusAsync ();
}

New Type: Chip.ChipMediaPlayback

public class ChipMediaPlayback : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipMediaPlayback (Foundation.NSObjectFlag t);
	protected ChipMediaPlayback (IntPtr handle);
	public ChipMediaPlayback (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void FastForward (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> FastForwardAsync ();
	public virtual void Next (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> NextAsync ();
	public virtual void Pause (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> PauseAsync ();
	public virtual void Play (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> PlayAsync ();
	public virtual void Previous (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> PreviousAsync ();
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void Rewind (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> RewindAsync ();
	public virtual void SkipBackward (ulong deltaPositionMilliseconds, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SkipBackwardAsync (ulong deltaPositionMilliseconds);
	public virtual void SkipForward (ulong deltaPositionMilliseconds, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SkipForwardAsync (ulong deltaPositionMilliseconds);
	public virtual void StartOver (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StartOverAsync ();
	public virtual void Stop (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> StopAsync ();
}

New Type: Chip.ChipNetworkCommissioning

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

New Type: Chip.ChipOnOff

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

New Type: Chip.ChipOnboardingPayloadParser

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

New Type: Chip.ChipOnboardingPayloadType

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

New Type: Chip.ChipOperationalCredentials

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

New Type: Chip.ChipOptionalQRCodeInfo

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

New Type: Chip.ChipOptionalQRCodeInfoType

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

New Type: Chip.ChipPairingStatus

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

New Type: Chip.ChipPersistentStorageDelegate

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

New Type: Chip.ChipPumpConfigurationAndControl

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

New Type: Chip.ChipQRCodeSetupPayloadParser

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

New Type: Chip.ChipReadAttributeResult

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

New Type: Chip.ChipRelativeHumidityMeasurement

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

New Type: Chip.ChipRendezvousInformationFlags

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

New Type: Chip.ChipResponseHandler

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

New Type: Chip.ChipScenes

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

New Type: Chip.ChipSetupPayload

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

New Type: Chip.ChipSoftwareDiagnostics

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

New Type: Chip.ChipSwitch

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

New Type: Chip.ChipTargetNavigator

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

New Type: Chip.ChipTemperatureMeasurement

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

New Type: Chip.ChipTestCluster

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

New Type: Chip.ChipThermostat

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

New Type: Chip.ChipTvChannel

public class ChipTvChannel : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipTvChannel (Foundation.NSObjectFlag t);
	protected ChipTvChannel (IntPtr handle);
	public ChipTvChannel (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ChangeChannel (string match, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ChangeChannelAsync (string match);
	public virtual void ChangeChannelByNumber (ushort majorNumber, ushort minorNumber, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ChangeChannelByNumberAsync (ushort majorNumber, ushort minorNumber);
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeCurrentTvChannel (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentTvChannelAsync ();
	public virtual void ReadAttributeTvChannelLineup (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeTvChannelLineupAsync ();
	public virtual void ReadAttributeTvChannelList (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeTvChannelListAsync ();
	public virtual void SkipChannel (ushort count, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> SkipChannelAsync (ushort count);
}

New Type: Chip.ChipWakeOnLan

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

New Type: Chip.ChipWindowCovering

public class ChipWindowCovering : Chip.ChipCluster, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected ChipWindowCovering (Foundation.NSObjectFlag t);
	protected ChipWindowCovering (IntPtr handle);
	public ChipWindowCovering (ChipDevice device, byte endpoint, CoreFoundation.DispatchQueue queue);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void ReadAttributeClusterRevision (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeClusterRevisionAsync ();
	public virtual void ReadAttributeConfigStatus (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeConfigStatusAsync ();
	public virtual void ReadAttributeCurrentPositionLift (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentPositionLiftAsync ();
	public virtual void ReadAttributeCurrentPositionTilt (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeCurrentPositionTiltAsync ();
	public virtual void ReadAttributeInstalledClosedLimitLift (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInstalledClosedLimitLiftAsync ();
	public virtual void ReadAttributeInstalledClosedLimitTilt (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInstalledClosedLimitTiltAsync ();
	public virtual void ReadAttributeInstalledOpenLimitLift (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInstalledOpenLimitLiftAsync ();
	public virtual void ReadAttributeInstalledOpenLimitTilt (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeInstalledOpenLimitTiltAsync ();
	public virtual void ReadAttributeMode (ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> ReadAttributeModeAsync ();
	public virtual void WriteAttributeMode (byte value, ChipResponseHandler responseHandler);
	public virtual System.Threading.Tasks.Task<ChipReadAttributeResult> WriteAttributeModeAsync (byte value);
}

New Type: Chip.IChipDevicePairingDelegate

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

New Type: Chip.IChipPersistentStorageDelegate

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

New Namespace LocalAuthenticationEmbeddedUI

New Type: LocalAuthenticationEmbeddedUI.LAAuthenticationView

public class LAAuthenticationView : AppKit.NSView, AppKit.INSAccessibility, AppKit.INSAccessibilityElementProtocol, AppKit.INSAppearanceCustomization, AppKit.INSDraggingDestination, AppKit.INSTouchBarProvider, AppKit.INSUserInterfaceItemIdentification, Foundation.INSCoding, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public LAAuthenticationView ();
	public LAAuthenticationView (CoreGraphics.CGRect frameRect);
	public LAAuthenticationView (Foundation.NSCoder coder);
	protected LAAuthenticationView (Foundation.NSObjectFlag t);
	public LAAuthenticationView (LocalAuthentication.LAContext context);
	protected LAAuthenticationView (IntPtr handle);
	public LAAuthenticationView (LocalAuthentication.LAContext context, AppKit.NSControlSize controlSize);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual LocalAuthentication.LAContext Context { get; }
	public virtual AppKit.NSControlSize ControlSize { get; }
}

New Namespace MailKit

New Type: MailKit.IMEComposeSessionHandler

public interface IMEComposeSessionHandler : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual MEExtensionViewController GetViewController (MEComposeSession session);
	public virtual void MailComposeSessionDidBegin (MEComposeSession session);
	public virtual void MailComposeSessionDidEnd (MEComposeSession session);
}

New Type: MailKit.IMEContentBlocker

public interface IMEContentBlocker : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual Foundation.NSData ContentRulesJson { get; }
}

New Type: MailKit.IMEExtension

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

New Type: MailKit.IMEMessageActionHandler

public interface IMEMessageActionHandler : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void DecideAction (MEMessage message, System.Action<MEMessageActionDecision> completionHandler);
}

New Type: MailKit.IMEMessageDecoder

public interface IMEMessageDecoder : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual MEDecodedMessage DecodedMessage (Foundation.NSData data);
}

New Type: MailKit.IMEMessageEncoder

public interface IMEMessageEncoder : ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual void EncodeMessage (MEMessage message, bool shouldSign, bool shouldEncrypt, System.Action<MEMessageEncodingResult> completionHandler);
	public virtual void GetEncodingStatus (MEMessage message, System.Action<MEOutgoingMessageEncodingStatus> completionHandler);
}

New Type: MailKit.IMEMessageSecurityHandler

public interface IMEMessageSecurityHandler : IMEMessageDecoder, IMEMessageEncoder, ObjCRuntime.INativeObject, System.IDisposable {
	// methods
	public virtual MEExtensionViewController GetExtensionViewController (MEMessageSigner[] messageSigners);
}

New Type: MailKit.MEAddressAnnotation

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

New Type: MailKit.MEComposeSession

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

New Type: MailKit.MEComposeSessionErrorCode

[Serializable]
public enum MEComposeSessionErrorCode {
	Body = 2,
	Headers = 1,
	Recipients = 0,
}

New Type: MailKit.MEComposeSessionErrorCodeExtensions

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

New Type: MailKit.MEComposeSessionHandler_Extensions

public static class MEComposeSessionHandler_Extensions {
	// methods
	public static void AllowMessageSend (this IMEComposeSessionHandler This, MEComposeSession session, System.Action<Foundation.NSError> completionHandler);
	public static void AnnotateAddress (this IMEComposeSessionHandler This, MEComposeSession session, System.Action<Foundation.NSDictionary<MEEmailAddress,MailKit.MEAddressAnnotation>> completionHandler);
	public static Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<Foundation.NSString>> GetAdditionalHeaders (this IMEComposeSessionHandler This, MEComposeSession session);
}

New Type: MailKit.MEDecodedMessage

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

New Type: MailKit.MEEmailAddress

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

New Type: MailKit.MEEncodedOutgoingMessage

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

New Type: MailKit.MEExtensionManager

public class MEExtensionManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MEExtensionManager (Foundation.NSObjectFlag t);
	protected MEExtensionManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public static void ReloadContentBlocker (string identifier, System.Action<Foundation.NSError> completionHandler);
}

New Type: MailKit.MEExtensionViewController

public class MEExtensionViewController : AppKit.NSViewController, AppKit.INSEditor, AppKit.INSSeguePerforming, AppKit.INSTouchBarProvider, AppKit.INSUserInterfaceItemIdentification, Foundation.INSCoding, Foundation.INSExtensionRequestHandling, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MEExtensionViewController ();
	protected MEExtensionViewController (Foundation.NSCoder coder);
	protected MEExtensionViewController (Foundation.NSObjectFlag t);
	protected MEExtensionViewController (IntPtr handle);
	protected MEExtensionViewController (string nibNameOrNull, Foundation.NSBundle nibBundleOrNull);
	// properties
	public override IntPtr ClassHandle { get; }
}

New Type: MailKit.MEExtension_Extensions

public static class MEExtension_Extensions {
	// methods
	public static IMEComposeSessionHandler GetHandlerForComposeSession (this IMEExtension This, MEComposeSession session);
	public static IMEContentBlocker GetHandlerForContentBlocker (this IMEExtension This);
	public static IMEMessageActionHandler GetHandlerForMessageActions (this IMEExtension This);
	public static IMEMessageSecurityHandler GetHandlerForMessageSecurity (this IMEExtension This);
}

New Type: MailKit.MEMessage

public class MEMessage : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MEMessage (Foundation.NSCoder coder);
	protected MEMessage (Foundation.NSObjectFlag t);
	protected MEMessage (IntPtr handle);
	// properties
	public virtual MEEmailAddress[] AllRecipientAddresses { get; }
	public virtual MEEmailAddress[] BccAddresses { get; }
	public virtual MEEmailAddress[] CcAddresses { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSDate DateReceived { get; }
	public virtual Foundation.NSDate DateSent { get; }
	public virtual MEEmailAddress FromAddress { get; }
	public virtual Foundation.NSDictionary<Foundation.NSString,Foundation.NSArray<Foundation.NSString>> Headers { get; }
	public virtual Foundation.NSData RawData { get; }
	public virtual MEEmailAddress[] ReplyToAddresses { get; }
	public virtual MEMessageState State { get; }
	public virtual string Subject { get; }
	public virtual MEEmailAddress[] ToAddresses { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MailKit.MEMessageAction

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

New Type: MailKit.MEMessageActionDecision

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

New Type: MailKit.MEMessageActionHandler_Extensions

public static class MEMessageActionHandler_Extensions {
	// methods
	public static string[] GetRequiredHeaders (this IMEMessageActionHandler This);
}

New Type: MailKit.MEMessageActionMessageColor

[Serializable]
public enum MEMessageActionMessageColor {
	Blue = 6,
	Gray = 7,
	Green = 1,
	None = 0,
	Orange = 3,
	Purple = 5,
	Red = 4,
	Yellow = 2,
}

New Type: MailKit.MEMessageEncodingResult

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

New Type: MailKit.MEMessageSecurityInformation

public class MEMessageSecurityInformation : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MEMessageSecurityInformation (Foundation.NSCoder coder);
	protected MEMessageSecurityInformation (Foundation.NSObjectFlag t);
	protected MEMessageSecurityInformation (IntPtr handle);
	public MEMessageSecurityInformation (MEMessageSigner[] signers, bool isEncrypted, Foundation.NSError signingError, Foundation.NSError encryptionError);
	public MEMessageSecurityInformation (MEMessageSigner[] signers, bool isEncrypted, Foundation.NSError signingError, Foundation.NSError encryptionError, bool shouldBlockRemoteContent, string localizedRemoteContentBlockingReason);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError EncryptionError { get; }
	public virtual bool IsEncrypted { get; }
	public virtual string LocalizedRemoteContentBlockingReason { get; }
	public virtual bool ShouldBlockRemoteContent { get; }
	public virtual MEMessageSigner[] Signers { get; }
	public virtual Foundation.NSError SigningError { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MailKit.MEMessageSigner

public class MEMessageSigner : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MEMessageSigner (Foundation.NSCoder coder);
	protected MEMessageSigner (Foundation.NSObjectFlag t);
	protected MEMessageSigner (IntPtr handle);
	public MEMessageSigner (MEEmailAddress[] emailAddresses, string label, Foundation.NSData context);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData Context { get; }
	public virtual MEEmailAddress[] EmailAddresses { get; }
	public virtual string Label { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MailKit.MEMessageState

[Serializable]
public enum MEMessageState {
	Draft = 1,
	Received = 0,
	Sending = 2,
}

New Type: MailKit.MEOutgoingMessageEncodingStatus

public class MEOutgoingMessageEncodingStatus : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MEOutgoingMessageEncodingStatus (Foundation.NSCoder coder);
	protected MEOutgoingMessageEncodingStatus (Foundation.NSObjectFlag t);
	protected MEOutgoingMessageEncodingStatus (IntPtr handle);
	public MEOutgoingMessageEncodingStatus (bool canSign, bool canEncrypt, Foundation.NSError securityError, MEEmailAddress[] addressesFailingEncryption);
	// properties
	public virtual MEEmailAddress[] AddressesFailingEncryption { get; }
	public virtual bool CanEncrypt { get; }
	public virtual bool CanSign { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSError SecurityError { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Namespace MetricKit

New Type: MetricKit.IMXMetricManagerSubscriber

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

New Type: MetricKit.MXAverage`1

public class MXAverage`1 : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXAverage`1 (Foundation.NSCoder coder);
	protected MXAverage`1 (Foundation.NSObjectFlag t);
	protected MXAverage`1 (IntPtr handle);
	// properties
	public virtual Foundation.NSMeasurement<UnitType> AverageMeasurement { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nint SampleCount { get; }
	public virtual double StandardDeviation { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MetricKit.MXCallStackTree

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

New Type: MetricKit.MXCpuExceptionDiagnostic

public class MXCpuExceptionDiagnostic : MetricKit.MXDiagnostic, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXCpuExceptionDiagnostic (Foundation.NSCoder coder);
	protected MXCpuExceptionDiagnostic (Foundation.NSObjectFlag t);
	protected MXCpuExceptionDiagnostic (IntPtr handle);
	// properties
	public virtual MXCallStackTree CallStackTree { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitDuration> TotalCpuTime { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitDuration> TotalSampledTime { get; }
}

New Type: MetricKit.MXCrashDiagnostic

public class MXCrashDiagnostic : MetricKit.MXDiagnostic, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXCrashDiagnostic (Foundation.NSCoder coder);
	protected MXCrashDiagnostic (Foundation.NSObjectFlag t);
	protected MXCrashDiagnostic (IntPtr handle);
	// properties
	public virtual MXCallStackTree CallStackTree { get; }
	public override IntPtr ClassHandle { get; }
	public virtual long? ExceptionCode { get; }
	public virtual int? ExceptionType { get; }
	public virtual int? Signal { get; }
	public virtual string TerminationReason { get; }
	public virtual string VirtualMemoryRegionInfo { get; }
}

New Type: MetricKit.MXDiagnostic

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

New Type: MetricKit.MXDiagnosticPayload

public class MXDiagnosticPayload : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXDiagnosticPayload (Foundation.NSCoder coder);
	protected MXDiagnosticPayload (Foundation.NSObjectFlag t);
	protected MXDiagnosticPayload (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MXCpuExceptionDiagnostic[] CpuExceptionDiagnostics { get; }
	public virtual MXCrashDiagnostic[] CrashDiagnostics { get; }
	public virtual Foundation.NSDictionary DictionaryRepresentation { get; }
	public virtual MXDiskWriteExceptionDiagnostic[] DiskWriteExceptionDiagnostics { get; }
	public virtual MXHangDiagnostic[] HangDiagnostics { get; }
	public virtual Foundation.NSData JsonRepresentation { get; }
	public virtual Foundation.NSDate TimeStampBegin { get; }
	public virtual Foundation.NSDate TimeStampEnd { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MetricKit.MXDiskWriteExceptionDiagnostic

public class MXDiskWriteExceptionDiagnostic : MetricKit.MXDiagnostic, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXDiskWriteExceptionDiagnostic (Foundation.NSCoder coder);
	protected MXDiskWriteExceptionDiagnostic (Foundation.NSObjectFlag t);
	protected MXDiskWriteExceptionDiagnostic (IntPtr handle);
	// properties
	public virtual MXCallStackTree CallStackTree { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitInformationStorage> TotalWritesCaused { get; }
}

New Type: MetricKit.MXHangDiagnostic

public class MXHangDiagnostic : MetricKit.MXDiagnostic, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXHangDiagnostic (Foundation.NSCoder coder);
	protected MXHangDiagnostic (Foundation.NSObjectFlag t);
	protected MXHangDiagnostic (IntPtr handle);
	// properties
	public virtual MXCallStackTree CallStackTree { get; }
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSMeasurement<Foundation.NSUnitDuration> HangDuration { get; }
}

New Type: MetricKit.MXHistogramBucket`1

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

New Type: MetricKit.MXHistogram`1

public class MXHistogram`1 : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXHistogram`1 ();
	public MXHistogram`1 (Foundation.NSCoder coder);
	protected MXHistogram`1 (Foundation.NSObjectFlag t);
	protected MXHistogram`1 (IntPtr handle);
	// properties
	public virtual Foundation.NSEnumerator<MetricKit.MXHistogramBucket<UnitType>> BucketEnumerator { get; }
	public override IntPtr ClassHandle { get; }
	public virtual nuint TotalBucketCount { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MetricKit.MXMetaData

public class MXMetaData : Foundation.NSObject, Foundation.INSCoding, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public MXMetaData ();
	public MXMetaData (Foundation.NSCoder coder);
	protected MXMetaData (Foundation.NSObjectFlag t);
	protected MXMetaData (IntPtr handle);
	// properties
	public virtual string ApplicationBuildVersion { get; }
	public override IntPtr ClassHandle { get; }
	public virtual string DeviceType { get; }
	public virtual Foundation.NSDictionary DictionaryRepresentation { get; }
	public virtual Foundation.NSData JsonRepresentation { get; }
	public virtual string OSVersion { get; }
	public virtual string PlatformArchitecture { get; }
	public virtual string RegionFormat { get; }
	// methods
	public virtual void EncodeTo (Foundation.NSCoder encoder);
}

New Type: MetricKit.MXMetricManager

public class MXMetricManager : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected MXMetricManager (Foundation.NSObjectFlag t);
	protected MXMetricManager (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual MXDiagnosticPayload[] PastDiagnosticPayloads { get; }
	public static MXMetricManager SharedManager { get; }
	// methods
	public virtual void Add (IMXMetricManagerSubscriber subscriber);
	public static CoreFoundation.OSLog MakeLogHandle (Foundation.NSString category);
	public virtual void Remove (IMXMetricManagerSubscriber subscriber);
}

New Type: MetricKit.MXMetricManagerSubscriber_Extensions

public static class MXMetricManagerSubscriber_Extensions {
	// methods
	public static void DidReceiveDiagnosticPayloads (this IMXMetricManagerSubscriber This, MXDiagnosticPayload[] payloads);
}

New Namespace Phase

New Type: Phase.PhaseAmbientMixerDefinition

public class PhaseAmbientMixerDefinition : Phase.PhaseMixerDefinition, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.PhaseCardioidDirectivityModelParameters

public class PhaseCardioidDirectivityModelParameters : Phase.PhaseDirectivityModelParameters, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected PhaseCardioidDirectivityModelParameters (Foundation.NSObjectFlag t);
	public PhaseCardioidDirectivityModelParameters (PhaseCardioidDirectivityModelSubbandParameters[] subbandParameters);
	protected PhaseCardioidDirectivityModelParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseCardioidDirectivityModelSubbandParameters[] SubbandParameters { get; }
}

New Type: Phase.PhaseCardioidDirectivityModelSubbandParameters

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

New Type: Phase.PhaseChannelMixerDefinition

public class PhaseChannelMixerDefinition : Phase.PhaseMixerDefinition, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.PhaseConeDirectivityModelParameters

public class PhaseConeDirectivityModelParameters : Phase.PhaseDirectivityModelParameters, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseConeDirectivityModelParameters ();
	protected PhaseConeDirectivityModelParameters (Foundation.NSObjectFlag t);
	public PhaseConeDirectivityModelParameters (PhaseConeDirectivityModelSubbandParameters[] subbandParameters);
	protected PhaseConeDirectivityModelParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual PhaseConeDirectivityModelSubbandParameters[] SubbandParameters { get; }
}

New Type: Phase.PhaseConeDirectivityModelSubbandParameters

public class PhaseConeDirectivityModelSubbandParameters : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseConeDirectivityModelSubbandParameters ();
	protected PhaseConeDirectivityModelSubbandParameters (Foundation.NSObjectFlag t);
	protected PhaseConeDirectivityModelSubbandParameters (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual double Frequency { get; set; }
	public virtual double InnerAngle { get; }
	public virtual double OuterAngle { get; }
	public virtual double OuterGain { get; set; }
	// methods
	public virtual void SetInnerAngle (double innerAngle, double outerAngle);
}

New Type: Phase.PhaseContainerNodeDefinition

public class PhaseContainerNodeDefinition : Phase.PhaseSoundEventNodeDefinition, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseContainerNodeDefinition ();
	protected PhaseContainerNodeDefinition (Foundation.NSObjectFlag t);
	protected PhaseContainerNodeDefinition (IntPtr handle);
	public PhaseContainerNodeDefinition (string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual void Add (PhaseSoundEventNodeDefinition subtree);
	public static PhaseContainerNodeDefinition Create ();
}

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,
	InverseCubed = 1668434243,
	InverseSigmoid = 1668434247,
	InverseSine = 1668434259,
	InverseSquared = 1668434257,
	Linear = 1668435054,
	Sigmoid = 1668436839,
	Sine = 1668436846,
	Squared = 1668436849,
}

New Type: Phase.PhaseDefinition

public class PhaseDefinition : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseEnvelopeSegment ();
	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,
}

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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.PhaseGeometricSpreadingDistanceModelParameters

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

New Type: Phase.PhaseGlobalMetaParameterAsset

public class PhaseGlobalMetaParameterAsset : Phase.PhaseAsset, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseMixerParameters ();
	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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseNumericPair ();
	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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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.PhaseRandomNodeDefinition

public class PhaseRandomNodeDefinition : Phase.PhaseSoundEventNodeDefinition, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseRandomNodeDefinition ();
	protected PhaseRandomNodeDefinition (Foundation.NSObjectFlag t);
	protected PhaseRandomNodeDefinition (IntPtr handle);
	public PhaseRandomNodeDefinition (string identifier);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nint UniqueSelectionQueueLength { get; set; }
	// methods
	public virtual void AddSubtree (PhaseSoundEventNodeDefinition subtree, Foundation.NSNumber weight);
}

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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSCopying, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public PhaseSpatialPipelineEntry ();
	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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// 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 ShazamKit

New Type: ShazamKit.ISHSessionDelegate

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

New Type: ShazamKit.SHCatalog

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

New Type: ShazamKit.SHCustomCatalog

public class SHCustomCatalog : ShazamKit.SHCatalog, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHCustomCatalog ();
	protected SHCustomCatalog (Foundation.NSObjectFlag t);
	protected SHCustomCatalog (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	// methods
	public virtual bool Add (Foundation.NSUrl url, out Foundation.NSError error);
	public virtual bool Add (SHSignature signature, SHMediaItem[] mediaItems, out Foundation.NSError error);
	public static SHCustomCatalog Create ();
	public virtual bool Write (Foundation.NSUrl url, out Foundation.NSError error);
}

New Type: ShazamKit.SHErrorCode

[Serializable]
public enum SHErrorCode {
	AudioDiscontinuity = 101,
	CustomCatalogInvalid = 300,
	CustomCatalogInvalidURL = 301,
	InvalidAudioFormat = 100,
	MatchAttemptFailed = 202,
	MediaLibrarySyncFailed = 400,
	SignatureDurationInvalid = 201,
	SignatureInvalid = 200,
}

New Type: ShazamKit.SHErrorCodeExtensions

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

New Type: ShazamKit.SHMatch

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

New Type: ShazamKit.SHMatchedMediaItem

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

New Type: ShazamKit.SHMediaItem

public class SHMediaItem : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHMediaItem (Foundation.NSCoder coder);
	protected SHMediaItem (Foundation.NSObjectFlag t);
	protected SHMediaItem (IntPtr handle);
	// properties
	public virtual string AppleMusicId { get; }
	public virtual Foundation.NSUrl AppleMusicUrl { get; }
	public virtual string Artist { get; }
	public virtual Foundation.NSUrl ArtworkUrl { get; }
	public override IntPtr ClassHandle { get; }
	public virtual bool ExplicitContent { get; }
	public virtual string[] Genres { get; }
	public virtual string Isrc { get; }
	public virtual string ShazamId { get; }
	public virtual string Subtitle { get; }
	public virtual string Title { get; }
	public virtual Foundation.NSUrl VideoUrl { get; }
	public virtual Foundation.NSUrl WebUrl { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public static SHMediaItem Create (Foundation.NSDictionary<Foundation.NSString,Foundation.NSObject> properties);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static void FetchMediaItem (string shazamId, System.Action<SHMediaItem,Foundation.NSError> completionHandler);
	public static System.Threading.Tasks.Task<SHMediaItem> FetchMediaItemAsync (string shazamId);
	public virtual Foundation.NSObject GetObject (string key);
	public virtual Foundation.NSObject GetValue (string property);
}

New Type: ShazamKit.SHMediaItemProperty

[Serializable]
public enum SHMediaItemProperty {
	AppleMusicId = 5,
	AppleMusicUrl = 6,
	Artist = 3,
	ArtworkUrl = 7,
	ExplicitContent = 9,
	FrequencySkew = 13,
	Genres = 10,
	Isrc = 11,
	MatchOffset = 12,
	ShazamId = 0,
	Subtitle = 2,
	Title = 1,
	VideoUrl = 8,
	WebUrl = 4,
}

New Type: ShazamKit.SHMediaItemPropertyExtensions

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

New Type: ShazamKit.SHMediaLibrary

public class SHMediaLibrary : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	protected SHMediaLibrary (Foundation.NSObjectFlag t);
	protected SHMediaLibrary (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public static SHMediaLibrary DefaultLibrary { get; }
	// methods
	public virtual void Add (SHMediaItem[] mediaItems, System.Action<Foundation.NSError> completionHandler);
	public virtual System.Threading.Tasks.Task AddAsync (SHMediaItem[] mediaItems);
}

New Type: ShazamKit.SHSession

public class SHSession : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHSession ();
	protected SHSession (Foundation.NSObjectFlag t);
	public SHSession (SHCatalog catalog);
	protected SHSession (IntPtr handle);
	// properties
	public virtual SHCatalog Catalog { get; }
	public override IntPtr ClassHandle { get; }
	public ISHSessionDelegate Delegate { get; set; }
	public virtual Foundation.NSObject WeakDelegate { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual void Match (SHSignature signature);
	public virtual void Match (AVFoundation.AVAudioPcmBuffer buffer, AVFoundation.AVAudioTime time);
}

New Type: ShazamKit.SHSessionDelegate

public class SHSessionDelegate : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, ISHSessionDelegate, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHSessionDelegate ();
	protected SHSessionDelegate (Foundation.NSObjectFlag t);
	protected SHSessionDelegate (IntPtr handle);
	// methods
	public virtual void DidFindMatch (SHSession session, SHMatch match);
	public virtual void DidNotFindMatch (SHSession session, SHSignature signature, Foundation.NSError error);
}

New Type: ShazamKit.SHSessionDelegate_Extensions

public static class SHSessionDelegate_Extensions {
	// methods
	public static void DidFindMatch (this ISHSessionDelegate This, SHSession session, SHMatch match);
	public static void DidNotFindMatch (this ISHSessionDelegate This, SHSession session, SHSignature signature, Foundation.NSError error);
}

New Type: ShazamKit.SHSignature

public class SHSignature : Foundation.NSObject, Foundation.INSCoding, Foundation.INSCopying, Foundation.INSObjectProtocol, Foundation.INSSecureCoding, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHSignature (Foundation.NSCoder coder);
	protected SHSignature (Foundation.NSObjectFlag t);
	protected SHSignature (IntPtr handle);
	public SHSignature (Foundation.NSData dataRepresentation, out Foundation.NSError error);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual Foundation.NSData DataRepresentation { get; }
	public virtual double Duration { get; }
	// methods
	public virtual Foundation.NSObject Copy (Foundation.NSZone zone);
	public virtual void EncodeTo (Foundation.NSCoder encoder);
	public static SHSignature GetSignature (Foundation.NSData dataRepresentation, out Foundation.NSError error);
}

New Type: ShazamKit.SHSignatureGenerator

public class SHSignatureGenerator : Foundation.NSObject, Foundation.INSObjectProtocol, ObjCRuntime.INativeObject, System.IDisposable, System.IEquatable<Foundation.NSObject> {
	// constructors
	public SHSignatureGenerator ();
	protected SHSignatureGenerator (Foundation.NSObjectFlag t);
	protected SHSignatureGenerator (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual SHSignature Signature { get; }
	// methods
	public virtual bool Append (AVFoundation.AVAudioPcmBuffer buffer, AVFoundation.AVAudioTime time, out Foundation.NSError error);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment