@class _TtC14BiometricKitUI35EnrollStateDispatchWorkItemsManager, UILabel, UILayoutGuide, BKUIPearlEnrollViewBottomContainer, NSString, NSMutableArray, BioStreamsEventHelper, _UIBackdropView, NSTimer, BKUIPeriocularEnableSplashViewController, NSArray, BKUIButtonTray, BKUIPearlEnrollControllerPreloadedState, UIButton, NSObject, BKUIPearlEnrollView, UIView, BKUIPearlEnrollAudioManager, NSLayoutConstraint, BKUIPearlInstructionView, UIScrollView, NSDate; @protocol UITraitChangeRegistration, OS_dispatch_semaphore, BKUIPearlEnrollViewControllerDelegate; @interface BKUIPearlEnrollViewController : UIViewController { UIScrollView *_scrollView; NSLayoutConstraint *_nextStateButtonContainerHorizontalPositionConstraint; _UIBackdropView *_darkTrayBackdrop; _UIBackdropView *_lightTrayBackdrop; NSLayoutConstraint *_buttonTrayToNextStateButtonContainerTopConstraint; UILabel *_debugLabel; NSString *_statusString; BOOL _suspended; NSObject *_stateSema; NSDate *_stateStart; BOOL _animatingState; NSDate *_lastFaceFoundDate; int _pendingSubstate; BOOL _substatePending; NSTimer *_substateDelayTimer; } @property (retain, nonatomic) NSLayoutConstraint *enrollViewHeightConstraint; @property (retain, nonatomic) NSString *progressString; @property (nonatomic) int previousState; @property (nonatomic) BOOL darkBackground; @property (retain, nonatomic) NSLayoutConstraint *enrollViewTopConstraint; @property (retain, nonatomic) NSLayoutConstraint *nextStateButtonContainerBottomConstraintTall; @property (retain, nonatomic) NSLayoutConstraint *nextStateButtonContainerBottomConstraintShort; @property (retain, nonatomic) NSLayoutConstraint *instructionViewTopConstraint; @property (retain, nonatomic) BKUIPearlInstructionView *animatingInstructionView; @property (retain, nonatomic) NSArray *instructionViewConstraints; @property (retain, nonatomic) BKUIPearlEnrollAudioManager *audioManager; @property (retain, nonatomic) UILayoutGuide *instructionBaselineLayoutGuide; @property (retain, nonatomic) _TtC14BiometricKitUI35EnrollStateDispatchWorkItemsManager *workItemsManager; @property (retain, nonatomic) id traitChangeRegistration; @property (retain, nonatomic) BKUIPearlEnrollViewBottomContainer *bottomContainer; @property (nonatomic) int state; @property (nonatomic) int substate; @property (retain, nonatomic) BKUIPeriocularEnableSplashViewController *midFlowPeriocularSplashController; @property (retain, nonatomic) UIButton *retryMatchOperationButton; @property (retain, nonatomic) UIView *nextStateButtonContainer; @property (retain, nonatomic) UIButton *nextStateButton; @property (retain, nonatomic) UIButton *escapeHatchButton; @property (retain, nonatomic) BKUIPearlEnrollView *enrollView; @property (retain, nonatomic) NSMutableArray *operationHandlers; @property (retain, nonatomic) BKUIPearlEnrollControllerPreloadedState *preloadedState; @property (nonatomic) long long glassesMidFlowUpsell; @property (retain, nonatomic) BKUIPearlInstructionView *instructionView; @property (retain, nonatomic) BioStreamsEventHelper *bioStreamEventHelper; @property (nonatomic) BOOL enrollmentAlreadyHasExistingPeriocularTemplate; @property (weak, nonatomic) id delegate; @property (nonatomic) BOOL inBuddy; @property (nonatomic) BOOL inSheet; @property (nonatomic) unsigned long long enrollmentConfiguration; @property (nonatomic) BOOL isDisplayZoomEnabled; @property (nonatomic) BOOL inBuddyGlassesFollowUp; @property (retain, nonatomic) BKUIButtonTray *buttonTray; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)preloadWithCompletion:(id /* block */)a0; + (BOOL)_shouldShowAccessibilityOptionForState:(int)a0 poseStatus:(id)a1; + (BOOL)_shouldShowEscapeHatchForState:(int)a0 inBuddy:(BOOL)a1; - (void)setState:(int)a0 animated:(BOOL)a1; - (void)viewWillAppear:(BOOL)a0; - (void)didBecomeActive:(id)a0; - (void)dealloc; - (void)viewDidLayoutSubviews; - (void)viewDidLoad; - (long long)preferredStatusBarStyle; - (void).cxx_destruct; - (void)willResignActive:(id)a0; - (void)didEnterBackground:(id)a0; - (void)setStatus:(id)a0; - (void)viewDidDisappear:(BOOL)a0; - (void)_setSuspended:(BOOL)a0; - (BOOL)isModalInPresentation; - (void)_setupUI; - (void)_enableEnrollUI; - (void)setCustomDetailString:(id)a0 forState:(int)a1; - (void)removeGlassesUI; - (void)setupDebugLabel; - (void)_cancelEnrollOperationForEscapeHatchButtonTap; - (void)_endEnrollFlowWithError:(id)a0; - (id)_escapeHatchTitleForState:(int)a0; - (void)_handleEnrollStateOnAppear; - (void)_handleGlassesSkipAction; - (void)_logRemovePeriocularFailure:(id)a0; - (id)_nextStateButtonTitleForState:(int)a0; - (id)_nextStateButtonTitleForState:(int)a0 subState:(int)a1; - (void)_setState:(int)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (void)_setSubstate:(int)a0 animated:(BOOL)a1; - (void)_updateDebugLabel; - (void)_updateLeftBarButtonItem; - (void)animateInstruction; - (void)animateToSuccessCompletionLayout:(long long)a0; - (void)animateWithOrientation:(long long)a0; - (void)cancelEnroll; - (void)cancelEnrollForRotationIfNeeded:(long long)a0; - (void)clearPendingStateWorkItems; - (id)currentOperationHandler; - (void)didReachLargeNudgePeakForEnrollView:(id)a0; - (void)didReachSmallNudgePeakForEnrollView:(id)a0; - (void)endEnrollFlowWithError:(id)a0; - (void)enrollOperation:(id)a0 finishedWithIdentity:(id)a1 animateImmediately:(BOOL)a2; - (void)enrollView:(id)a0 didNudgeInDirection:(unsigned long long)a1 nudgeCount:(unsigned long long)a2; - (void)enrollView:(id)a0 willNudgeInDirection:(unsigned long long)a1 nudgeCount:(unsigned long long)a2; - (void)escapeHatchButtonPressed; - (void)finalizeInstructionAnimation; - (void)forceDarkBackground:(BOOL)a0 animated:(BOOL)a1; - (id)getEnrollview; - (BOOL)hasPeriocularIdentityEnrolled; - (id)initWithPreloadedState:(id)a0; - (void)invalidateSubstateTimer; - (BOOL)isFinalEnrollment; - (BOOL)isGlassesEnrollmentOnly; - (BOOL)midFlowPeriocularSplashShowing; - (void)navigateToMidFlowPeriocularSplashScreenWithPrepareAction:(id /* block */)a0 completionAction:(id /* block */)a1; - (void)nextStateButtonPressed:(id)a0; - (void)pearlEnrollControllerCompleted; - (double)percentOfPillsCompleted; - (void)prepareBottomContainerForAnimationToState:(int)a0 fromState:(int)a1 subState:(int)a2 advancing:(BOOL)a3; - (void)prepareForAnimationToState:(int)a0 fromState:(int)a1; - (void)prepareForAnimationToState:(int)a0 fromState:(int)a1 subState:(int)a2 advancing:(BOOL)a3; - (void)primeWithExternalizedAuthContext:(id)a0; - (void)primeWithPasscode:(id)a0; - (void)refreshEscapeHatchForCurrentState; - (void)restartEnroll; - (void)retryPressed; - (void)returnToEnroll; - (void)setCustomInstructionString:(id)a0 forState:(int)a1; - (void)setEnrollMovieViewHidden:(BOOL)a0; - (void)setExistingIdentity:(id)a0; - (void)setState:(int)a0 animated:(BOOL)a1 afterDelay:(double)a2; - (void)setSubstate:(int)a0 animated:(BOOL)a1 afterDelay:(double)a2; - (void)setUseNextButton:(BOOL)a0; - (BOOL)showGlassesSkipUI; - (void)showMaskAndGlassesTutorialWithCompletion:(id /* block */)a0; - (void)startEnroll; - (void)toggleDebug; - (void)toggleDebugAndSave; - (void)transitionToSuccessFromPeriocularSplash; - (void)updateButtonsVisibility; - (void)updatePeriocularEnrollmentSettings:(id /* block */)a0; - (BOOL)useNextButton; @end