@class NSTimer, NSString, NSMutableDictionary, NSOperationQueue, NSDictionary, NSMutableSet, CKRecordZoneID, NSObject, ICSelectorDelayer; @protocol OS_dispatch_queue, ICCloudContextDelegate, ICCloudAnalyticsDelegate; @interface ICCloudContext : NSObject @property (class, readonly, nonatomic) ICCloudContext *sharedContext; @property (class, readonly, nonatomic) CKRecordZoneID *notesZoneID; @property (class, readonly, nonatomic) CKRecordZoneID *metadataZoneID; @property (retain, nonatomic) NSOperationQueue *operationQueue; @property (retain, nonatomic) NSObject *processingQueue; @property (retain, nonatomic) NSObject *containersCreationQueue; @property (retain, nonatomic) NSMutableSet *objectIDsToRetry; @property (retain) NSTimer *retryTimer; @property (retain, nonatomic) NSMutableDictionary *retryCountsByOperationType; @property (nonatomic) long long accountStatus; @property (getter=isDisabledInternal) BOOL disabledInternal; @property (readonly, nonatomic) NSDictionary *cloudObjectClassesByRecordType; @property (nonatomic) BOOL needsToProcessAllObjects; @property (retain, nonatomic) NSMutableSet *objectIDsToProcess; @property (retain) ICSelectorDelayer *processingSelectorDelayer; @property (nonatomic) BOOL didAddObservers; @property (nonatomic, getter=isFetchingEnabled) BOOL fetchingEnabled; @property (nonatomic) BOOL syncDisabledByServer; @property (retain, nonatomic) NSDictionary *containersByAccountID; @property (retain, nonatomic) NSMutableDictionary *accountZoneIDsNeedingFetchChanges; @property (retain, nonatomic) NSMutableDictionary *accountZoneIDsFetchingChanges; @property (retain, nonatomic) NSMutableDictionary *accountZoneIDsNeedingToBeSaved; @property (retain) NSMutableSet *subscribedSubscriptionIDs; @property (nonatomic) BOOL didCheckForLongLivedOperations; @property (weak, nonatomic) id cloudContextDelegate; @property (weak, nonatomic) id cloudAnalyticsDelegate; @property (readonly, nonatomic) BOOL fetchOperationsPending; @property BOOL needsToUpdateSubscriptions; @property (nonatomic) long long qualityOfService; @property (nonatomic) unsigned long long discretionaryNetworkBehavior; @property (nonatomic) BOOL enableLongLivedOperations; @property (nonatomic) BOOL disableAutomaticallyRetryNetworkFailures; @property (nonatomic) BOOL disableRetryTimer; @property (nonatomic) BOOL syncOnlyIfReachable; @property (getter=isDisabled) BOOL disabled; @property (readonly, nonatomic) BOOL hasPendingOperations; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)allZoneIDsInAccountZoneIDs:(id)a0; + (id)zoneInfosFromZoneIDs:(id)a0; + (void)batchRecordsToSave:(id)a0 delete:(id)a1 maxRecordCountPerBatch:(unsigned long long)a2 maxRecordSizePerBatch:(unsigned long long)a3 withBlock:(id /* block */)a4; + (id)objectsByAccount:(id)a0; + (id)errorsFromError:(id)a0; + (id)errorForWaitingForRetryTimer; + (void)deleteAllServerChangeTokens; + (id)newNotesContainerForAccountID:(id)a0; + (id)sortedRecords:(id)a0; + (id)errorForDisabledCloudSyncing; + (id)zoneIDsFromZoneInfos:(id)a0; + (BOOL)haveZoneIDsInAccountZoneIDs:(id)a0; + (id)objectsByDatabaseScope:(id)a0; + (BOOL)shouldIgnoreErrorForBackoffTimer:(id)a0; + (id)errorFromErrors:(id)a0; + (id)newNotesContainer; + (BOOL)isZoneConfigurations:(id)a0 subsetOfZoneConfigurations:(id)a1; + (id)errorFromOperations:(id)a0; + (id)deduplicatedRecordsForCloudObjects:(id)a0; + (void)registerStateHandler; + (id)errorCodesToIgnoreForBackoffTimer; + (id)userRecordNameForContainer:(id)a0; - (void)updateConfiguration:(id)a0; - (void)enumerateAllCloudObjectsInContext:(id)a0 batchSize:(unsigned long long)a1 saveAfterBatch:(BOOL)a2 usingBlock:(id /* block */)a3; - (id)newCloudObjectForRecord:(id)a0 accountID:(id)a1 context:(id)a2; - (id)operationToSaveZonesIfNecessaryForAccountID:(id)a0; - (void)informCloudAnalyticsDelegateForOperationDidEnd:(id)a0 recordsByRecordID:(id)a1 operationError:(id)a2; - (void)fetchDatabaseChangesOperation:(id)a0 recordZoneWithIDWasDeleted:(id)a1 accountID:(id)a2; - (id)init; - (void)saveServerChangeToken:(id)a0 forChangedZonesInDatabase:(id)a1 accountID:(id)a2 context:(id)a3; - (id)existingCloudObjectForUserSpecificRecordID:(id)a0 createPlaceholderIfNecessary:(BOOL)a1 accountID:(id)a2 context:(id)a3; - (void)retryOperationsIfNecessary; - (void)loadZoneFetchState; - (void)dealloc; - (id)operationToModifyRecordsToSave:(id)a0 delete:(id)a1 rootRecordIDsByShareID:(id)a2 database:(id)a3; - (void)finishOperationsForRecordID:(id)a0 completionHandler:(id /* block */)a1; - (id)allZoneIDs; - (void)syncCompletedWithErrors:(id)a0; - (void)fetchDatabaseChangesWithReason:(id)a0 completionHandler:(id /* block */)a1; - (void)didFetchShare:(id)a0 accountID:(id)a1 context:(id)a2; - (void)processObjectIDs:(id)a0 operationQueue:(id)a1 completionHandler:(id /* block */)a2; - (void)incrementRetryCountForOperationType:(id)a0; - (void)clearRetryCountForOperationType:(id)a0; - (void)saveSubscriptionsForDatabase:(id)a0 completionHandler:(id /* block */)a1; - (void)updateAccountStatusWithCompletionHandler:(id /* block */)a0; - (void)incrementOrClearRetryCountForOperationType:(id)a0 error:(id)a1; - (void)resetZoneForCloudAccount:(id)a0 withReason:(id)a1; - (void)updateSelectorDelayers:(id)a0; - (void)fetchRecordZoneChangesOperation:(id)a0 completedFetchForZoneID:(id)a1 serverChangeToken:(id)a2 error:(id)a3 context:(id)a4; - (void)fetchDatabaseChangesForDatabases:(id)a0 reason:(id)a1 completionHandler:(id /* block */)a2; - (void)_addModifyRecordsOperationsWithCloudObjectsToSave:(id)a0 delete:(id)a1 accountID:(id)a2 operationGroupName:(id)a3 waitForDependencies:(BOOL)a4 completionHandler:(id /* block */)a5; - (void)deleteServerChangeTokenForRecordZoneID:(id)a0 databaseScope:(long long)a1 accountID:(id)a2 context:(id)a3; - (id)readinessLoggingDescription; - (id)subscriptionForDatabase:(id)a0; - (id)operationsToModifyRecordsForCloudObjectsToSave:(id)a0 delete:(id)a1 deleteShares:(id)a2 saveUserSpecificRecords:(id)a3 operationGroupName:(id)a4 addDependencies:(BOOL)a5 accountID:(id)a6; - (void)fetchRecordZoneChangesForZoneIDs:(id)a0 accountID:(id)a1 reason:(id)a2 completionHandler:(id /* block */)a3; - (void)syncWithReason:(id)a0 uploadUnsyncedChanges:(BOOL)a1 completionHandler:(id /* block */)a2; - (id)operationsToFetchRecordIDs:(id)a0 qualityOfService:(long long)a1 operationGroupName:(id)a2 accountID:(id)a3; - (id)operationToFetchDatabaseChangesForDatabase:(id)a0 completionHandler:(id /* block */)a1; - (void)fetchOperation:(id)a0 progressChangedWithRecordID:(id)a1 progress:(double)a2; - (id)allCloudObjectIDsInContext:(id)a0 predicate:(id)a1; - (void)addModifyRecordsOperationsWithCloudObjectsToSave:(id)a0 delete:(id)a1 accountID:(id)a2 operationGroupName:(id)a3 waitForDependencies:(BOOL)a4 completionHandler:(id /* block */)a5; - (void)fetchRecordZoneChangesOperationDidComplete:(id)a0 error:(id)a1; - (void)addOperationsToFetchRecordZoneChangesForAccountZoneIDs:(id)a0 reason:(id)a1 completionHandler:(id /* block */)a2; - (void)scheduleBackgroundSync; - (void)fetchRecordIDs:(id)a0 accountID:(id)a1 operationGroupName:(id)a2 completionHandler:(id /* block */)a3; - (void)_processCloudObjects:(id)a0 operationQueue:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)isInternetReachable; - (id)operationToFetchRecordZoneChangesForZoneIDs:(id)a0 database:(id)a1; - (void)handleCloudKitNotification:(id)a0 completionHandler:(id /* block */)a1; - (void)fetchSubscriptionsForDatabase:(id)a0 completionHandler:(id /* block */)a1; - (void)fetchDatabaseChangesOperation:(id)a0 finishedWithServerChangeToken:(id)a1 accountID:(id)a2 error:(id)a3 completionHandler:(id /* block */)a4 context:(id)a5; - (id)existingCloudObjectForRecordID:(id)a0 recordType:(id)a1 accountID:(id)a2 context:(id)a3 excludingRecordTypes:(id)a4; - (void)addFetchOperationsForRecordIDs:(id)a0 accountID:(id)a1 qualityOfService:(long long)a2 operationGroupName:(id)a3 completionHandler:(id /* block */)a4; - (void)reachabilityChanged:(id)a0; - (BOOL)isInForeground; - (void)clearPendingActivity; - (void)clearContainers; - (BOOL)partialError:(id)a0 containsErrorCode:(long long)a1; - (void)deleteRecordZonesWithZoneIDs:(id)a0 accountID:(id)a1 markZonesAsUserPurged:(BOOL)a2 completionHandler:(id /* block */)a3; - (void)handleGenericPartialFailuresForError:(id)a0 operation:(id)a1; - (void)updateCloudContextState; - (void)addOperationToProcessObjectsWithCompletionHandler:(id /* block */)a0; - (id)operationsToModifyRecordsToSave:(id)a0 delete:(id)a1 rootRecordIDsByShareID:(id)a2 database:(id)a3; - (id)_objectIDsToProcessForFullSyncInContext:(id)a0; - (BOOL)isReadyToSync; - (void)disableCloudSyncingIfCurrentVersionNotSupported:(id)a0; - (id)serverChangeTokenForChangedZonesInDatabase:(id)a0 accountID:(id)a1 context:(id)a2; - (id)newPlaceholderObjectForRecordID:(id)a0 recordType:(id)a1 accountID:(id)a2 context:(id)a3; - (id)serverChangeTokenForRecordZoneID:(id)a0 databaseScope:(long long)a1 accountID:(id)a2 context:(id)a3; - (void)receivedZoneNotFound:(id)a0 operation:(id)a1 context:(id)a2; - (id)operationsToFetchRecordZoneChangesForZoneIDs:(id)a0 accountID:(id)a1; - (void)fetchRecordZoneChangesWithReason:(id)a0 completionHandler:(id /* block */)a1; - (void)clearSubscribedSubscriptionIDs; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (id)operationToSaveZonesForZoneIDs:(id)a0 accountID:(id)a1; - (void).cxx_destruct; - (id)existingCloudObjectForRecordID:(id)a0 recordType:(id)a1 accountID:(id)a2 context:(id)a3; - (void)clearZoneFetchState; - (void)ingestCloudKitRecord:(id)a0 forAccountID:(id)a1 forceMerge:(BOOL)a2 context:(id)a3; - (void)_syncWithReason:(id)a0 uploadUnsyncedChanges:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)processPendingCloudObjectsWithCompletionHandler:(id /* block */)a0; - (void)fetchOperation:(id)a0 recordWasFetchedWithRecordID:(id)a1 record:(id)a2 error:(id)a3; - (void)_processPendingCloudObjectsWithCompletionHandler:(id /* block */)a0; - (void)modifyRecordsOperation:(id)a0 recordWasDeletedWithRecordID:(id)a1 rootRecordIDsByShareID:(id)a2 error:(id)a3; - (id)operationToFetchRecordIDs:(id)a0 database:(id)a1 qualityOfService:(long long)a2; - (void)printOperationQueue; - (double)timeIntervalToRetryAfterFromError:(id)a0; - (void)saveServerChangeToken:(id)a0 forRecordZoneID:(id)a1 databaseScope:(long long)a2 accountID:(id)a3 context:(id)a4; - (void)validateAccountZoneIDsNeedingFetchChanges; - (void)fetchRecordZoneChangesOperation:(id)a0 recordWasChangedWithRecordID:(id)a1 record:(id)a2 error:(id)a3 context:(id)a4; - (void)handleRemoteNotificationWithUserInfo:(id)a0 completion:(id /* block */)a1; - (void)fetchRecordZoneChangesOperation:(id)a0 recordWasDeletedWithRecordID:(id)a1 recordType:(id)a2 context:(id)a3; - (id)existingCloudObjectForRecord:(id)a0 accountID:(id)a1 context:(id)a2; - (void)fetchDatabaseChangesOperation:(id)a0 changeTokenUpdated:(id)a1 accountID:(id)a2 context:(id)a3; - (void)processAllCloudObjectsWithCompletionHandler:(id /* block */)a0; - (void)addCallbackBlocksToModifyRecordsOperation:(id)a0 rootRecordIDsByShareID:(id)a1; - (BOOL)canRetryImmediatelyAfterError:(id)a0; - (void)deleteServerChangeTokenForChangedZonesInDatabase:(id)a0 accountID:(id)a1 context:(id)a2; - (void)fetchDatabaseChangesOperation:(id)a0 recordZoneWithIDChanged:(id)a1 accountID:(id)a2; - (id)newOperationToFetchRecordZoneChangesWithZoneConfigurations:(id)a0 database:(id)a1; - (void)_ingestCloudKitRecord:(id)a0 forAccountID:(id)a1 forceMerge:(BOOL)a2 context:(id)a3; - (void)pushCloudObjects:(id)a0 operationGroupName:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)isFetchingAllRecordZones; - (void)processPendingCloudObjects; - (void)fetchRecordZoneChangesForAccountZoneIDs:(id)a0 reason:(id)a1 completionHandler:(id /* block */)a2; - (void)addDependenciesForModifyRecordsOperation:(id)a0; - (void)syncWithReason:(id)a0 completionHandler:(id /* block */)a1; - (id)containerForAccountID:(id)a0; - (void)fetchUserRecordWithAccountID:(id)a0 completionHandler:(id /* block */)a1; - (void)startRetryTimerIfNecessaryWithError:(id)a0; - (void)deleteSharesForObjects:(id)a0 accountID:(id)a1 completionHandler:(id /* block */)a2; - (void)cloudKitAccountChanged:(id)a0; - (void)contextDidSaveOrMerge:(id)a0; - (void)fetchCloudObjects:(id)a0 accountID:(id)a1 completionHandler:(id /* block */)a2; - (void)fetchOperation:(id)a0 didCompleteWithRecordsByRecordID:(id)a1 error:(id)a2; - (void)modifyRecordsOperation:(id)a0 didCompleteWithError:(id)a1; - (void)cancelEverythingWithCompletionHandler:(id /* block */)a0; - (void)fetchRecordZoneChangesOperation:(id)a0 zoneID:(id)a1 accountID:(id)a2 changeTokenUpdated:(id)a3 context:(id)a4; - (id)invernessClientForAccountID:(id)a0; - (id)allCloudObjectIDsInContext:(id)a0; - (void)checkForLongLivedOperations; - (id)operationsToFetchRecordIDs:(id)a0 database:(id)a1 qualityOfService:(long long)a2; - (void)_filterCloudSyncingObjects:(id)a0 accountID:(id)a1 objectsToSave:(id *)a2 objectsToDelete:(id *)a3 objectsToDeleteShares:(id *)a4 objectsToSaveUserSpecificRecord:(id *)a5; - (void)updateSubscriptionsWithCompletionHandler:(id /* block */)a0; - (void)modifyRecordsOperation:(id)a0 recordWasSavedWithRecordID:(id)a1 record:(id)a2 error:(id)a3; - (void)fetchUserRecordWithContainer:(id)a0 completionHandler:(id /* block */)a1; - (void)pauseCloudSyncWhileSynchronouslyPerformingBlock:(id /* block */)a0; - (void)saveZoneFetchState; - (void)deleteSharesForObjects:(id)a0 completionHandler:(id /* block */)a1; - (void)finishOperationsForRecordID:(id)a0 qualityOfService:(long long)a1 completionHandler:(id /* block */)a2; @end