@class NSXPCConnection, NSString, NSArray, PGRunLoopObserver, NSTimer, PGPlaybackState, NSObject, UIViewController, PGHostedWindow; @protocol OS_dispatch_queue, PGPictureInPictureProxyDelegate, PGPictureInPictureViewController; @interface PGPictureInPictureProxy : NSObject <PGPictureInPictureExportedInterface> { struct CGSize { double width; double height; } _preferredContentSize; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _frameForInteractiveTransitions; NSString *_sceneSessionPersistentIdentifier; NSString *_clientSessionIdentifier; NSString *_sceneSessionPersistentIdentifierAccordingToRemoteObject; NSString *_clientSessionIdentifierAccordingToRemoteObject; BOOL _canSendPlaybackState; BOOL _automaticallyInterruptsForLegacyFaceTimeBehaviors; BOOL _isInterruptedForStash; BOOL _isInterruptedForDefaultReason; BOOL _isInterruptedForAnyReason; BOOL _isPictureInPicturePossible; BOOL _isPictureInPictureActive; BOOL _isPictureInPictureSuspended; BOOL _pictureInPictureShouldStartWhenEnteringBackground; BOOL _pictureInPictureWasStartedWhenEnteringBackground; BOOL _shouldCancelActivePictureInPictureOnStart; BOOL _shouldPullCancellationPolicyOnStart; BOOL _isObservingViewController; BOOL _needsReinitialization; BOOL _shouldStopUponActivation; BOOL _shouldCancelUponActivation; id _windowSceneActivationStateObserver; double _playbackProgress; double _playbackRate; NSArray *_loadedTimeRanges; NSArray *_menuItems; PGPlaybackState *_playbackState; PGPlaybackState *_playbackStateAccordingToRemoteObject; PGRunLoopObserver *_runLoopObserver; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; NSXPCConnection *_lock_connection; NSXPCConnection *_lock_connectionIfInterrupted; NSObject<OS_dispatch_queue> *_queue; PGHostedWindow *_hostedWindow; UIViewController *_rootViewController; long long _activationState; NSTimer *_prewarmingTimeoutTimer; BOOL _isHostedWindowSizeChangeDuringPinchGesture; BOOL _isInViewService; id<PGPictureInPictureProxyDelegate> _delegate; struct { unsigned char pictureInPictureProxyInterfaceOrientationForTransitionAnimation : 1; unsigned char pictureInPictureProxyViewFrameForTransitionAnimation : 1; unsigned char pictureInPictureProxyViewControllerWindowForTransitionAnimation : 1; unsigned char pictureInPictureProxy_willStartPictureInPictureWithAnimationType : 1; unsigned char pictureInPictureProxy_didStartPictureInPictureWithAnimationType : 1; unsigned char pictureInPictureProxy_failedToStartPictureInPictureWithAnimationType_error : 1; unsigned char pictureInPictureProxy_restoreUserInterfaceForPictureInPictureStopWithCompletionHandler : 1; unsigned char pictureInPictureProxy_willStopPictureInPictureWithAnimationType_reason : 1; unsigned char pictureInPictureProxy_didStopPictureInPictureWithAnimationType_reason : 1; unsigned char pictureInPictureProxyPictureInPictureInterruptionBegan : 1; unsigned char pictureInPictureProxyPictureInPictureInterruptionEnded : 1; unsigned char pictureInPictureProxy_didUpdateStashedOrUnderLockState : 1; unsigned char pictureInPictureProxy_didUpdateResourcesUsageReductionReasons_oldReasons : 1; unsigned char pictureInPictureProxyWillSetupPictureInPictureStop : 1; } _delegateRespondsTo; } @property (nonatomic, getter=isPictureInPictureStashed) BOOL stashed; @property (copy, nonatomic) id /* block */ _pipStopUserInterfaceRestoreContinuationBlock; @property (copy, nonatomic) id /* block */ _pipStopFinalStageCompletionHandler; @property (nonatomic) long long controlsStyle; @property (nonatomic, getter=isReadyForDisplay) BOOL readyForDisplay; @property (readonly, nonatomic) UIViewController<PGPictureInPictureViewController> *viewController; @property (weak, nonatomic) id<PGPictureInPictureProxyDelegate> delegate; @property (readonly, nonatomic, getter=isPictureInPicturePossible) BOOL pictureInPicturePossible; @property (readonly, nonatomic, getter=isPictureInPictureActive) BOOL pictureInPictureActive; @property (readonly, nonatomic, getter=isPictureInPictureSuspended) BOOL pictureInPictureSuspended; @property (readonly, nonatomic, getter=isPictureInPictureInterrupted) BOOL pictureInPictureInterrupted; @property (nonatomic) BOOL pictureInPictureShouldStartWhenEnteringBackground; @property (readonly, nonatomic) BOOL pictureInPictureWasStartedWhenEnteringBackground; @property (readonly, nonatomic) PGPlaybackState *playbackState; @property (readonly, nonatomic, getter=isPictureInPictureStashedOrUnderLock) BOOL pictureInPictureStashedOrUnderLock; @property (readonly, nonatomic) unsigned long long resourcesUsageReductionReasons; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)pictureInPictureProxyWithControlsStyle:(long long)a0 viewController:(id)a1; + (void)_updatePictureInPictureActive:(BOOL)a0; + (BOOL)isPictureInPictureActive; + (BOOL)isPictureInPictureSupported; - (double)playbackRate; - (id)_connection; - (id)init; - (void)stopPictureInPictureAndRestoreUserInterface:(BOOL)a0; - (void)dealloc; - (void)setLoadedTimeRanges:(id)a0; - (id)menuItems; - (id)loadedTimeRanges; - (void)startPictureInPicture; - (double)playbackProgress; - (void)_updatePlaybackStateIfNeeded; - (void)setMenuItems:(id)a0; - (void)_resetInternalState; - (long long)_activationState; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void).cxx_destruct; - (id)_remoteObjectWithErrorHandler:(id /* block */)a0; - (id)_remoteObject; - (void)_establishConnection; - (BOOL)_isInactive; - (void)_applicationDidBecomeActive; - (oneway void)actionButtonTapped; - (id)initWithControlsStyle:(long long)a0 viewController:(id)a1; - (void)preferredContentSizeDidChangeForViewController; - (void)setClientSessionIdentifier:(id)a0; - (void)updatePlaybackStateUsingBlock:(id /* block */)a0; - (void)viewFrameForInteractiveTransitionAnimationWhenEnteringBackgroundDidChangeForViewController; - (oneway void)handleCommand:(id)a0; - (void)__cleanupWithCompletionHandler:(id /* block */)a0; - (void)_invalidateConnectionForFailure; - (BOOL)canSwitchCamera; - (oneway void)updatePictureInPicturePossible:(BOOL)a0; - (void)__actuallyStartWithAnimationType:(long long)a0 successHandler:(id /* block */)a1 failureHandler:(id /* block */)a2; - (void)_beginDeactivatingPictureInPictureWithAnimationType:(long long)a0 stopReason:(long long)a1; - (void)__actuallyStopAnimated:(BOOL)a0 reason:(long long)a1 completionHandler:(id /* block */)a2; - (void)__actuallyStopAnimated:(BOOL)a0 reason:(long long)a1 finalLayerFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 finalInterfaceOrientation:(long long)a3 completionHandler:(id /* block */)a4; - (void)__coordinateStartAnimated:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (void)__didStartWithAnimationType:(long long)a0 completionHandler:(id /* block */)a1; - (void)__restoreUserInterfaceAnimated:(BOOL)a0 reason:(long long)a1 completionHandler:(id /* block */)a2; - (void)__setConnection:(id)a0; - (void)__setupStartWithAnimationType:(long long)a0 initialLayerFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 successHandler:(id /* block */)a2 failureHandler:(id /* block */)a3; - (void)__setupStopAnimated:(BOOL)a0 needsApplicationActivation:(BOOL)a1 successHandler:(id /* block */)a2 failureHandler:(id /* block */)a3; - (void)__setupStopAnimated:(BOOL)a0 needsApplicationActivation:(BOOL)a1 waitForApplicationActivation:(BOOL)a2 successHandler:(id /* block */)a3 failureHandler:(id /* block */)a4; - (void)__updateCancellationPolicyWithSuccessHandler:(id /* block */)a0 failureHandler:(id /* block */)a1; - (void)__waitForApplicationActivationWithSuccessHandler:(id /* block */)a0 failureHandler:(id /* block */)a1; - (void)_addViewControllerToHostedWindowIfNeeded; - (void)_addWindowSceneActivationStateObserverIfNeeded:(id)a0; - (void)_beginDeactivatingPictureInPicture; - (id)_bestKnownConnectedSceneSessionPersistentIdentifier; - (BOOL)_canBeShownInMicroPIPMode; - (void)_cancelPrewarming; - (void)_deactivateIfNeededForInterruptedOrInvalidatedConnection; - (void)_endDeactivatingPictureInPictureIfNeededWithAnimationType:(long long)a0 stopReason:(long long)a1; - (void)_endDeactivatingPictureInPictureIfNeededWithAnimationType:(long long)a0 stopReason:(long long)a1 cleanupHandlerOrNil:(id /* block */)a2; - (void)_executeDelegateCallbackBlock:(id /* block */)a0 assumeApplicationActive:(BOOL)a1; - (id)_expectedScene; - (id)_generatePlaybackStateDiffAndMarkAsSent; - (void)_handleSceneConnectionChangedNotification:(id)a0; - (void)_initializeWithControlsStyle:(long long)a0 viewController:(id)a1 reason:(id)a2; - (long long)_interfaceOrientationForTransitionAnimationAssumeApplicationActive:(BOOL)a0; - (BOOL)_isInCallService; - (BOOL)_isViewControllerWindowSceneActive; - (BOOL)_isViewControllerWindowSceneConsideredActive; - (void)_legacyPictureInPictureInterruptionBegan; - (void)_legacyPictureInPictureInterruptionEnded; - (void)_markConnectionAsInterrupted; - (void)_notifyActionButtonTapped; - (void)_prewarmAndStartAfterTimeout; - (void)_removeViewControllerFromHostedWindowIfNeeded; - (void)_restoreInterruptedConnectionIfNeeded; - (void)_setActivationState:(long long)a0 reason:(id)a1; - (void)_setInterruptedForDefaultReason:(BOOL)a0 initiatedByRemoteObject:(BOOL)a1; - (void)_setMaybeNeedsUpdatePlaybackState; - (void)_setPictureInPictureActive:(BOOL)a0; - (void)_setPictureInPicturePossible:(BOOL)a0; - (void)_setPictureInPictureSuspended:(BOOL)a0; - (void)_setResourcesUsageReductionReasons:(unsigned long long)a0; - (void)_setStashedOrUnderLock:(BOOL)a0 reason:(id)a1; - (id)_sourceScene; - (void)_startBackgroundPIPWhilePrewarmingIfNeeded; - (void)_startPictureInPictureAnimated:(BOOL)a0 enteringBackground:(BOOL)a1 reason:(id)a2 withCompletionHandler:(id /* block */)a3; - (void)_stopObservingWindowSceneActivationState; - (void)_stopPictureInPictureAnimated:(BOOL)a0 restoreUserInterface:(BOOL)a1 withCompletionHandler:(id /* block */)a2; - (void)_twoStageStopForPictureInPictureRestoreWithContinueAfterUserInterfaceRestoreBlock:(id /* block */)a0 completionHandler:(id /* block */)a1; - (void)_updateAutoPIPSettingsAndNotifyRemoteObjectIfNeeded; - (void)_updateAutoPIPSettingsAndNotifyRemoteObjectWithReason:(id)a0; - (void)_updateFaceTimePlaybackStateUsingBlock:(id /* block */)a0; - (void)_updateInteractiveFrameWorkaroundFor_100127310:(id)a0; - (void)_updateIsInterruptedIfNeededForReason:(id)a0; - (void)_updateIsInterruptedIfNeededForReason:(id)a0 initiatedByRemoteObject:(BOOL)a1; - (void)_updatePlaybackStateContentTypeIfNeeded; - (void)_updateScreenSharingInfoIfNeeded; - (void)_viewFrameForInteractiveTransitionAnimationWhenEnteringBackgroundDidChangeForViewControllerWithReason:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_viewFrameForTransitionAnimationAssumeApplicationActive:(BOOL)a0; - (void)_windowSceneForInteractiveTransitionAnimationWhenEnteringBackgroundDidChangeForViewControllerWithReason:(id)a0; - (BOOL)automaticallyInterruptsForLegacyFaceTimeBehaviors; - (oneway void)beginTwoStagePictureInPictureStopByRestoringUserInterfaceWithCompletionHandler:(id /* block */)a0; - (id)clientSessionIdentifier; - (BOOL)disablesLayerCloning; - (oneway void)endTwoStagePictureInPictureStopWithCompletionBlock:(id /* block */)a0; - (oneway void)hostedWindowSizeChangeBegan; - (oneway void)hostedWindowSizeChangeEnded; - (BOOL)isCameraActive; - (BOOL)isMicrophoneMuted; - (oneway void)pictureInPictureCancelRequestedAnimated:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (oneway void)pictureInPictureInvalidated; - (oneway void)pictureInPictureStartRequestedAnimated:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (oneway void)pictureInPictureStopRequestedAnimated:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (void)rotateContentContainer:(long long)a0 withCompletionHandler:(id /* block */)a1; - (void)setAutomaticallyInterruptsForLegacyFaceTimeBehaviors:(BOOL)a0; - (void)setCameraActive:(BOOL)a0; - (void)setCanSwitchCamera:(BOOL)a0; - (void)setControlsStyle:(long long)a0 animated:(BOOL)a1 withCompletionHandler:(id /* block */)a2; - (void)setDisablesLayerCloning:(BOOL)a0; - (void)setMicrophoneMuted:(BOOL)a0; - (void)setPlaybackProgress:(double)a0 playbackRate:(double)a1; - (oneway void)setResourcesUsageReductionReasons:(unsigned long long)a0; - (void)setScreenSharingTitle:(id)a0 avatar:(id)a1; - (oneway void)setStashedOrUnderLock:(BOOL)a0; - (void)skipForwardButtonTappedWithTimeInterval:(double)a0; - (oneway void)updateHostedWindowSize:(struct CGSize { double x0; double x1; })a0 animationType:(long long)a1 initialSpringVelocity:(double)a2 synchronizationFence:(id)a3; - (void)windowSceneForInteractiveTransitionAnimationWhenEnteringBackgroundDidChangeForViewController; @end