@class NSString, NSMapTable, NSObject, CKContainer; @protocol DNDSSyncEngineSynchronizing, DNDSSyncEngineLastChanceDataStoring, DNDSKeybagStateProviding, DNDSSyncEngineMetadataStoring, OS_dispatch_queue, OS_dispatch_source; @interface DNDSSyncEngine : NSObject { id _store; id _syncEngine; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; NSObject *_syncEngineQueue; NSObject *_accountUpdateSource; NSMapTable *_sourcesByZoneName; id _metadataStore; id _lastChanceStore; struct { BOOL syncEnabled; BOOL featureEnabled; BOOL accountAvailable; BOOL encryptionAvailable; BOOL supportedDevice; BOOL testing; } _state; BOOL _allowSyncEngineCreation; CKContainer *_container; id _keybag; } @property (nonatomic, getter=isSyncPreferenceEnabled) BOOL syncPreferenceEnabled; @property (readonly, nonatomic, getter=isSyncEnabled) BOOL syncEnabled; @property (readonly, nonatomic, getter=isSyncAvailable) BOOL syncAvailable; @property (readonly, nonatomic) unsigned long long cloudSyncState; @property (readonly, nonatomic) BOOL hasLocalChanges; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, copy, nonatomic) NSString *sysdiagnoseDataIdentifier; + (id)sharedInstance; - (void)_fetchAccountStateWithCompletionHandler:(id /* block */)a0; - (void)_lock_setEncryptionAvailable:(BOOL)a0; - (void)_cloudKitAccountChanged:(id)a0; - (void)_migrateOldStoresWithSyncEnabledState:(BOOL)a0; - (void)addRecordIDsToSave:(id)a0 recordIDsToDelete:(id)a1; - (void)syncEngine:(id)a0 zoneWithIDWasDeleted:(id)a1; - (void)_updateAccountWithCurrentSyncEnabledState; - (void)syncEngine:(id)a0 didDeleteRecordWithID:(id)a1; - (long long)_lock_currentAccountStatus; - (BOOL)_lock_encryptionAvailable; - (void)pairedDeviceDidChange; - (void)_lock_setCurrentUserRecordID:(id)a0; - (BOOL)_lock_isSyncEnabled; - (BOOL)_lock_isSyncAvailable; - (void)_initialSyncForDataSources; - (id)_lock_dataSourceForRecord:(id)a0; - (id)_lock_currentUserRecordID; - (id)initWithMetadataStore:(id)a0 lastChanceDataStore:(id)a1 syncEngine:(id)a2 keybag:(id)a3 syncEnabled:(BOOL)a4; - (void)removeZoneWithID:(id)a0; - (void)_lock_destroySyncEngine; - (void)syncEngine:(id)a0 recordWithIDWasDeleted:(id)a1 recordType:(id)a2; - (void)syncEngine:(id)a0 didFetchRecord:(id)a1; - (id)syncEngine:(id)a0 recordToSaveForRecordID:(id)a1; - (id)_zoneIDForRecord:(id)a0; - (id)initWithMetadataStore:(id)a0 lastChanceDataStore:(id)a1 keybag:(id)a2 syncEnabled:(BOOL)a3; - (void)sendChangesWithCompletionHandler:(id /* block */)a0; - (void)_initialSyncForDataSource:(id)a0 withZoneName:(id)a1; - (void)syncEngine:(id)a0 didSaveRecord:(id)a1; - (void)purgeZoneWithID:(id)a0; - (void)_retryLastChanceRecordsForDataSource:(id)a0 withZoneName:(id)a1; - (void)syncEngine:(id)a0 zoneWithIDWasPurged:(id)a1; - (void)addRecordZonesToSave:(id)a0 recordZoneIDsToDelete:(id)a1; - (id)_lock_dataSources; - (void)_updateAccountWithSyncEnabledState:(BOOL)a0; - (id)_lock_syncEngine; - (BOOL)_lock_isSyncPreferenceEnabled; - (id)sysdiagnoseDataForDate:(id)a0 redacted:(BOOL)a1; - (void).cxx_destruct; - (void)sync:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (void)_retryLastChanceRecords; - (void)_purgeDataFromDataSources; - (void)setDataSource:(id)a0 forZoneName:(id)a1; - (void)fetchChanges:(BOOL)a0 withCompletionHandler:(id /* block */)a1; - (void)_syncEngineQueue_updateAccountWithSyncEnabledState:(BOOL)a0; - (void)keybagDidUnlockForTheFirstTime:(id)a0; - (void)syncEngine:(id)a0 didUpdateMetadata:(id)a1; - (void)syncEngine:(id)a0 failedToSaveRecord:(id)a1 error:(id)a2; - (id)_lock_dataSourceForZoneID:(id)a0; - (id)lastChanceRecordForRecordID:(id)a0; - (BOOL)syncEngine:(id)a0 shouldFetchChangesForZoneID:(id)a1; - (void)syncEngine:(id)a0 failedToDeleteRecordWithID:(id)a1 error:(id)a2; - (void)_handleAccountFetchWithUpdatedUserRecordID:(id)a0 updatedAccountStatus:(long long)a1 updatedEncryptionAvailable:(BOOL)a2 updatedSyncEnabled:(BOOL)a3; - (void)_lock_setCurrentAccountStatus:(long long)a0; - (void)handleFetchedRecord:(id)a0; - (void)_lock_purgeData; - (void)setTesting:(BOOL)a0; - (void)handleDeletedRecordID:(id)a0; @end