@class NSDate, CKServerChangeToken, NSObject, NSString, CKNotificationListener, CKDatabase, CKAssetDownloadStagingManager, NSOperationQueue, NSArray, CKSyncEngineDataSourceAdapter, CKSyncEngineState, CKAccountInfo, CKCoalescer; @protocol CKSyncEngineAsyncDelegate, CKSyncEngineDataSource, OS_xpc_object, CKSyncEngineDelegateInternal, OS_dispatch_queue; @interface CKSyncEngine : NSObject { BOOL _ignoringSystemConditions; BOOL _useUniqueActivityIdentifiers; unsigned long long _lastNotifiedStateChangeCount; NSObject *_queue; unsigned long long _maxRecordBytesPerBatch; id /* block */ _updateStateBlock; } @property (class, nonatomic) BOOL fastErrorRetry; @property (copy, nonatomic) CKServerChangeToken *serverChangeTokenForDatabase; @property (readonly, nonatomic) BOOL hasPendingModifications; @property (readonly, weak, nonatomic) id dataSource; @property (readonly, nonatomic) NSArray *recordIDsToSave; @property (readonly, nonatomic) NSArray *recordIDsToDelete; @property (retain) id asyncDelegate; @property (weak, nonatomic) id internalDelegate; @property (retain) CKSyncEngineDataSourceAdapter *dataSourceAdapter; @property (retain) CKSyncEngineState *state; @property (retain) CKNotificationListener *notificationListener; @property (readonly, nonatomic) NSOperationQueue *operationQueue; @property (retain, nonatomic) NSString *apsMachServiceName; @property (retain, nonatomic) CKCoalescer *accountChangeCoalescer; @property (retain, nonatomic) CKCoalescer *schedulerSubmitCoalescer; @property (retain, nonatomic) CKCoalescer *pushSyncCoalescer; @property (readonly, nonatomic) NSObject *callbackQueue; @property (readonly, nonatomic) unsigned long long maxRecordCountPerBatch; @property unsigned long long maxZoneCountPerBatch; @property (readonly, nonatomic) NSObject *xpcActivityCriteriaOverrides; @property (nonatomic, getter=isWaitingForIdentityUpdate) BOOL waitingForIdentityUpdate; @property (nonatomic, getter=isWaitingForHSA2) BOOL waitingForHSA2; @property (retain, nonatomic) CKAccountInfo *lastKnownAccountInfo; @property (readonly, nonatomic) long long priority; @property (readonly, nonatomic) NSString *databaseSubscriptionIDOverride; @property (readonly, nonatomic) BOOL continueModifyingPendingChangesAfterFailure; @property (readonly, nonatomic) BOOL allowFetchAndModifyConcurrently; @property (retain, nonatomic) NSDate *earliestStartDateForSchedulerActivities; @property (retain, nonatomic) NSDate *lastForegroundTriggeredFetchDate; @property (retain) CKAssetDownloadStagingManager *assetDownloadStagingManager; @property (copy) NSString *loggingID; @property (copy) NSDate *stateTelemetrySubmissionDate; @property (weak) id boxedSyncEngine; @property (getter=isAutomaticSyncingEnabled) BOOL automaticSyncingEnabled; @property BOOL useOpportunisticPushTopic; @property BOOL needsToReloadAccount; @property (readonly) CKDatabase *database; + (void)unregisterActivitiesWithDatabase:(id)a0 ignoringSystemConditions:(BOOL)a1; + (id)defaultOperationGroup; + (BOOL)_isFetchChangesErrorAdopterVisible:(id)a0; + (void)populateLoggingIDsForSyncEngines:(id)a0; + (id)defaultManualOperationGroupNameWithType:(id)a0 scope:(id)a1; + (id)syncActivityIdentifierInDatabase:(id)a0 ignoringSystemConditions:(BOOL)a1; + (BOOL)shouldDeferAfterError:(id)a0; + (id)_oldAdopterVisibleFetchChangesErrorForZoneID:(id)a0 error:(id)a1; + (id)earliestStartDateAfterError:(id)a0; + (void)addKnownEngine:(id)a0; - (void)scheduleSyncIfNecessaryAfterError:(id)a0 completionHandler:(id /* block */)a1; - (void)performSyncWithOperationGroup:(id)a0 completionHandler:(id /* block */)a1; - (id)stateTelemetryPayloadWithByteCount:(long long)a0; - (BOOL)_queue_shouldFetchChangesWithOptions:(id)a0; - (id)init; - (void)postEvent:(id)a0; - (void)nextBatchOfRecordsToModifyForContext:(id)a0 completionHandler:(id /* block */)a1; - (void)relatedApplicationBundleIdentifiersForPendingWorkWithCompletionHandler:(id /* block */)a0; - (void)dealloc; - (void)addRecordIDsToSave:(id)a0 recordIDsToDelete:(id)a1; - (id)redactedDescription; - (id)redactedContainerIdentifierIfNecessaryFromContainerID:(id)a0; - (BOOL)_queue_lastSyncWasLongAgo; - (void)nonCoalescedScheduleSync; - (void)setServerChangeToken:(id)a0 forRecordZoneID:(id)a1; - (BOOL)_queue_shouldScheduleSyncActivity; - (id)databaseSubscriptionWithID:(id)a0; - (id)initWithDeprecatedConfiguration:(id)a0; - (id)configurationTelemetryPayload; - (id)defaultDatabaseSubscriptionID; - (void)registerForApplicationLifecycleEvents; - (void)performAsyncDelegateCallbackWithDescription:(id)a0 block:(id /* block */)a1; - (void)sendChangesWithOptions:(id)a0 completionHandler:(id /* block */)a1; - (id)existingOperationToModifyPendingChangesWithOptions:(id)a0 includingExecutingOperations:(BOOL)a1; - (void)fetchChangesWithCompletionHandler:(id /* block */)a0; - (BOOL)shouldScheduleSyncActivity; - (void)submitActivityIfNecessaryWithIdentifier:(id)a0 earliestStartDate:(id)a1 priority:(long long)a2 userRequestedBackupTask:(BOOL)a3 relatedApplicationBundleIdentifiers:(id)a4 completionHandler:(id /* block */)a5; - (void)scheduleSyncWithEarliestStartDate:(id)a0 completionHandler:(id /* block */)a1; - (void)_sendChangesWithContext:(id)a0 osActivity:(id)a1 completionHandler:(id /* block */)a2; - (id)databaseSubscription; - (void)setHasPendingModifications; - (void)relatedApplicationBundleIdentifiersForZoneIDs:(id)a0 recordIDs:(id)a1 completionHandler:(id /* block */)a2; - (void)setNeedsToSaveRecordZones:(id)a0 needsToSave:(BOOL)a1; - (BOOL)isAccountReadyToSync:(id)a0 unreadyDescription:(id *)a1; - (void)applicationWillEnterForeground; - (void)cancelPendingOperationsWithCompletionHandler:(id /* block */)a0; - (BOOL)shouldSendTelemetry; - (void)performCoalescedPushSync; - (void)handleAccountChangeNotification; - (void)sendChangesWithCompletionHandler:(id /* block */)a0; - (void)coalescedScheduleSync; - (void)setNeedsToDeleteRecords:(id)a0 needsToDelete:(BOOL)a1; - (void)cancelOperationsWithCompletionHandler:(id /* block */)a0; - (void)saveSubscriptionIfNecessaryWithCompletionHandler:(id /* block */)a0; - (void)setNeedsToFetchChanges; - (id)description; - (void)didReceiveDatabaseNotification:(id)a0; - (BOOL)allowFetchAndModifyConcurrentlyForContainerID:(id)a0; - (void)addRecordZonesToSave:(id)a0 recordZoneIDsToDelete:(id)a1; - (BOOL)isReadyToSubmitSchedulerActivity; - (id)serverChangeTokenForRecordZoneID:(id)a0; - (void)modifyPendingChangesInZoneIDs:(id)a0 completionHandler:(id /* block */)a1; - (void)removeRecordZonesToSave:(id)a0 recordZoneIDsToDelete:(id)a1; - (void)updateAccountInfoWithCompletionHandler:(id /* block */)a0; - (id)initWithConfiguration:(id)a0; - (void)accountChangedNotification:(id)a0; - (void)fetchChangesForZoneIDs:(id)a0 completionHandler:(id /* block */)a1; - (id)syncActivityIdentifier; - (void).cxx_destruct; - (void)setNeedsToSaveRecords:(id)a0 needsToSave:(BOOL)a1; - (void)identityUpdateNotification:(id)a0; - (BOOL)shouldFetchChangesWithOptions:(id)a0; - (void)setNeedsToDeleteRecordZones:(id)a0 needsToDelete:(BOOL)a1; - (void)postWillEnqueueOperation:(id)a0; - (void)_fetchChangesWithContext:(id)a0 osActivity:(id)a1 completionHandler:(id /* block */)a2; - (void)fetchChangesWithOptions:(id)a0 completionHandler:(id /* block */)a1; - (void)removeRecordIDsToSave:(id)a0 recordIDsToDelete:(id)a1; - (void)shareAcceptedNotification:(id)a0; - (void)modifyPendingChangesWithCompletionHandler:(id /* block */)a0; - (id)existingOperationToFetchChangesWithOptions:(id)a0 includingExecutingOperations:(BOOL)a1; - (void)coalescePushSyncIfNecessary; - (void)fixConfigurationInOperationGroup:(id)a0; - (void)sendStateTelemetryIfNecessaryWithByteCount:(unsigned long long)a0; - (void)sendConfigurationTelemetry; - (BOOL)hasSchedulerActivityWithIdentifier:(id)a0; - (id)userRequestedBackupActivityIdentifier; - (void)updateStateAndNotifyDatasourceIfNecessaryForUserRecordID:(id)a0; - (void)scheduleSync; - (id)defaultDatabaseSubscription; - (void)unregisterActivities; - (void)networkAttributionBundleIDForZoneIDs:(id)a0 recordIDs:(id)a1 completionHandler:(id /* block */)a2; @end