luxlabs header browser preview


@class CNContactListStyleApplier, CNAvatarViewController, CNContactListActionHelper, NSIndexPath, CNContactFormatter, CNUIContactsEnvironment, NSString, NSArray, NSObject, NSSet, UIView, CNDuplicateContactsController, CNContactListBannerView, UISearchBar, CNContact, UISearchController, CNContactSuggestionsViewController, UIContentUnavailableConfiguration, CNContactStore, CNVCardImportController;
@protocol CNHealthStoreManagerToken, CNContactListViewControllerDelegate, CNContactDataSource, CNCancelable;

@interface CNContactListViewController : UICollectionViewController <CNContactDataSourceDelegate, UISearchControllerDelegate, UISearchResultsUpdating, UISearchBarDelegate, CNContactListBannerViewDelegate, CNContactListDuplicatesBannerCellDelegate, CNContactViewControllerDelegate, CNDuplicateContactsControllerDelegate, CNContactListCountViewDelegate, CNContactListCollectionViewDelegate, UIGestureRecognizerDelegate, CNUIObjectViewControllerDelegate, UICollectionViewDragSource, UICollectionViewDragDestination, UICollectionViewDragDelegate, UICollectionViewDropDelegate, UICollectionViewDelegate_Private, CNVCardImportControllerPresentationDelegate, CNVCardImportControllerDelegate, CNAvatarViewControllerDelegate, CNContactSuggestionsViewControllerDelegate, CNContactListActionHelperDelegate> {
    CNContact *_preferredForNameMeContact;
}

