namespace AVKit
{
[Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 15, ObjCRuntime.PlatformArchitecture.All, null)]
[Protocol(Name = "AVPlayerViewPictureInPictureDelegate", WrapperType = typeof(AVPlayerViewPictureInPictureDelegateWrapper))]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "WillStart", ParameterByRef = {false}, ParameterType = {typeof(AVKit.AVPlayerView)}, Selector = "playerViewWillStartPictureInPicture:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DidStart", ParameterByRef = {false}, ParameterType = {typeof(AVKit.AVPlayerView)}, Selector = "playerViewDidStartPictureInPicture:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "FailedToStart", ParameterByRef = {false, false}, ParameterType = {typeof(AVKit.AVPlayerView), typeof(Foundation.NSError)}, Selector = "playerView:failedToStartPictureInPictureWithError:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "WillStop", ParameterByRef = {false}, ParameterType = {typeof(AVKit.AVPlayerView)}, Selector = "playerViewWillStopPictureInPicture:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "DidStop", ParameterByRef = {false}, ParameterType = {typeof(AVKit.AVPlayerView)}, Selector = "playerViewDidStopPictureInPicture:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "RestoreUserInterface", ParameterBlockProxy = {null, typeof(ObjCRuntime.Trampolines.NIDActionArity1V0)}, ParameterByRef = {false, false}, ParameterType = {typeof(AVKit.AVPlayerView), typeof(System.Action<bool>)}, Selector = "playerView:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:")]
[ProtocolMember(IsProperty = false, IsRequired = false, IsStatic = false, Name = "ShouldAutomaticallyDismiss", ParameterByRef = {false}, ParameterType = {typeof(AVKit.AVPlayerView)}, ReturnType = typeof(bool), Selector = "playerViewShouldAutomaticallyDismissAtPictureInPictureStart:")]
[Unavailable(ObjCRuntime.PlatformName.iOS, ObjCRuntime.PlatformArchitecture.All, null)]
[Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)]
[Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
public interface IAVPlayerViewPictureInPictureDelegate : INativeObject, IDisposable
}