@class SBHScrollableIconViewInteraction, SBHStackConfigurationBackgroundViewController, SBHCustomIconListLayout, SBHStackConfiguration, NSHashTable, SBIconView, NSString, SBIconDragManager, SBHIconModel, BSUIScrollView, SBHStackConfigurationBackgroundDimmingView, NSTimer, NSMutableSet, NSMutableDictionary, SBHStackConfigurationApertureView, SBTitledHomeScreenButton, SBIconListView, SBHWidgetSettings, NSSet, UIView, UIPageControl, NSLayoutConstraint, MTMaterialView, SBHRootFolderVisualConfiguration, SBRootFolder, CCUILabeledRoundButtonViewController; @protocol SBIconViewDelegate, SBHStackConfigurationViewControllerDelegate, SBIconViewProviding, SBIconListLayoutProvider, SBLeafIconDataSource, SBHWidgetSheetViewControllerPresenter; @interface SBHStackConfigurationViewController : UIViewController { SBHRootFolderVisualConfiguration *_rootFolderVisualConfiguration; id _listLayoutProvider; id _defaultIconViewDelegate; id _iconViewProvider; SBHStackConfiguration *_configuration; SBHWidgetSettings *_widgetSettings; struct SBIconImageInfo { struct CGSize { double width; double height; } size; double scale; double continuousCornerRadius; } _iconImageInfo; SBIconListView *_iconListView; SBIconView *_stackIconView; SBRootFolder *_rootFolder; struct CGSize { double width; double height; } _scaledIconSpacing; BOOL _stackSizeIsSmall; SBHStackConfigurationBackgroundViewController *_backgroundViewController; CCUILabeledRoundButtonViewController *_smartRotateButtonViewController; CCUILabeledRoundButtonViewController *_suggestionsButtonViewController; MTMaterialView *_backgroundMaterialView; SBHStackConfigurationBackgroundDimmingView *_backgroundDimmingView; SBHStackConfigurationApertureView *_apertureView; NSLayoutConstraint *_apertureCenterXConstraint; NSLayoutConstraint *_apertureCenterYConstraint; NSLayoutConstraint *_apertureHeightConstraint; NSLayoutConstraint *_apertureSizeConstraint; SBHScrollableIconViewInteraction *_scrollingInteraction; BSUIScrollView *_scrollView; NSLayoutConstraint *_pageControlOutsetConstraint; UIPageControl *_pageControl; UIView *_scalingView; UIView *_contentView; unsigned long long _scrollPositionNeed; BOOL _suppressesEditingStateForListView; BOOL _needsDoneButton; BOOL _needsAddButton; NSTimer *_closeConfigurationTimer; BOOL _grabbedIconHasEverEnteredStackConfigurationView; NSMutableSet *_draggingEnteredIconListViews; NSHashTable *_keepStaticAssertions; NSMutableDictionary *_userInfo; } @property (retain, nonatomic) SBIconDragManager *iconDragManager; @property (retain, nonatomic) SBIconView *currentConfiguringIconView; @property (retain, nonatomic) SBIconView *currentDraggingIconView; @property (retain, nonatomic) SBTitledHomeScreenButton *doneButton; @property (retain, nonatomic) SBTitledHomeScreenButton *addButton; @property (nonatomic) BOOL didPerformDrop; @property (nonatomic) BOOL didRemoveDraggedIconsForDismissal; @property (retain, nonatomic) SBHCustomIconListLayout *customLayout; @property (weak, nonatomic) id delegate; @property (weak, nonatomic) id presenter; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } contentBoundingFrame; @property (nonatomic) BOOL canDismissWhileDragging; @property (nonatomic, getter=isEditingIcons) BOOL editingIcons; @property (readonly, nonatomic) id visiblyActiveDataSource; @property (readonly, nonatomic) SBIconView *sourceStackIconView; @property (readonly, nonatomic) SBIconListView *iconListView; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) SBHIconModel *iconModel; @property (nonatomic, getter=isEditing) BOOL editing; @property (nonatomic, getter=isScrolling) BOOL scrolling; @property (nonatomic, getter=isTrackingScroll) BOOL trackingScroll; @property (readonly, nonatomic, getter=isRootFolderContentVisible) BOOL rootFolderContentVisible; @property (readonly, nonatomic, getter=isIconContentPossiblyVisibleOverApplication) BOOL iconContentPossiblyVisibleOverApplication; @property (nonatomic, getter=isOverlayTodayViewVisible) BOOL overlayTodayViewVisible; @property (nonatomic, getter=isMainDisplayLibraryViewVisible) BOOL mainDisplayLibraryViewVisible; @property (readonly, nonatomic) SBIconView *sourceIconView; @property (readonly, nonatomic) UIView *configurationView; @property (readonly, nonatomic) NSSet *fadingViews; @property (readonly, nonatomic) NSSet *materialViews; @property (readonly, nonatomic) NSSet *widgetBackgroundViews; @property (readonly, nonatomic) NSSet *apertureBackgroundViews; @property (readonly, nonatomic) UIView *widgetStackMatchingBackgroundView; @property (readonly, nonatomic) UIView *widgetContentContainerView; @property (readonly, nonatomic) UIView *visiblyActiveDataSourceSnapshotView; @property (readonly, nonatomic) NSMutableDictionary *userInfo; @property (nonatomic) double titledButtonsAlpha; - (BOOL)_widgetDataSourceIsSuggestion:(id)a0; - (void)iconListView:(id)a0 performIconDrop:(id)a1; - (id)iconListViewForIndexPath:(id)a0; - (id)iconListView:(id)a0 iconViewForDroppingIconDragItem:(id)a1 proposedIconView:(id)a2; - (void)iconList:(id)a0 didRemoveIcon:(id)a1; - (void)iconList:(id)a0 didReplaceIcon:(id)a1 withIcon:(id)a2; - (void)iconListView:(id)a0 springLoadedInteractionForIconDragDidCompleteOnIconView:(id)a1; - (id)iconListView:(id)a0 customSpringAnimationBehaviorForDroppingItem:(id)a1; - (void)iconListView:(id)a0 willUseIconView:(id)a1 forDroppingIconDragItem:(id)a2; - (void)setSuppressesEditingStateForListView:(BOOL)a0; - (id)iconListView:(id)a0 iconDropSessionDidUpdate:(id)a1; - (BOOL)isDisplayingEditingButtons; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })iconView:(id)a0 contentBoundingRectForConfigurationInteraction:(id)a1; - (void)iconListView:(id)a0 iconDropSession:(id)a1 didPauseAtLocation:(struct CGPoint { double x0; double x1; })a2; - (unsigned long long)presenterType; - (BOOL)iconListView:(id)a0 canHandleIconDropSession:(id)a1; - (void)iconListView:(id)a0 iconDragItem:(id)a1 willAnimateDropWithAnimator:(id)a2; - (BOOL)iconListView:(id)a0 shouldAllowSpringLoadedInteractionForIconDropSession:(id)a1 onIconView:(id)a2; - (id)rootFolderForIconDragManager:(id)a0; - (id)iconView:(id)a0 containerViewControllerForConfigurationInteraction:(id)a1; - (id)iconListView:(id)a0 previewForDroppingIconDragItem:(id)a1 proposedPreview:(id)a2; - (id)makeTitledButtonOfClass:(Class)a0; - (void)scrollViewDidEndScrolling:(id)a0; - (BOOL)_allowUserInteraction; - (void)iconList:(id)a0 didAddIcon:(id)a1; - (void)iconViewWillBeginDrag:(id)a0 session:(id)a1; - (void)iconListView:(id)a0 iconDropSessionDidExit:(id)a1; - (void)iconCloseBoxTapped:(id)a0; - (void)iconTapped:(id)a0; - (void)iconListView:(id)a0 iconDropSessionDidEnter:(id)a1; - (void)iconList:(id)a0 didMoveIcon:(id)a1; - (void)iconListView:(id)a0 iconDropSessionDidEnd:(id)a1; - (void)viewWillAppear:(BOOL)a0; - (long long)closeBoxTypeForIconView:(id)a0; - (BOOL)iconViewDisplaysLabel:(id)a0; - (void)_updatePresentationModeForIconViews; - (void)iconView:(id)a0 configurationDidEndWithInteraction:(id)a1; - (id)iconViewQueryableForIconDragManager:(id)a0; - (void)iconView:(id)a0 dragLiftAnimationDidChangeDirection:(long long)a1; - (void)iconView:(id)a0 item:(id)a1 willAnimateDragCancelWithAnimator:(id)a2; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })visibleContainerInsets; - (BOOL)iconView:(id)a0 supportsConfigurationForDataSource:(id)a1; - (void)viewDidLayoutSubviews; - (void)enumerateScrollableIconViewsUsingBlock:(id /* block */)a0; - (id)animationCoordinator; - (BOOL)iconViewDisplaysAccessories:(id)a0; - (void)leafIcon:(id)a0 didChangeActiveDataSource:(id)a1; - (void)_updateEditingStateAnimated:(BOOL)a0; - (void)viewDidLoad; - (id)draggingDelegateForIconView:(id)a0; - (BOOL)iconViewDisplaysCloseBox:(id)a0; - (id)customImageViewControllerForIconView:(id)a0; - (BOOL)_shouldKeepIconImageViewControllersStatic; - (id)rootViewForIconDragManager:(id)a0; - (BOOL)iconViewCanBecomeFocused:(id)a0; - (id)iconDragManager:(id)a0 dragPreviewForIconView:(id)a1; - (BOOL)dragsSupportSystemDragsForIconView:(id)a0; - (void)iconView:(id)a0 configurationDidUpdateWithInteraction:(id)a1; - (void)iconView:(id)a0 configurationWillBeginWithInteraction:(id)a1; - (BOOL)gestureRecognizerShouldBegin:(id)a0; - (id)iconView:(id)a0 configurationInteractionForDataSource:(id)a1; - (void)updateExtraButtonVisibilityAnimated:(BOOL)a0; - (BOOL)iconView:(id)a0 canAddDragItemsToSession:(id)a1; - (void)loadView; - (BOOL)icon:(id)a0 canReceiveGrabbedIcon:(id)a1; - (id)shortcutsDelegateForIconView:(id)a0; - (unsigned long long)supportedInterfaceOrientations; - (void)iconView:(id)a0 willUsePreviewForCancelling:(id)a1 targetIconView:(id)a2; - (BOOL)iconViewCanBeginDrags:(id)a0; - (id)windowForIconDragPreviewsForIconDragManager:(id)a0 forWindowScene:(id)a1; - (BOOL)iconShouldAllowCloseBoxTap:(id)a0; - (id)iconViewDelegateForExternalDragForIconDragManager:(id)a0; - (void)coronaAnimationController:(id)a0 willAnimateCoronaTransitionWithAnimator:(id)a1; - (id)stackConfigurationInteractionForIconView:(id)a0; - (id)widgetInsertionRippleIconAnimatorForIcon:(id)a0 iconListView:(id)a1 withReferenceIconView:(id)a2; - (void)didMoveToParentViewController:(id)a0; - (id)keepIconImageViewControllersStaticForReason:(id)a0; - (void)iconView:(id)a0 didEndDragSession:(id)a1 withOperation:(unsigned long long)a2; - (void)setScrollPosition:(unsigned long long)a0; - (void).cxx_destruct; - (id)iconDragManager:(id)a0 targetedDragPreviewForIconView:(id)a1 item:(id)a2 session:(id)a3 previewParameters:(id)a4; - (void)viewDidAppear:(BOOL)a0; - (void)iconView:(id)a0 configurationWillEndWithInteraction:(id)a1; - (void)leafIcon:(id)a0 didAddIconDataSource:(id)a1; - (id)iconView:(id)a0 homeScreenContentViewForConfigurationInteraction:(id)a1; - (void)iconView:(id)a0 willAnimateDragLiftWithAnimator:(id)a1 session:(id)a2; - (void)viewDidDisappear:(BOOL)a0; - (void)scrollViewDidScroll:(id)a0; - (void)scrollViewWillBeginDragging:(id)a0; - (void)scrollViewWillEndDragging:(id)a0 withVelocity:(struct CGPoint { double x0; double x1; })a1 targetContentOffset:(inout struct CGPoint { double x0; double x1; } *)a2; - (id)iconView:(id)a0 dragPreviewForItem:(id)a1 session:(id)a2 previewParameters:(id)a3; - (id)nonEditingStatusBarHidingReason; - (id)actionDelegateForIconView:(id)a0; - (id)behaviorDelegateForIconView:(id)a0; - (id)configurationUIDelegateForIconView:(id)a0; - (id)dragItemsForIconView:(id)a0; - (BOOL)hidesPresenterTitledButtons; - (void)iconAccessoryViewTapped:(id)a0; - (BOOL)iconDragManager:(id)a0 doesIconViewRepresentRealIconPosition:(id)a1; - (id)iconDragManager:(id)a0 draggedIconForIdentifier:(id)a1; - (long long)iconView:(id)a0 accessoryTypeWithProposedAccessoryType:(long long)a1; - (id)reuseDelegateForIconView:(id)a0; - (void)_requestDismissal; - (void)_didTapDoneButton:(id)a0; - (void)_setCloseFolderTimerIfNecessary; - (BOOL)_canAddAdditionalWidgets; - (void)_cancelAllInteractionTimers; - (void)_cancelCloseConfigurationTimer; - (void)_closeConfigurationTimerFired; - (void)_didChangePageControlPage:(id)a0; - (void)_didTapAddWidgetButton:(id)a0; - (void)_didTapBackgroundView:(id)a0; - (void)_didToggleSmartRotate:(id)a0; - (void)_didToggleSuggestions:(id)a0; - (double)_expandedPageControlOutset; - (double)_iconContentScale; - (void)_iconListDidChangeWidgetIcons; - (long long)_iconViewComponentBackgroundViewType; - (id)_newHomeScreenButtonBackgroundView; - (void)_promoteWidgetIcon:(id)a0; - (void)_saveConfiguration; - (void)_scrollToWidgetIndex:(unsigned long long)a0 animated:(BOOL)a1; - (void)_scrollToWidgetIndex:(unsigned long long)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (void)_setPageControlScale:(double)a0; - (void)_setupApertureViewInContainer:(id)a0; - (void)_setupBackgroundInContainer:(id)a0; - (void)_setupContentViewWithContentFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_setupEditingButtons; - (void)_setupIconListViewCenteredInScrollView:(id)a0; - (void)_setupLargeSizeLayoutAdjustmentsIfNecessary; - (void)_setupMatchMoveAnimationWithSourceView:(id)a0 targetView:(id)a1; - (void)_setupPageControlInContainer:(id)a0; - (void)_setupScrollViewInContainer:(id)a0; - (void)_setupTapToDismissGestureInView:(id)a0; - (BOOL)_shouldUseConcentricCornersWhenExpanded; - (unsigned long long)_sourceActiveWidgetIndex; - (struct CGSize { double x0; double x1; })_stableApertureSize; - (struct CGPoint { double x0; double x1; })_targetContentOffsetForWidgetIndex:(unsigned long long)a0; - (id)_unraveledWidgetIconForDataSource:(id)a0 withGridSizeClass:(unsigned long long)a1; - (void)_updateAddWidgetButtonOperabilityForDataSourceCount; - (void)_updateButtonSubtitleForSmartRotate:(BOOL)a0 animated:(BOOL)a1; - (void)_updateCurrentPageControlPage; - (void)_updateForWidgetIconCountChanged; - (void)_updateLayoutForEditButtons; - (unsigned long long)_widgetIndexForContentOffset:(struct CGPoint { double x0; double x1; })a0; - (BOOL)closesAfterDragExits; - (void)configureWithStackLayoutMetrics:(struct SBHStackLayoutMetrics { double x0; struct CGSize { double x0; double x1; } x1; struct CGPoint { double x0; double x1; } x2; double x3; double x4; double x5; })a0; - (BOOL)iconShouldAllowAccessoryViewTap:(id)a0; - (id)initWithConfiguration:(id)a0 iconView:(id)a1 iconViewProvider:(id)a2 listLayoutProvider:(id)a3 showsAddButton:(BOOL)a4 showsDoneButton:(BOOL)a5; - (void)noteIconDrag:(id)a0 didChangeInIconListView:(id)a1; - (void)noteIconDrag:(id)a0 didEnterIconListView:(id)a1; - (void)noteIconDrag:(id)a0 didExitIconListView:(id)a1; - (void)noteIconDragDidEnd:(id)a0; - (void)scrollIconToVisible:(id)a0 animated:(BOOL)a1 completion:(id /* block */)a2; - (void)setTitledButtonsEnabled:(BOOL)a0; - (void)stackConfigurationView:(id)a0 didHitTestView:(id)a1 atPoint:(struct CGPoint { double x0; double x1; })a2 withEvent:(id)a3; @end