@class WBSCRDTPositionGenerator, NSMutableDictionary, NSObject, NSDictionary, WBProfile, NSMutableArray, WBBrowserState, NSString, NSSet, NSHashTable, WBSPair, NSMutableSet, WBParticipantPresenceCoordinator, NSArray, WBTabCollection, NSCountedSet; @protocol OS_dispatch_queue, WBTabGroupSyncAgentProtocol; @interface WBTabGroupManager : NSObject { NSObject *_internalQueue; NSHashTable *_observers; NSHashTable *_cloudTabObservers; WBSCRDTPositionGenerator *_positionGenerator; NSMutableSet *_recentlyAddedTabGroupsAwaitingFirstStartPage; NSMutableDictionary *_removedTabGroupsByUUID; NSMutableDictionary *_removedTabsByUUID; NSMutableDictionary *_localTabsByUUID; NSMutableDictionary *_localTabGroupsByUUID; NSMutableDictionary *_syncableTabsByUUID; NSMutableDictionary *_syncableTabGroupsByUUID; NSMutableDictionary *_profilesByIdentifier; NSMutableDictionary *_removedProfilesByIdentifier; NSMutableDictionary *_devicesByUUID; NSString *_lastLocalDeviceNameSaved; BOOL _didFinishSetup; id /* block */ _setupCompletionHandler; WBSPair *_currentShareAcceptancePair; NSMutableArray *_pendingShareAcceptancePairQueue; WBParticipantPresenceCoordinator *_presenceCoordinator; long long _numberOfDevicePresenceReportingRequests; NSCountedSet *_activeTabGroupUUIDs; WBSPair *_activeTabGroupAndTabUUIDPair; NSDictionary *_tabGroupUUIDsToCKShares; NSMutableDictionary *_broadcastingTabGroupUUIDsToCKShare; } @property (readonly, nonatomic) BOOL enableSharedTabGroupsFastSyncPresence; @property (readonly, nonatomic) BOOL hasSharedTabGroups; @property (readonly, nonatomic) BOOL isBroadcastingPresenceUpdates; @property (readonly, nonatomic) WBTabCollection *tabCollection; @property (retain, nonatomic) id syncAgentProxy; @property (readonly, copy, nonatomic) NSArray *profiles; @property (readonly, copy, nonatomic) NSArray *namedProfiles; @property (readonly, nonatomic) BOOL hasMultipleProfiles; @property (readonly, copy, nonatomic) NSSet *allProfileIdentifiers; @property (readonly, copy, nonatomic) NSSet *allNamedProfileIdentifiers; @property (readonly, copy, nonatomic) NSSet *recentlyAddedTabGroupsAwaitingFirstStartPage; @property (readonly, nonatomic) WBProfile *defaultProfile; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) BOOL cloudTabsAreEnabled; @property (readonly, copy, nonatomic) NSString *defaultProfileIdentifier; @property (readonly, nonatomic, getter=hasCompletedMigration) BOOL completedMigration; @property (readonly, nonatomic, getter=isPersistent) BOOL persistent; @property (readonly, nonatomic) WBBrowserState *browserState; @property (readonly, nonatomic) WBBrowserState *lastSessionBrowserState; @property (readonly, copy, nonatomic) NSArray *windowStates; @property (readonly, nonatomic) int windowsFolderSpecialID; @property (readonly, copy, nonatomic) NSArray *windows; @property (readonly, copy, nonatomic) NSArray *namedTabGroupsInDefaultProfile; @property (readonly, copy, nonatomic) NSArray *allNamedTabGroupsUnsorted; @property (readonly, nonatomic) int pinnedTabsFolderID; @property (readonly, nonatomic) int privatePinnedTabsFolderID; @property (nonatomic) unsigned long long maximumTabsPerGroup; + (id)ephemeralTabGroupManager; - (BOOL)saveWindowState:(id)a0; - (id)updateProfileWithIdentifier:(id)a0 persist:(BOOL)a1 usingBlock:(id /* block */)a2 completionHandler:(id /* block */)a3; - (id)initWithCollection:(id)a0; - (id)windowStateWithUUID:(id)a0; - (id)tabGroupWithUUID:(id)a0; - (void)beginSharingTabGroupWithUUID:(id)a0 completionHandler:(id /* block */)a1; - (void)activeParticipantsDidUpdateInTabWithUUID:(id)a0; - (void)shareDidUpdateForTabGroupWithUUID:(id)a0; - (void)reorderScopedBookmarkWithUUID:(id)a0 afterBookmarkWithUUID:(id)a1 notify:(BOOL)a2; - (void)deleteScopedBookmarkWithUUID:(id)a0 completionHandler:(id /* block */)a1; - (void)updateScopedBookmarkWithUUID:(id)a0 title:(id)a1 address:(id)a2; - (id)windowWithUUID:(id)a0; - (id)_generatePositionForDevice:(id)a0 afterDevice:(id)a1; - (void)movePresenceForParticipantToTabWithUUID:(id)a0; - (void)closeAllTabsInProfilesWithIdentifiers:(id)a0; - (void)_mergeTabGroups:(id)a0; - (void)_uncacheTab:(id)a0; - (id)_tabGroupsForProfileWithIdentifier:(id)a0; - (void)addTabGroupObserver:(id)a0; - (id)_tabGroupWithUUID:(id)a0; - (void)removeTabGroupObserver:(id)a0; - (id)_remoteDevicesForProfileWithIdentifier:(id)a0; - (void)_beginDevicePresenceReportingIfNeeded; - (void)moveTabGroup:(id)a0 afterTabGroup:(id)a1; - (BOOL)insertItems:(id)a0 inParentWithID:(unsigned int)a1 afterItem:(id)a2; - (id)devicesForProfile:(id)a0; - (void)_reorderTabGroup:(id)a0 afterTabGroup:(id)a1; - (id)topScopedBookmarkListForTabGroup:(id)a0; - (BOOL)closeTab:(id)a0 onDevice:(id)a1; - (void)_didReceiveShare:(id)a0 forTabGroupUUID:(id)a1; - (void)endParticipantPresenceReportingForTabGroupWithUUID:(id)a0; - (void)_updateDeviceNameIfNeededWithName:(id)a0; - (void)_ensureProfileDirectoriesExistForProfile:(id)a0; - (void)removeProfile:(id)a0 completionHandler:(id /* block */)a1; - (void)removeTabGroup:(id)a0; - (id)scopedBookmarkListWithID:(int)a0 filteredUsingString:(id)a1; - (void)moveProfile:(id)a0 afterProfile:(id)a1; - (id)_unnamedTabGroupsForDeviceWithUUID:(id)a0; - (void)getPresenceTabUUIDForParticipantIdentifier:(id)a0 inTabGroup:(id)a1 completionHandler:(id /* block */)a2; - (id)shareRecordForTabGroup:(id)a0; - (void)getActiveParticipantsInTab:(id)a0 completionHandler:(id /* block */)a1; - (id /* block */)_itemSyncPositionComparator; - (void)_userDidAcceptTabGroupShareWithMetadata:(id)a0 inProfileWithIdentifier:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)saveBrowserState:(id)a0; - (void)_addTabsInTabGroups:(id)a0 toParentIdentifierInTabsToParentIdentifiersDictionary:(id)a1; - (void)updateTabsInTabGroup:(id)a0 completionHandler:(id /* block */)a1; - (id)_profiles; - (id)_performCRDTMergeAndMapTabsToParentIdentifiersWithProfilesByIdentifier:(id)a0 devicesByUUID:(id)a1 uninsertedSyncableTabsFromSyncableTabsByUUID:(id)a2; - (void)waitForSetupWithCompletionHandler:(id /* block */)a0; - (id)profileWithIdentifier:(id)a0; - (id)_insertTabGroup:(id)a0 afterTabGroup:(id)a1 isMove:(BOOL)a2; - (id)tabWithUUID:(id)a0; - (id)_findOrCreateLocalDeviceWithName:(id)a0 forProfileWithIdentifier:(id)a1; - (void)deleteScopedBookmarkWithUUID:(id)a0; - (id)tabGroupMatchingShare:(id)a0; - (void)getActiveParticipantsInTabGroup:(id)a0 completionHandler:(id /* block */)a1; - (id)namedTabGroupsForProfileWithIdentifier:(id)a0; - (id)_insertDevice:(id)a0 inProfile:(id)a1 completionHandler:(id /* block */)a2; - (void)syncDidFinishWithResult:(long long)a0; - (id)tabsForTabGroup:(id)a0; - (void)waitForPendingChanges; - (void)flushDeletedTabsInTabGroup:(id)a0; - (void)beginParticipantPresenceReportingForTabGroupWithUUID:(id)a0; - (void)participantPresenceCoordinator:(id)a0 didUpdateActiveParticipants:(id)a1 inTabGroupWithIdentifier:(id)a2; - (void)moveTabGroup:(id)a0 toProfileWithIdentifier:(id)a1 afterTabGroup:(id)a2; - (id)updateTabsInTabGroupWithUUID:(id)a0 persist:(BOOL)a1 usingBlock:(id /* block */)a2; - (id)_namedProfiles; - (void)_movePresenceForParticipantToTabWithUUID:(id)a0; - (void)_unsafeCreateDefaultProfileIfNecessary; - (void)deleteWindowStates:(id)a0 completionHandler:(id /* block */)a1; - (id)updateTabGroupWithUUID:(id)a0 persist:(BOOL)a1 usingBlock:(id /* block */)a2; - (void)appendProfile:(id)a0 completionHandler:(id /* block */)a1; - (id)_tabWithUUID:(id)a0; - (BOOL)_shouldEndDevicePresenceReporting; - (void)_updateTabGroupShares:(id)a0; - (id)updateTabWithUUID:(id)a0 persist:(BOOL)a1 notify:(BOOL)a2 usingBlock:(id /* block */)a3; - (id)moveTabs:(id)a0 toTabGroup:(id)a1 afterTab:(id)a2 withoutPersistingTabGroupsWithUUIDStrings:(id)a3; - (id)_generatePositionForTabGroup:(id)a0 afterTabGroup:(id)a1; - (id)positionGenerator:(id)a0 recordNameOfBookmarksBeforeRecordWithName:(id)a1; - (void)reloadTabGroupsFromDatabaseWithCompletionHandler:(id /* block */)a0; - (void)activeParticipantsDidUpdateInTabGroupWithUUID:(id)a0; - (id)_generatePositionAfterProfile:(id)a0; - (void)recentlyAddedTabGroupIsAwaitingFirstStartPage:(id)a0; - (id)_tabGroupCacheForTabGroup:(id)a0; - (void)enableDevicePresenceReporting; - (BOOL)_shouldBeginDevicePresenceReporting; - (id)_tabCacheForTabGroup:(id)a0; - (id)_devicesForProfileWithIdentifier:(id)a0; - (void)_dequeueNextAcceptCloudKitShareMetadataIfNeeded; - (id)positionGenerator:(id)a0 recordNameOfBookmarksAfterRecordWithName:(id)a1; - (id)_shareRecordIfNeededToEndCollaborationForTabGroup:(id)a0; - (void).cxx_destruct; - (void)saveWindowState:(id)a0 completionHandler:(id /* block */)a1; - (void)_didModifyUnnamedTabGroupInDeviceWithUUID:(id)a0; - (id)_localTabGroups; - (void)_addTab:(id)a0 toParentIdentifierInTabsToParentIdentifiersDictionary:(id)a1; - (void)_sendAcceptanceResult:(long long)a0 forShareMetadata:(id)a1 toHandler:(id)a2; - (id)_unsafeMutableDefaultProfile; - (void)disableDevicePresenceReporting; - (void)disableSuddenTerminationForPendingChanges; - (long long)_nextInMemoryPositionChangeID; - (void)addCloudTabsObserver:(id)a0; - (id)_findLocalDeviceForProfileWithIdentifier:(id)a0; - (id)unnamedTabGroupsForProfileWithIdentifier:(id)a0; - (id)_allTabGroupsUnsorted; - (void)_notifyScopedBookmarkChangesInFolderWithID:(int)a0; - (id)positionGenerator:(id)a0 positionForRecordName:(id)a1; - (void)registerWindowState:(id)a0; - (id)profileWithServerID:(id)a0; - (id)insertUnnamedTabGroup:(id)a0 deviceName:(id)a1; - (void)_cacheTabGroup:(id)a0; - (id)_unnamedTabGroupsForProfileWithIdentifier:(id)a0; - (void)_updateTabsAndCacheTabGroup:(id)a0 withTabsByParentIdentifiers:(id)a1; - (void)_willFlushDeletedTabs:(id)a0 inTabGroup:(id)a1; - (id)_unsafeTabGroupUUIDsToCKShares; - (void)_removeProfileDirectoriesForProfile:(id)a0; - (id)_shareRecordIfNeededToBeginCollaborationForTabGroup:(id)a0; - (long long)nextChangeIDForPositionInPositionGenerator:(id)a0; - (void)_didFlushDeletedTabs:(id)a0 inTabGroup:(id)a1; - (void)_didModifyUnnamedTabGroup:(id)a0; - (void)_uncacheTabGroup:(id)a0; - (void)insertScopedBookmark:(id)a0 inScopedBookmarkFolderWithID:(int)a1 afterBookmarkWithUUID:(id)a2; - (void)shareRecordForTabGroup:(id)a0 completionHandler:(id /* block */)a1; - (void)tabGroupHasDisplayedStartPage:(id)a0; - (void)participantPresenceCoordinator:(id)a0 didUpdateActiveParticipants:(id)a1 inTabWithIdentifier:(id)a2; - (void)getCurrentConnectionStateWithCompletionHandler:(id /* block */)a0; - (id)syncedRemoteCloudTabDevicesForProfileWithIdentifier:(id)a0; - (void)acceptTabGroupShareWithMetadata:(id)a0 handler:(id)a1; - (void)saveBrowserState:(id)a0 completionHandler:(id /* block */)a1; - (void)_tabGroupSyncDidFinish:(id)a0; - (void)_endDevicePresenceReportingIfNeeded; - (void)_didRemoveProfiles:(id)a0 updateProfiles:(id)a1 previousProfiles:(id)a2 removeTabGroups:(id)a3 updateTabGroups:(id)a4 previousTabGroups:(id)a5; - (id)deviceIdentifierForPositionGenerator:(id)a0; - (void)_commonInit; - (void)_reloadProfilesAndTabGroupsAndNotify:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (id)insertTabGroup:(id)a0 afterTabGroup:(id)a1; - (void)_cacheProfile:(id)a0; - (void)_updatePositionsForTabsInTabGroup:(id)a0; @end