@property (retain, nonatomic) UISearchController *searchController;
@property (retain, nonatomic) UISearchBar *searchBar;
@property (copy, nonatomic) id /* block */ searchCompletionBlock;
@property (retain, nonatomic) CNContactSuggestionsViewController *suggestionsController;
@property (nonatomic) double suggestionsControllerHeight;
@property (retain, nonatomic) CNContactListBannerView *meContactBanner;
@property (readonly, nonatomic) CNContact *preferredForNameMeContact;
@property (readonly, nonatomic) double contentOffsetDueToMeContactBanner;
@property (readonly, nonatomic) BOOL presentsSearchUI;
@property (readonly, nonatomic) BOOL isSearchController;
@property (readonly, nonatomic) CNUIContactsEnvironment *environment;
@property (retain, nonatomic) CNAvatarViewController *meBannerAvatarController;
@property (retain, nonatomic) NSArray *pendingLayoutBlocks;
@property (retain, nonatomic) NSString *pendingSearchQuery;
@property (nonatomic) BOOL pendingSearchControllerActivation;
@property (retain, nonatomic) CNVCardImportController *vCardImportController;
@property (readonly, nonatomic) BOOL shouldUseLargeTitle;
@property (nonatomic) BOOL headerViewNeedsUpdate;
@property (retain, nonatomic) NSSet *emergencyContactIdentifiers;
@property (retain, nonatomic) id<CNHealthStoreManagerToken> medicalIDLookupRegistrationToken;
@property (retain, nonatomic) id<CNCancelable> medicalIDLookupToken;
@property (retain, nonatomic) CNContactListStyleApplier *defaultContactListStyleApplier;
@property (nonatomic) BOOL allowsMultiSelection;
@property (retain, nonatomic) NSIndexPath *indexPathToSelect;
@property (retain, nonatomic) CNContactListActionHelper *actionHelper;
@property (retain, nonatomic) CNDuplicateContactsController *duplicatesController;
@property (nonatomic) BOOL isDuplicatesLaunching;
@property (nonatomic) BOOL isViewingTopLevelAllContacts;
@property (nonatomic) BOOL isShowingDuplicatesBanner;
@property (retain, nonatomic) UIContentUnavailableConfiguration *cellContentUnavailableConfiguration;
@property (retain, nonatomic) CNContactListViewController *searchResultsController;
@property (nonatomic) BOOL isHandlingSearch;
@property (nonatomic) BOOL shouldDisplayGroupsGrid;
@property (nonatomic) BOOL shouldDisplayCount;
@property (nonatomic) BOOL shouldAllowDrags;
@property (nonatomic) BOOL shouldAllowDrops;
@property (nonatomic) BOOL shouldDisplayEmergencyContacts;
@property (retain, nonatomic) CNContactListStyleApplier *contactListStyleApplier;
@property (readonly, nonatomic) id<CNContactDataSource> originalDataSource;
@property (readonly, nonatomic) CNContactStore *contactStore;
@property (readonly, nonatomic) NSString *currentSearchString;
@property (nonatomic) BOOL shouldAllowSearchForMultiSelect;
@property (nonatomic) BOOL didDeleteContact;
@property (nonatomic) BOOL shouldDisplaySuggestionsController;
@property (retain, nonatomic) NSArray *suggestionsIgnoredContactIdentifiers;
@property (retain, nonatomic) NSArray *suggestionsInteractionDomains;
@property (retain, nonatomic) NSArray *suggestedContacts;
@property (retain, nonatomic) UIView *listHeaderView;
@property (nonatomic) double estimatedListHeaderViewHeight;
@property (nonatomic) BOOL allowsMultiSelectContextMenus;
@property (nonatomic) BOOL allowsEditingActions;
@property (nonatomic) BOOL allowsListEditing;
@property (nonatomic) BOOL shouldDisplayAddNewContactRow;
@property (nonatomic) BOOL shouldHideDuplicates;
@property (weak, nonatomic) id<CNContactListViewControllerDelegate> delegate;
@property (retain, nonatomic) NSObject<CNContactDataSource> *dataSource;
@property (readonly, nonatomic) CNContactListViewController *visibleListViewController;
@property (nonatomic) BOOL shouldDisplayMeContactBanner;
@property (copy, nonatomic) NSString *meContactBannerFootnoteLabel;
@property (copy, nonatomic) NSString *meContactBannerFootnoteValue;
@property (readonly, nonatomic, getter=isSearching) BOOL searching;
@property (readonly, nonatomic) NSArray *selectedContacts;
@property (retain, nonatomic) CNContactFormatter *contactFormatter;
@property (nonatomic) BOOL disableContextMenus;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)collectionViewLayout;
+ (id)collectionViewLayoutWithFloatingHeaderViews:(BOOL)a0 contactListStyleApplier:(id)a1 trailingSwipeActionsProvider:(id /* block */)a2 shouldDisplaySupplementaryHeaderItemForSection:(id /* block */)a3 shouldShowSeparatorsForSection:(id /* block */)a4 directionalLayoutMargins:(id /* block */)a5 collectionViewIsShowingIndexBar:(id /* block */)a6 numberOfItemsInSection:(id /* block */)a7 contentUnavailable:(id /* block */)a8;
+ (id)descriptorForRequiredKeysForPreferredForNameMeContact;
+ (id)emptyContact;
+ (id)layoutSectionForLayoutConfiguration:(id)a0 layoutEnvironment:(id)a1 section:(long long)a2 contactListStyleApplier:(id)a3 shouldDisplaySupplementaryHeaderItemForSection:(id /* block */)a4 headerViewsFloat:(BOOL)a5 directionalLayoutMargins:(id /* block */)a6 collectionViewIsShowingIndexBar:(id /* block */)a7 contentUnavailable:(id /* block */)a8;

