@class NSNumber, NSString, LAContext, PXSystemAuthenticationTypeObserver, NSMutableSet, NSTimer, NSMutableArray; @protocol PXDisplayCollection; @interface PXContentPrivacyController : PXObservable @property (readonly, nonatomic) NSString *logIdentifier; @property (readonly, nonatomic) PXSystemAuthenticationTypeObserver *authenticationTypeObserver; @property (retain, nonatomic) LAContext *currentAuthenticationContext; @property (retain, nonatomic) NSMutableSet *observers; @property (retain, nonatomic) NSTimer *autolockTimer; @property (nonatomic) unsigned long long autolockReason; @property (retain, nonatomic) id assetCollectionToObserve; @property (readonly, nonatomic) NSMutableArray *authenticationStack; @property (nonatomic) unsigned long long cachedAuthenticationStackCount; @property (nonatomic) BOOL hasPerformedAuthenticationInStack; @property (nonatomic) BOOL authenticationAttemptDidFailOrWasCancelled; @property (retain, nonatomic) NSNumber *contentPrivacyEnabledNumberForTesting; @property (retain, nonatomic) NSNumber *testingOverride_authenticationType; @property (retain, nonatomic) NSNumber *testingOverride_shouldPerformAuthenticationOnAppearing; @property (retain, nonatomic) NSNumber *testingOverride_shouldOnlyPerformAutomaticAuthenticationOnce; @property (retain, nonatomic) NSNumber *testingOverride_shouldLockAfterDelayWhenLeavingViewHierarchy; @property (retain, nonatomic) NSNumber *testingOverride_autolockTimeout; @property (copy, nonatomic) id /* block */ authChallengeHandlerForTesting; @property (readonly, nonatomic) NSString *identifier; @property (readonly, nonatomic, getter=isContentPrivacyEnabled) BOOL contentPrivacyEnabled; @property (readonly, nonatomic, getter=isLocked) BOOL locked; @property (readonly, nonatomic) BOOL willPerformAuthenticationAutomatically; @property (readonly, nonatomic, getter=isPerformingAuthentication) BOOL performingAuthentication; @property (readonly, nonatomic, getter=isDelayedLockScheduled) BOOL delayedLockScheduled; @property (readonly, nonatomic) long long authenticationType; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)privacyControllerForCollection:(id)a0; + (void)tearDownPrivacyControllersIfNeeded; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)dealloc; - (void)photoLibraryDidChangeOnMainQueue:(id)a0; - (void)_preferencesDidChange; - (void)applicationWillEnterForeground; - (void)unlock; - (void)settings:(id)a0 changedValueForKey:(id)a1; - (void)setLocked:(BOOL)a0; - (void).cxx_destruct; - (void)applicationDidEnterBackground; - (void)setAuthenticationType:(long long)a0; - (void)_cancelAuthentication; - (double)autolockTimeout; - (void)lockImmediately; - (void)_beginObservingApplicationStateChangesAndSystemEvents; - (void)_beginObservingAssetCollectionChanges; - (void)_beginObservingContentPrivacyPrefs; - (long long)_calculateAuthenticationTypeWithForcedUpdate:(BOOL)a0; - (void)_cancelDelayedLockIfNeededWithReason:(id)a0; - (void)_finishAuthenticationChallengeWithCompletionHandler:(id /* block */)a0 success:(BOOL)a1 error:(id)a2; - (BOOL)_isContentPrivacyPrefEnabled; - (void)_lockOrCancelAuthenticationIfNeeded; - (void)_lockWithReasonForLogging:(id)a0; - (void)_logCurrentAuthenticationStack; - (void)_performDelayedAuthenticationTypeUpdate; - (void)_performUserAuthenticationIfNeededAfterForegrounding; - (void)_performUserAuthenticationWithTitle:(id)a0 passcodeTitle:(id)a1 passcodeSubtitle:(id)a2 reason:(id)a3 completion:(id /* block */)a4; - (void)_startAutolockTimerForReason:(unsigned long long)a0 resetIfActive:(BOOL)a1; - (void)_stopAutolockTimer; - (void)_stopObservingApplicationStateChanges; - (void)_stopObservingAssetCollectionChanges; - (void)_stopObservingContentPrivacyPrefs; - (void)_updateAuthenticationType; - (void)_updateCachedAuthenticationStackCount; - (void)_updateContentPrivacyEnabled; - (void)_updateWillPerformAuthenticationAutomatically; - (void)addContextToStack:(id)a0; - (void)cancelAuthentication; - (void)cancelDelayedLockIfNeeded; - (void)clearAuthenticationStack; - (void)commonInitWithLogIdentifier:(id)a0; - (void)hostApplicationDidBecomeActiveFromNotification:(id)a0; - (void)hostApplicationWillResignActiveFromNotification:(id)a0; - (id)initWithAssetCollectionToObserve:(id)a0 logIdentifier:(id)a1; - (id)initWithContentPrivacyEnabledForTesting:(id)a0 availableAuthenticationTypeForTesting:(id)a1 assetCollectionToObserveForTesting:(id)a2; - (id)initWithLogIdentifier:(id)a0; - (BOOL)isRunningInExtension; - (void)performUserAuthenticationIfNeededFromContext:(id)a0; - (void)performUserAuthenticationIfNeededWithLocalizedReason:(id)a0 completion:(id /* block */)a1; - (void)performUserAuthenticationIfNeededWithTitle:(id)a0 passcodeTitle:(id)a1 passcodeSubtitle:(id)a2 completion:(id /* block */)a3; - (void)removeContextFromStack:(id)a0; - (void)resetHasPerformedAuthenticationInStack; - (void)scheduleAuthenticationStackCountUpdate; - (void)scheduleDelayedLock; - (void)setAssetCollectionToObserveForTesting:(id)a0; - (void)setContentPrivacyEnabled:(BOOL)a0; - (void)setWillPerformAuthenticationAutomatically:(BOOL)a0; - (BOOL)shouldLockAfterDelayWhenLeavingViewHierarchy; - (BOOL)shouldOnlyPerformAutomaticAuthenticationOnceInStack; - (BOOL)shouldPerformAuthenticationUponAppearing; - (void)updateAuthenticationTypeImmediately; - (void)viewDidAppearForAuthenticationContext:(id)a0; - (void)viewDidDisappearForAuthenticationContext:(id)a0 withNavigationState:(unsigned long long)a1; @end