@class UINavigationItem, HKHealthStore, NSDictionary, CNContactContentViewControllerConfiguration, CNContactRecentsReference, CNContactAddNewFieldAction, NSMutableArray, UIBarButtonItem, CNMutableContact, CNUIContactsEnvironment, CNMedicalIDAction, CNUIContainerContext, CNContactContentNavigationItemUpdater, CNContactContainerPickerViewController, CNUIGeminiDataSource, NSMapTable, CNContactAddLinkedCardAction, CNPropertyLinkedCardsAction, CNContactActionProvider, CNContact, CNGroup, CNContactAction, CNContactFormatter, UIKeyCommand, CNContainer, CNContactView, CNPropertyGroupsDataSource, NSLayoutConstraint, CNCardContactContainerGroup, CNCardGroup, CNManagedConfiguration, CNSiriContactContextProvider, CNContactViewCache, CNPolicy, CNAccessAuthorization, UIView, CNPropertyNoteCell, NSArray, CNUIUserActivityManager, CNEmergencyContactAction, NSMutableDictionary, NSString, CNCardLinkedCardsGroup, CNContactHeaderEditView, CNContactSuggestionAction, CNContactSelectContainersAction, CNContactStore, CNCardPropertyGeminiGroup; @protocol CNContactContentNavigationItemDelegate, CNPresenterDelegate, CNHealthStoreManagerToken, CNUIContactSaveExecutor, CNContactContentEditViewControllerDelegate, CNCancelable; @interface CNContactContentEditViewController : UIViewController { BOOL _needsReload; BOOL _needsRefetch; BOOL _disablingRotation; BOOL _saving; int _animating; BOOL _navBarWasVisibleWhenPresented; } @property (retain, nonatomic) CNContactContentViewControllerConfiguration *contactViewConfiguration; @property (retain, nonatomic) CNMutableContact *mutableContact; @property (retain, nonatomic) NSMutableArray *issuedSaveRequestIdentifiers; @property (retain, nonatomic) CNMutableContact *shadowCopyOfReadonlyContact; @property (retain, nonatomic) CNUIContainerContext *containerContext; @property (retain, nonatomic) CNPropertyGroupsDataSource *propertyGroupsDataSource; @property (retain, nonatomic) CNContactFormatter *contactFormatter; @property (retain, nonatomic) CNContactHeaderEditView *contactHeaderView; @property (retain, nonatomic) CNContactView *contactView; @property (retain, nonatomic) CNContactContainerPickerViewController *containerPicker; @property (nonatomic) BOOL isPresentingFullscreenForOutOfProcess; @property (retain, nonatomic) NSMutableArray *editingGroups; @property (retain, nonatomic) NSArray *nameEditingGroups; @property (retain, nonatomic) NSMutableDictionary *groupsAfterGroup; @property (retain, nonatomic) NSMapTable *cachedLabelWidths; @property (retain, nonatomic) NSArray *extraRightBarButtonItems; @property (retain, nonatomic) NSArray *extraLeftBarButtonItems; @property (retain, nonatomic) CNCardGroup *cardMedicalIDGroup; @property (retain, nonatomic) CNCardLinkedCardsGroup *cardLinkedCardsGroup; @property (retain, nonatomic) NSArray *customActions; @property (retain, nonatomic) CNPropertyNoteCell *noteCell; @property (retain, nonatomic) CNPropertyLinkedCardsAction *linkedCardsAction; @property (retain, nonatomic) CNContactAddLinkedCardAction *addLinkedCardAction; @property (retain, nonatomic) CNContactAddNewFieldAction *addNewFieldAction; @property (retain, nonatomic) CNContactSuggestionAction *suggestedContactAction; @property (retain, nonatomic) CNContactSelectContainersAction *selectContainersAction; @property (retain, nonatomic) CNContactActionProvider *actionProvider; @property (retain, nonatomic) NSArray *activatedConstraints; @property (retain, nonatomic) NSLayoutConstraint *headerHeightConstraint; @property (retain, nonatomic) UIView *headerDropShadowView; @property (retain, nonatomic) CNMedicalIDAction *medicalIDAction; @property (retain, nonatomic) CNEmergencyContactAction *emergencyContactAction; @property (retain, nonatomic) id medicalIDRegistrationToken; @property (retain, nonatomic) id medicalIDLookupToken; @property (retain, nonatomic) NSString *emergencyNumberIdentifier; @property (retain, nonatomic) CNCardGroup *cardEditingActionsGroup; @property (retain, nonatomic) CNCardGroup *cardEditingDeleteContactGroup; @property (retain, nonatomic) CNCardPropertyGeminiGroup *cardEditingGeminiGroup; @property (retain, nonatomic) CNCardContactContainerGroup *cardEditingContactContainerGroup; @property (retain, nonatomic) CNContactAction *deleteContactAction; @property (retain, nonatomic) CNContactAction *ignoreContactAction; @property (retain, nonatomic) CNSiriContactContextProvider *siriContextProvider; @property (retain, nonatomic) NSMutableArray *editingLinkedContacts; @property (retain, nonatomic) NSDictionary *userActivityUserInfo; @property (retain, nonatomic) HKHealthStore *healthStore; @property (nonatomic) BOOL didSetFirstResponder; @property (retain, nonatomic) NSArray *highlightedProperties; @property (nonatomic) BOOL highlightedPropertyImportant; @property (retain, nonatomic) UIKeyCommand *saveCommand; @property (retain, nonatomic) UIKeyCommand *cancelCommand; @property (nonatomic) double keyboardVerticalOverlap; @property (retain, nonatomic) NSArray *preEditLeftBarButtonItems; @property (readonly, nonatomic) CNUIContactsEnvironment *environment; @property (readonly, nonatomic) CNContactViewCache *contactViewCache; @property (readonly, nonatomic) CNUIUserActivityManager *activityManager; @property (readonly, nonatomic) CNUIGeminiDataSource *geminiDataSource; @property (nonatomic) BOOL runningPPT; @property (readonly, nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } peripheryInsets; @property (nonatomic) BOOL didSetNewContact; @property (nonatomic) BOOL forcesTransparentBackground; @property (retain, nonatomic) CNContactContentNavigationItemUpdater *navItemUpdater; @property (nonatomic) BOOL supportsDrafts; @property (retain, nonatomic) CNPolicy *policy; @property (retain, nonatomic) NSDictionary *linkedPoliciesByContactIdentifier; @property (readonly, nonatomic) NSArray *cardActions; @property (retain, nonatomic) CNContactStore *contactStore; @property (retain, nonatomic) CNManagedConfiguration *managedConfiguration; @property (retain, nonatomic) CNAccessAuthorization *accessAuthorization; @property (retain, nonatomic) NSArray *missingRequiredKeys; @property (retain, nonatomic) NSArray *originalContacts; @property (nonatomic) BOOL shouldDrawNavigationBar; @property (retain, nonatomic) NSString *initialPrompt; @property (retain, nonatomic) id saveContactExecutor; @property (retain, nonatomic) id saveLinkedContactsExecutor; @property (nonatomic) BOOL shouldIgnoreContactStoreDidChangeNotification; @property (retain, nonatomic) NSArray *prohibitedPropertyKeys; @property (retain, nonatomic) CNContactRecentsReference *recentsData; @property (readonly, nonatomic) NSDictionary *propertyGroups; @property (nonatomic) BOOL showingMeContact; @property (nonatomic) long long mode; @property (retain, nonatomic) CNContact *contact; @property (retain, nonatomic) CNGroup *parentGroup; @property (retain, nonatomic) CNContainer *parentContainer; @property (weak, nonatomic) id delegate; @property (weak, nonatomic) id presentingDelegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly) BOOL isPresentingModalViewController; @property (weak, nonatomic) id navigationItemDelegate; @property (readonly, nonatomic) UINavigationItem *effectiveNavigationItem; @property (readonly, nonatomic) UIBarButtonItem *doneButtonItem; + (id)descriptorForRequiredKeys; + (long long)tableViewStyle; + (id)viewControllerWithRestorationIdentifierPath:(id)a0 coder:(id)a1; + (void)_telemetryForContact:(id)a0; + (id)boolStateRestorationProperties; + (id)descriptorForRequiredKeysForContact:(id)a0; + (id)descriptorForRequiredKeysWithDescription:(id)a0; + (BOOL)enablesTransportButtons; + (BOOL)shouldShowGeminiForResult:(id)a0 contact:(id)a1; - (void)updateViewConstraints; - (void)encodeRestorableStateWithCoder:(id)a0; - (id)tableView:(id)a0 viewForHeaderInSection:(long long)a1; - (long long)numberOfSectionsInTableView:(id)a0; - (BOOL)tableView:(id)a0 shouldDrawTopSeparatorForSection:(long long)a1; - (double)navigationBarHeight; - (void)viewWillAppear:(BOOL)a0; - (id)tableView:(id)a0 cellForRowAtIndexPath:(id)a1; - (void)dealloc; - (long long)adaptivePresentationStyleForPresentationController:(id)a0; - (long long)tableView:(id)a0 numberOfRowsInSection:(long long)a1; - (void)_updateUserActivity; - (void)localeDidChange:(id)a0; - (BOOL)reloadDataIfNeeded; - (void)viewWillLayoutSubviews; - (void)tableView:(id)a0 willDisplayCell:(id)a1 forRowAtIndexPath:(id)a2; - (id)initWithEnvironment:(id)a0; - (double)tableView:(id)a0 heightForRowAtIndexPath:(id)a1; - (void)viewDidLayoutSubviews; - (void)setNeedsReload; - (BOOL)tableView:(id)a0 shouldHaveFullLengthBottomSeparatorForSection:(long long)a1; - (void)tableView:(id)a0 didSelectRowAtIndexPath:(id)a1; - (void)contentSizeCategoryDidChange:(id)a0; - (BOOL)tableView:(id)a0 shouldDrawBottomSeparatorForSection:(long long)a1; - (void)viewDidLoad; - (BOOL)hasPendingChanges; - (double)tableView:(id)a0 heightForHeaderInSection:(long long)a1; - (void)setupConstraints; - (id)tableView:(id)a0 titleForHeaderInSection:(long long)a1; - (BOOL)isOutOfProcess; - (double)tableView:(id)a0 estimatedHeightForRowAtIndexPath:(id)a1; - (void)loadView; - (void)contactStoreDidChangeWithNotification:(id)a0; - (void)contactViewController:(id)a0 didDeleteContact:(id)a1; - (void)presentationControllerWillDismiss:(id)a0; - (void)updateUserActivityState:(id)a0; - (id)initWithNibName:(id)a0 bundle:(id)a1; - (void)viewWillDisappear:(BOOL)a0; - (void)updateContact:(id)a0; - (void)actionDidFinish:(id)a0; - (BOOL)canBecomeFirstResponder; - (void).cxx_destruct; - (void)viewDidMoveToWindow:(id)a0 shouldAppearOrDisappear:(BOOL)a1; - (void)viewDidAppear:(BOOL)a0; - (void)viewWillTransitionToSize:(struct CGSize { double x0; double x1; })a0 withTransitionCoordinator:(id)a1; - (BOOL)needsReload; - (void)setTitle:(id)a0; - (void)scrollViewDidScroll:(id)a0; - (id)hostingViewControllerForController:(id)a0; - (void)scrollViewWillEndDragging:(id)a0 withVelocity:(struct CGPoint { double x0; double x1; })a1 targetContentOffset:(inout struct CGPoint { double x0; double x1; } *)a2; - (id)contentScrollViewForEdge:(unsigned long long)a0; - (BOOL)isModalInPresentation; - (void)presentationController:(id)a0 willPresentWithAdaptiveStyle:(long long)a1 transitionCoordinator:(id)a2; - (void)tableView:(id)a0 accessoryButtonTappedForRowWithIndexPath:(id)a1; - (BOOL)tableView:(id)a0 canPerformAction:(SEL)a1 forRowAtIndexPath:(id)a2 withSender:(id)a3; - (void)tableView:(id)a0 commitEditingStyle:(long long)a1 forRowAtIndexPath:(id)a2; - (void)tableView:(id)a0 didEndEditingRowAtIndexPath:(id)a1; - (long long)tableView:(id)a0 editingStyleForRowAtIndexPath:(id)a1; - (double)tableView:(id)a0 heightForFooterInSection:(long long)a1; - (void)tableView:(id)a0 performAction:(SEL)a1 forRowAtIndexPath:(id)a2 withSender:(id)a3; - (BOOL)tableView:(id)a0 shouldHighlightRowAtIndexPath:(id)a1; - (BOOL)tableView:(id)a0 shouldIndentWhileEditingRowAtIndexPath:(id)a1; - (BOOL)tableView:(id)a0 shouldShowMenuForRowAtIndexPath:(id)a1; - (id)tableView:(id)a0 titleForDeleteConfirmationButtonForRowAtIndexPath:(id)a1; - (id)tableView:(id)a0 titleForFooterInSection:(long long)a1; - (void)tableView:(id)a0 willDisplayFooterView:(id)a1 forSection:(long long)a2; - (void)tableView:(id)a0 willDisplayHeaderView:(id)a1 forSection:(long long)a2; - (void)_refetchContact; - (void)adjustInsetsForKeyboardOverlap:(double)a0; - (void)focusOnFirstEditingItemIfNeeded; - (struct CGSize { double x0; double x1; })requiredSizeForVisibleTableView; - (void)setSaveKeyboardShortcutEnabled:(BOOL)a0; - (BOOL)shouldPresentConfirmCancelAlert; - (BOOL)shouldShowActionsForAvatarView:(id)a0; - (id)_cellForIndexPath:(id)a0 forTableView:(id)a1; - (void)_validateGroup:(id)a0; - (id)indexPathOfEditingPropertyItem:(id)a0; - (double)updateHeaderConstraintForGlobalHeaderHeight:(double)a0 direction:(long long)a1 animated:(BOOL)a2; - (void)_addGroup:(id)a0 afterGroup:(id)a1 forTableView:(id)a2 animated:(BOOL)a3; - (id)_addGroupsInArray:(id)a0 afterGroup:(id)a1; - (id)_addLinkedCardAction; - (void)_addMedicalIDGroupAnimated:(BOOL)a0 forTableView:(id)a1; - (id)_addNewFieldAction; - (void)_addedGroupWithName:(id)a0; - (id)_cardGroupAtTableViewSectionIndex:(long long)a0 forTableView:(id)a1; - (id)_cellIdentifierForTableView:(id)a0 indexPath:(id)a1; - (id)_currentGroupsForTableView:(id)a0; - (id)_currentTopVisibleGroupInContactView:(id)a0; - (void)_didCompleteWithContact:(id)a0; - (BOOL)_indexPathIsActionItem:(id)a0 forTableView:(id)a1; - (id)_itemAtIndexPath:(id)a0 forTableView:(id)a1; - (id)_labelWidthKeyForGroup:(id)a0; - (id)_labelWidthKeyForItem:(id)a0; - (id)_linkedCardsAction; - (id)_loadEditingGroupsPreservingChanges:(BOOL)a0; - (id)_loadNameEditingGroups; - (id)_loadPropertyGroups; - (long long)_modalPresentationStyleForViewController:(id)a0; - (BOOL)_modelHasChanges; - (BOOL)_modelIsEmpty; - (id)_phoneticNameForValue:(id)a0 currentPhoneticName:(id)a1 property:(id)a2; - (id)_policyForContact:(id)a0 mode:(long long)a1; - (id)_propertyGroupsForKeys:(id)a0; - (void)_reloadContainerContextPreservingChanges:(BOOL)a0; - (void)_reloadGeminiGroupPreservingChanges:(BOOL)a0; - (void)_reloadLinkedCardsGroup; - (void)_reloadMedicalIDGroup; - (void)_reloadPropertyGroupsPreservingChanges:(BOOL)a0; - (id)_removeUnauthorizedKeysFromContact:(id)a0; - (void)_saveChangesForGroups:(id)a0; - (void)_scrollContactView:(id)a0 toVisibleGroup:(id)a1; - (id)_selectContainersAction; - (void)_setNeedsUpdateCachedLabelWidths; - (void)_setupEditingCardActions; - (void)_setupEditingLinkedContactsForKeys:(id)a0; - (void)_setupSuggestionActions; - (void)_updateCachedLabelWidths; - (void)_updateCachedLabelWidthsForGroup:(id)a0; - (void)_updateCachedLabelWidthsForItem:(id)a0; - (void)_updateCachedLabelWidthsIfNeeded; - (id)_updateContact:(id)a0 withMissingKeysFromRequiredKeys:(id)a1; - (void)_updateLabelWidthForCell:(id)a0; - (void)_updateLabelWidthForCellsInGroup:(id)a0 forTableView:(id)a1 reset:(BOOL)a2; - (void)_updateLabelWidthsForAllVisibleCells; - (id)action:(id)a0 cellForPropertyItem:(id)a1 sender:(id)a2; - (void)action:(id)a0 dismissViewController:(id)a1 sender:(id)a2; - (void)action:(id)a0 prepareChildContactViewController:(id)a1 sender:(id)a2; - (void)action:(id)a0 presentViewController:(id)a1 sender:(id)a2; - (void)action:(id)a0 pushViewController:(id)a1 sender:(id)a2; - (void)actionWasCanceled:(id)a0; - (void)addCardGroup:(id)a0 afterGroup:(id)a1; - (void)addEditingItemAtIndexPath:(id)a0 forTableView:(id)a1; - (void)addLinkedContact:(id)a0; - (id)alreadyPickedGroups; - (id)applyContactStyle; - (void)cancelAsyncLookups; - (id)cardGroupForProperty:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })centeredSourceRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 inContactView:(id)a1; - (void)cleanupRecentImageMetadata; - (void)cleanupRecentMetadata; - (void)cleanupRecentPosterMetadata; - (void)clearMapsDataIfEdited; - (void)contactGroupPickerDidCancel:(id)a0; - (void)contactGroupPickerDidFinish:(id)a0 withGroup:(id)a1; - (void)contactViewConfigurationDidUpdate; - (double)contentOffsetYForGlobalHeaderHeight:(double)a0 contentInset:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (void)createCardEditingContactContainerGroupIfNeeded; - (void)createCardEditingGeminiGroupIfNeeded; - (void)createdNewContact:(id)a0; - (double)desiredHeightForWidth:(double)a0; - (void)didChangeToEditMode:(BOOL)a0; - (void)didChangeToShowTitle:(BOOL)a0; - (void)editCancel; - (void)editCancel:(id)a0; - (void)favoritesDidChangeWithNotification:(id)a0; - (void)finishEditing; - (void)finishEditing:(id)a0; - (void)focusOnLastEditingItemInGroup:(id)a0; - (void)geminiDataSourceDidUpdate:(id)a0; - (double)globalHeaderHeightForContentOffset:(double)a0 contentInset:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (Class)groupClassForProperty:(id)a0; - (unsigned long long)groupIndexFromTableViewSectionIndex:(unsigned long long)a0 forTableView:(id)a1; - (void)headerPhotoDidUpdate; - (void)headerView:(id)a0 didAcceptDropOfImageData:(id)a1; - (void)headerViewDidChangeHeight:(id)a0; - (void)headerViewDidPickPreferredChannel:(id)a0; - (void)headerViewDidUpdateLabelSizes; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })headerViewSafeAreaInsets; - (id)indexPathOfDisplayedPropertyItem:(id)a0; - (id)indexPathOfPropertyItem:(id)a0 editing:(BOOL)a1; - (id)initWithContact:(id)a0 contactViewConfiguration:(id)a1; - (void)initializeTableViewsForHeaderHeight; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })insetsForContactTableView:(id)a0; - (BOOL)isHeaderViewPhotoProhibited; - (BOOL)isNicknameProhibited; - (BOOL)isScrollViewControllingHeaderResizeAnimation:(id)a0; - (BOOL)isStandardGroup:(id)a0; - (BOOL)isSuggestedContact; - (void)keyboardDidShowNotification:(id)a0; - (void)keyboardWillHideNotification:(id)a0; - (void)loadContactViewControllerViews; - (id)navigationItemController; - (void)performConfirmedCancel; - (BOOL)performSave; - (void)prepareCell:(id)a0; - (void)prepareContactDidAppearForPPT; - (void)presentConfirmCancelAlertController; - (void)presentViewController:(id)a0 sourceView:(id)a1; - (void)propertyCell:(id)a0 didDeleteLabel:(id)a1 forGroup:(id)a2; - (void)propertyCell:(id)a0 didUpdateItem:(id)a1 withNewLabel:(id)a2; - (void)propertyCell:(id)a0 didUpdateItem:(id)a1 withNewValue:(id)a2; - (void)propertyCell:(id)a0 performActionForItem:(id)a1 withTransportType:(long long)a2; - (void)propertyCellDidChangeLayout:(id)a0; - (void)propertyItem:(id)a0 willChangeValue:(id)a1; - (void)reloadCardGroup:(id)a0 forTableView:(id)a1; - (void)reloadDataPreservingChanges:(BOOL)a0; - (void)reloadUnifiedContact; - (void)removeEditingItem:(id)a0 atIndexPath:(id)a1 forTableView:(id)a2; - (void)removeLinkedContact:(id)a0; - (BOOL)saveChanges; - (id)saveDescriptionForCurrentState; - (void)saveModelChangesToContact; - (void)saveNewContactDraft; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })scrollIndicatorInsetsForContactTableView:(id)a0 withContentInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (void)scrollScrollViewAllTheWayUp:(id)a0; - (long long)sectionOfGroup:(id)a0 inTableView:(id)a1; - (void)sender:(id)a0 dismissViewController:(id)a1; - (void)sender:(id)a0 dismissViewController:(id)a1 completionHandler:(id /* block */)a2; - (void)sender:(id)a0 presentViewController:(id)a1; - (void)setBackgroundColorIfNeededForPresentedViewController:(id)a0; - (void)setCancelKeyboardShortcutEnabled:(BOOL)a0; - (void)setMenuProviderForCell:(id)a0 forActionGroupItem:(id)a1; - (void)setNeedsReloadLazy; - (void)setupActionsPreservingChanges:(BOOL)a0; - (void)setupContainerContextIfNeededForContact:(id)a0; - (struct CGSize { double x0; double x1; })setupTableHeaderView; - (void)setupViewHierarchyIncludingAvatarHeader:(BOOL)a0; - (BOOL)shouldAllowContainerPicking; - (BOOL)shouldDisplayAvatarHeaderView; - (BOOL)shouldReallyShowLinkedContacts; - (BOOL)shouldShowGemini; - (unsigned long long)tableViewSectionIndexFromGroupIndex:(unsigned long long)a0 forTableView:(id)a1; - (void)toggleEditing; - (void)toggleEditing:(id)a0; - (void)updateContactsViewWithBlock:(id /* block */)a0 completion:(id /* block */)a1; - (void)updateDoneButton; - (void)updateEditNavigationItemsAnimated:(BOOL)a0; - (void)updateEditPhotoButtonIfNeeded; - (void)updateHeaderHeightToMatchScrollViewState:(id)a0 scrollDirection:(long long)a1 animated:(BOOL)a2; - (void)updateInsetsIfNeededForTableView:(id)a0; - (void)updateOutOfProcessFullscreenPresentationIfNeeded; - (void)updateTableView:(id)a0 contentInsetsTo:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1 withScrollIndicatorInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a2; - (void)updateWindowTitleForAppearing:(BOOL)a0; - (void)updateWithNewContact:(id)a0; - (void)updatedExistingContact:(id)a0; - (void)viewController:(id)a0 presentationControllerWillDismiss:(id)a1; - (id)viewControllerForHeaderView:(id)a0; @end