- (id)getVisibleIndexPaths;
- (void)tipKitDismissTip;
- (void)searchBarCancelButtonClicked:(id)a0;
- (void)contactDataSourceMeContactDidChange:(id)a0;
- (id)pathToContentUnavailableRow;
- (void)updateMeContactBannerContentsWithTopKeyline:(BOOL)a0;
- (void)collectionView:(id)a0 didDeselectItemAtIndexPath:(id)a1;
- (void)updateIsViewingTopLevelAllContacts;
- (void)scrollToTopAnimated:(BOOL)a0;
- (void)setupMeBannerAvatarController;
- (void)collectionView:(id)a0 didSelectItemAtIndexPath:(id)a1;
- (void)initializeDuplicateContacts;
- (void)viewWillAppear:(BOOL)a0;
- (BOOL)suggestionsController:(id)a0 shouldSelectContact:(id)a1 atIndexPath:(id)a2;
- (void)_applicationEnteringForeground:(id)a0;
- (void)dealloc;
- (BOOL)isPathToContentUnavailableRow:(id)a0;
- (void)willDismissSearchController:(id)a0;
- (void)suggestionsController:(id)a0 didChangeToHeight:(double)a1;
- (BOOL)hasSearchPrefix;
- (void)contactDataSourceDisplayNameDidChange:(id)a0;
- (BOOL)collectionView:(id)a0 canEditItemAtIndexPath:(id)a1;
- (long long)dataSourceSectionIndexForCollectionViewSection:(long long)a0;
- (void)tipKitStartObservation;
- (void)startSearchingForString:(id)a0;
- (void)viewDidLayoutSubviews;
- (void)updateDataSourceAndCollectionViewForDuplicatesBanner;
- (id)collectionView:(id)a0 indexPathForIndexTitle:(id)a1 atIndex:(long long)a2;
- (void)deleteContact:(id)a0;
- (void)didUpdateContentForAvatarViewController:(id)a0;
- (id)_contentUnavailableConfigurationState;
- (void)dismissKeyboard;
- (long long)newDuplicatesCountToDisplay;
- (void)performWhenViewIsLaidOut:(id /* block */)a0;
- (BOOL)collectionViewIsShowingIndexBar;
- (BOOL)collectionView:(id)a0 canHandleDropSession:(id)a1;
- (long long)allDuplicatesCountToDisplay;
- (BOOL)collectionView:(id)a0 canPerformPrimaryActionForItemAtIndexPath:(id)a1;
- (void)collectionView:(id)a0 performDropWithCoordinator:(id)a1;
- (BOOL)shouldEnableMultiSelectContextMenus;
- (void)contentSizeCategoryDidChange:(id)a0;
- (void)reloadVisibleItems;
- (BOOL)isContentUnavailableRowSection:(long long)a0;
- (void)performWhenSearchCompleted:(id /* block */)a0;
- (void)vCardImportController:(id)a0 didSaveContacts:(id)a1;
- (void)didDismissSearchController:(id)a0;
- (void)reloadTitle;
- (void)viewDidLoad;
- (BOOL)collectionView:(id)a0 shouldHighlightItemAtIndexPath:(id)a1;
- (void)refreshTableViewHeaderForContactChanges;
- (BOOL)shouldDisplayTipContentView;
- (void)updateSelectedContactCount;
- (id)initWithDataSource:(id)a0 searchable:(BOOL)a1 environment:(id)a2 shouldUseLargeTitle:(BOOL)a3;
- (void)copy:(id)a0;
- (id)getRecentCallCountAndSpeakableName;
- (id)collectionView:(id)a0 contextMenuConfigurationForItemsAtIndexPaths:(id)a1 point:(struct CGPoint { double x0; double x1; })a2;
- (void)beginSearch:(id)a0;
- (void)mergeUnifyContacts:(id)a0;
- (BOOL)isDisplayingContentUnavailableViewAsCell;
- (void)startSearching;
- (void)setNeedsHeaderViewUpdate;
- (BOOL)collectionViewShouldDisplayCreateNewContact;
- (long long)additionalSectionsAtTopCount;
- (void)updateAdditionalSectionsAtTop;
- (void)addContactsToListTappedWithSourceView:(id)a0;
- (void)setTipKitContext:(id)a0;
- (void)contactDataSourceDidChange:(id)a0;
- (id)presentingViewControllerForActions;
- (id)indexPathForGlobalIndex:(long long)a0;
- (long long)createNewContactRowSection;
- (void)duplicatesBannerCellDidTapViewDuplicates:(id)a0;
- (BOOL)bundleCanManageDuplicates;
- (void)configureNavigationBarForLargeTitles;
- (void)createNewContactTapped;
- (void)searchForString:(id)a0 animated:(BOOL)a1 completionBlock:(id /* block */)a2;
- (void)willPerformDuplicatesMergeAll:(id)a0;
- (id)contactsForActionsAtIndexPaths:(id)a0;
- (void)loadView;
- (void)refreshTableViewHeaderIfVisible;
- (id)mergableContacts;
- (void)duplicatesDidChange:(id)a0;
- (void)refreshDuplicates;
- (BOOL)shouldShowDuplicateBannerView;
- (id)collectionView:(id)a0 dropSessionDidUpdate:(id)a1 withDestinationIndexPath:(id)a2;
- (id)recentOutgoingCalls;
- (BOOL)suggestionsController:(id)a0 canSelectContact:(id)a1;
- (BOOL)isEasyToRecognizeWord:(id)a0;
- (void)refreshTableViewHeader;
- (void)removeDuplicatesBanner;
- (void)contactStoreDidChangeWithNotification:(id)a0;
- (long long)contentUnavailableRowSection;
- (id)setupDuplicatesController;
- (BOOL)isContactWithIdentifierEmergencyContact:(id)a0;
- (void)refreshDuplicatesBanner;
- (void)collectionView:(id)a0 willPerformPreviewActionForMenuWithConfiguration:(id)a1 animator:(id)a2;
- (void)duplicatesBannerCellDidTapDismiss:(id)a0;
- (id)_sections;
- (BOOL)containsPathToDuplicatesBanner:(id)a0;
- (double)contactListHeaderHeight;
- (void)updateMeContactBannerTopKeyline;
- (id)collectionViewIndexPathForDataSourceIndexPath:(id)a0;
- (BOOL)isPathToCreateNewContactRow:(id)a0;
- (void)collectionView:(id)a0 willDisplayContextMenuWithConfiguration:(id)a1 animator:(id)a2;
- (BOOL)isDuplicatesRowSection:(long long)a0;
- (id)duplicatesBannerCell;
- (void)setupContactListForMultiSelectContextMenus;
- (void)showCardForSelectedContactAtIndexPath:(id)a0;
- (void)viewWillDisappear:(BOOL)a0;
- (void)pasteContacts:(id)a0;
- (BOOL)canSelectContactAtIndexPath:(id)a0;
- (id /* block */)trailingSwipeActionsConfigurationProvider;
- (void)selectNextContact:(id)a0;
- (id)contentUnavailableConfigurationForState:(id)a0;
- (BOOL)shouldDisplayListHeaderView;
- (void)reloadContacts;
- (id)pathToCreateNewContactRow;
- (id)contactForActionsAtIndexPath:(id)a0 forMultiSelectAction:(BOOL)a1;
- (void)deselectAllSelectedIndexPathsAnimated:(BOOL)a0;
- (void)collectionView:(id)a0 didEndDisplayingCell:(id)a1 forItemAtIndexPath:(id)a2;
- (id)filteredSearchString;
- (void)actionDidFinish:(id)a0;
- (long long)numberOfSections;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (BOOL)shouldDisplaySupplementaryHeaderItemForSection:(long long)a0;
- (void)applyStyle;
- (void)updateSearchResultsForSearchController:(id)a0;
- (BOOL)canBecomeFirstResponder;
- (id)initWithDataSource:(id)a0 environment:(id)a1 shouldUseLargeTitle:(BOOL)a2;
- (void)_contactCountTelemetry:(unsigned long long)a0;
- (void).cxx_destruct;
- (id)contextMenuConfigurationForContactsAtIndexPaths:(id)a0;
- (BOOL)validateSiriEnabled;
- (id)dragItemsForIndexPath:(id)a0;
- (BOOL)canManageDuplicateContacts;
- (void)collectionView:(id)a0 willEndContextMenuInteractionWithConfiguration:(id)a1 animator:(id)a2;
- (void)_searchBarDidEndEditing:(id)a0;
- (id)pathToDuplicatesBanner;
- (void)deselectAllItemsExceptIndexPath:(id)a0;
- (BOOL)canPerformDuplicatesMerge;
- (BOOL)collectionView:(id)a0 shouldBeginMultipleSelectionInteractionAtIndexPath:(id)a1;
- (id)contextMenuInteraction;
- (void)updateDuplicatesCountBanner;
- (void)willPresentSearchController:(id)a0;
- (BOOL)collectionView:(id)a0 shouldSelectItemAtIndexPath:(id)a1;
- (id)collectionView:(id)a0 itemsForAddingToDragSession:(id)a1 atIndexPath:(id)a2 point:(struct CGPoint { double x0; double x1; })a3;
- (BOOL)selectContact:(id)a0 animated:(BOOL)a1 scrollPosition:(unsigned long long)a2 shouldScroll:(BOOL)a3;
- (void)collectionView:(id)a0 performPrimaryActionForItemAtIndexPath:(id)a1;
- (BOOL)isValidIndexPath:(id)a0;
- (void)fetchDuplicatesCountWithCompletionBlock:(id /* block */)a0;
- (id)dataSourceIndexPathForCollectionViewIndexPath:(id)a0;
- (void)tipKitStopObservation;
- (void)refreshTableViewHeaderWithSize:(struct CGSize { double x0; double x1; })a0;
- (double)contentUnavailableCellHeight;
- (void)adjustTableViewOffsetForIncomingSearchUI;
- (void)viewDidAppear:(BOOL)a0;
- (id)tipKitContentView;
- (BOOL)containsPathToContentUnavailableRow:(id)a0;
- (BOOL)isPerformingDuplicatesMerge;
- (void)reconfigureVisibleItems;
- (void)copyContacts:(id)a0;
- (void)startHandlingEmergencyContacts;
- (void)listActionHelper:(id)a0 didUpdateWithMenu:(id)a1;
- (BOOL)isShowingServerSearch;
- (long long)collectionView:(id)a0 numberOfItemsInSection:(long long)a1;
- (id)initWithDataSource:(id)a0 shouldUseLargeTitle:(BOOL)a1;
- (void)setupVCardImportController;
- (void)scrollToItemAtIndexPath:(id)a0 animated:(BOOL)a1 scrollPosition:(unsigned long long)a2;
- (long long)numberOfSectionsInCollectionView:(id)a0;
- (void)viewWillTransitionToSize:(struct CGSize { double x0; double x1; })a0 withTransitionCoordinator:(id)a1;
- (void)updateDuplicatesBannerForProcessingState;
- (BOOL)selectContact:(id)a0 animated:(BOOL)a1 scrollPosition:(unsigned long long)a2;
- (void)_updateContentUnavailableConfigurationUsingState:(id)a0;
- (BOOL)showingGroup;
- (void)disableSearchUI;
- (void)vCardImportController:(id)a0 presentViewController:(id)a1 animated:(BOOL)a2;
- (void)setCellStateSelected:(BOOL)a0 forContact:(id)a1 animated:(BOOL)a2;
- (id)_contactAtCollectionViewIndexPath:(id)a0;
- (void)suggestionsController:(id)a0 didDeselectContact:(id)a1;
- (unsigned long long)globalIndexForCollectionViewIndexPath:(id)a0;
- (void)refreshTableViewHeaderIfVisibleWithSize:(struct CGSize { double x0; double x1; })a0;
- (void)_updateCountStringNow:(BOOL)a0;
- (BOOL)canSelectContactAtCollectionViewIndexPath:(id)a0;
- (id)_contactAtIndexPath:(id)a0;
- (id)initWithCollectionViewLayout:(id)a0;
- (BOOL)isPathToDuplicatesBanner:(id)a0;
- (void)setTipView:(id)a0;
- (id)indexTitlesForCollectionView:(id)a0;
- (BOOL)hasNoContacts;
- (id)contactProvidersOnPasteboard;
- (void)setupForMultiSelection;
- (void)selectItemAtIndexPath:(id)a0 animated:(BOOL)a1 scrollPosition:(unsigned long long)a2;
- (BOOL)containsPathToCreateNewContactRow:(id)a0;
- (id)ignoredContactIdentifiersForSuggestionsController:(id)a0;
- (void)cancelSearch:(id)a0;
- (BOOL)shouldDisplayCreateNewContactAsRow;
- (void)scrollTopToContactWithIdentifier:(id)a0 animated:(BOOL)a1;
- (void)willMoveToParentViewController:(id)a0;
- (BOOL)shouldEmbedContentUnavailableViewInCell;
- (id)collectionView:(id)a0 viewForSupplementaryElementOfKind:(id)a1 atIndexPath:(id)a2;
- (id)collectionView:(id)a0 cellForItemAtIndexPath:(id)a1;
- (id)createCollectionView;
- (BOOL)isShowingAllContacts;
- (BOOL)isContactWithIdentifierMeContactOrLinkedToMeContact:(id)a0;
- (void)didPresentSearchController:(id)a0;
- (void)suggestionsController:(id)a0 didSelectContact:(id)a1;
- (id)titleForHeaderInSection:(long long)a0;
- (id)collectionView:(id)a0 itemsForBeginningDragSession:(id)a1 atIndexPath:(id)a2;
- (void)didSelectViewAllDuplicates;
- (id)hostingViewControllerForController:(id)a0;
- (BOOL)isCreateNewContactRowSection:(long long)a0;
- (void)vCardImportControllerDidCompleteQueue:(id)a0;
- (BOOL)collectionView:(id)a0 shouldDeselectItemAtIndexPath:(id)a1;
- (BOOL)canPerformAction:(SEL)a0 withSender:(id)a1;
- (BOOL)validateSiriLanguage;
- (void)bannerView:(id)a0 wasSelectedToPresentMeContact:(id)a1;
- (void)action:(id)a0 presentViewController:(id)a1;
- (void)selectPreviousContact:(id)a0;
- (void)didPerformDuplicatesMerge:(id)a0;

@end