@class NSDate, NSString, CLSActivity, CLSAuthTree, NSMutableDictionary, CLSGraph, NSMutableSet, NSMutableArray, CLSCurrentUser, CLSEndpointConnection, CLSContext; @protocol CLSDataStoreDelegate; @interface CLSDataStore : NSObject <CLSFaultProcessorDelegate, NSLocking> { NSMutableSet *_dataObservers; NSMutableDictionary *_deletedObjectsByID; NSMutableDictionary *_objectGenerationsByID; CLSCurrentUser *_cachedCurrentUser; struct os_unfair_recursive_lock_s { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } ourl_lock; unsigned int ourl_count; } _lock; NSMutableArray *_pendingSaves; BOOL _saveInProgress; CLSAuthTree *_authTree; CLSAuthTree *_handoutAssignedItemsAuthTree; NSMutableArray *_runningActivities; NSDate *_lastPruneDate; NSString *_appBundleIdentifier; NSString *_appName; NSDate *_lastBannerTime; } @property (class, readonly, nonatomic) CLSCurrentUser *currentUser; @property (class, readonly, nonatomic) CLSDataStore *shared; @property (retain, nonatomic) CLSContext *mainAppContext; @property (retain, nonatomic) CLSEndpointConnection *endpointConnection; @property (retain, nonatomic) CLSCurrentUser *cachedCurrentUser; @property (readonly, nonatomic) CLSGraph *graph; @property (readonly, nonatomic) CLSAuthTree *authTree; @property (readonly, nonatomic) CLSAuthTree *handoutAssignedItemsAuthTree; @property (readonly, nonatomic) CLSContext *activeContext; @property (readonly, nonatomic) CLSActivity *runningActivity; @property (weak, nonatomic) id<CLSDataStoreDelegate> delegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (BOOL)isSearchAPIEnabled; + (BOOL)isPrivateSearchAPIEnabled; + (BOOL)isAvailable; + (id)handoutSubgraphContainingAsset:(id)a0; + (Class)endpointClass; + (id)handoutGraphFromHandout:(id)a0; + (BOOL)isDashboardApp; + (BOOL)isPDTool; + (id)newDatastore; - (void)applicationDidBecomeActive:(id)a0; - (id)appIdentifier; - (void)applicationWillResignActive:(id)a0; - (id)init; - (void)reset; - (void)dealloc; - (id)utilityServer:(id /* block */)a0; - (id)runningActivities; - (id)currentUser; - (void)_save; - (void)lock; - (void)renewCredentialsWithCompletion:(id /* block */)a0; - (id)objectWithObjectID:(id)a0; - (id)initWithEndpoint:(id)a0; - (void)unlock; - (id)_addObject:(id)a0; - (void)_reconnect; - (void).cxx_destruct; - (id)dataServer:(id /* block */)a0; - (BOOL)isSearchAPIEnabled; - (void)removeObject:(id)a0; - (void)executeQuery:(id)a0; - (BOOL)isPrivateSearchAPIEnabled; - (id)addObject:(id)a0; - (id)syncDataServer:(id /* block */)a0; - (BOOL)isDashboardAPIEnabled; - (id)allContexts; - (id)syncUtilityServer:(id /* block */)a0; - (void)objectsMatching:(id)a0 completion:(id /* block */)a1; - (void)removeAsset:(id)a0; - (void)removeCollection:(id)a0; - (void)saveWithCompletion:(id /* block */)a0; - (void)addCollection:(id)a0; - (void)removeContext:(id)a0; - (void)membersOfGroupWithIdentifier:(id)a0 completion:(id /* block */)a1; - (void)currentUserWithCompletion:(id /* block */)a0; - (void)fetchActivityForURL:(id)a0 completion:(id /* block */)a1; - (id)orphanedAssets:(id *)a0; - (void)presentTransparencyMessageInfo:(id)a0; - (id)syncFetchContextsForContextIDs:(id)a0; - (void)canSearchRostersWithCompletion:(id /* block */)a0; - (void)fetchCollectionsWithCompletion:(id /* block */)a0; - (void)removeFavorite:(id)a0; - (void)removeObjectWithObjectID:(id)a0 class:(Class)a1; - (id)_arrangeObjectsIfNeeded:(id)a0; - (void)_classesForCurrentUserWithRole:(unsigned long long)a0 completion:(id /* block */)a1; - (void)_connectionConnected; - (void)_connectionInterupted; - (void)_createMainAppContext; - (void)_fetchHandoutAttachmentForDocumentURL:(id)a0 completion:(id /* block */)a1; - (id)_filterObjectsBeingSavedFromObjects:(id)a0; - (void)_generatePartialTimeIntervalsForRunningActivities; - (id)_modifiedObjects; - (void)_reenableObservers; - (void)_refreshMainAppContext; - (void)_registerForAccountChangedDarwinNotification; - (void)_saveObjects:(id)a0 completion:(id /* block */)a1; - (void)_validateAndCreateHandoutAssignedItemFor:(id)a0 completion:(id /* block */)a1; - (id)_validateObjects:(id)a0; - (void)addFavorite:(id)a0; - (void)addHandout:(id)a0; - (void)addRunningActivitiesObject:(id)a0; - (void)addSurveyAnswerItem:(id)a0; - (void)adminRequestorForEmail:(id)a0 completion:(id /* block */)a1; - (void)awaitExecuteQuery:(id)a0 completion:(id /* block */)a1; - (id)cachedMainAppContext; - (void)childrenOfAdminRequestID:(id)a0 completion:(id /* block */)a1; - (void)classesForPersonID:(id)a0 role:(unsigned long long)a1 completion:(id /* block */)a2; - (void)cloudKitThumbnailUrlSuitableForOpeningForAsset:(id)a0 completion:(id /* block */)a1; - (void)cloudKitUrlSuitableForOpeningForAsset:(id)a0 completion:(id /* block */)a1; - (void)cloudKitUrlSuitableForStreamingAsset:(id)a0 completion:(id /* block */)a1; - (void)collaborationStatesForObjectWithID:(id)a0 classID:(id)a1 forOwnersWithRole:(unsigned long long)a2 completion:(id /* block */)a3; - (void)collaborationStatesForObjectWithID:(id)a0 ownerPersonID:(id)a1 completion:(id /* block */)a2; - (void)completeAllAssignedActivitiesMatching:(id)a0; - (void)contextsMatchingIdentifier:(id)a0 completion:(id /* block */)a1; - (void)contextsMatchingIdentifierPath:(id)a0 completion:(id /* block */)a1; - (void)contextsMatchingIdentifierPath:(id)a0 parentContext:(id)a1 completion:(id /* block */)a2; - (void)contextsMatchingPredicate:(id)a0 completion:(id /* block */)a1; - (void)createShareIfNeededForURL:(id)a0 completion:(id /* block */)a1; - (void)currentUserWithServer:(id)a0 completion:(id /* block */)a1; - (void)dataServer:(id)a0 executeQuery:(id)a1 issueServerRequest:(BOOL)a2; - (void)deleteAdminRequestID:(id)a0 completion:(id /* block */)a1; - (void)deleteArchivedCollectionObjects:(id)a0 withCompletion:(id /* block */)a1; - (void)deleteBackingStoreForAsset:(id)a0 completion:(id /* block */)a1; - (void)deregisterDataObserver:(id)a0; - (void)developerModeChanged:(id)a0; - (void)enrolledClassesWithCompletion:(id /* block */)a0; - (void)executeQuery:(id)a0 issueServerRequest:(BOOL)a1; - (void)faultMainAppContext; - (void)featureIsEnabled:(int)a0 completion:(id /* block */)a1; - (void)fetchAndCompleteAllAssignedActivitiesForContextPath:(id)a0 withCompletion:(id /* block */)a1; - (void)fetchAppBasedAssignmentUsage:(id)a0 completion:(id /* block */)a1; - (void)fetchAssignedItemFor:(id)a0 completion:(id /* block */)a1; - (void)fetchCollectionItemsWithCompletion:(id /* block */)a0; - (void)fetchReportsWithPredicate:(id)a0 completion:(id /* block */)a1; - (void)fetchSurveyAnswers:(id)a0 responderIDs:(id)a1 completion:(id /* block */)a2; - (void)fetchTransparencyMessageInfoForAttachmentID:(id)a0 withCompletion:(id /* block */)a1; - (void)fetchTransparencyMessageInfoWithCompletion:(id /* block */)a0; - (void)getCurrentUseriCloudQuotaInfoWithCompletion:(id /* block */)a0; - (void)handoutAttachmentForDocumentURL:(id)a0 completion:(id /* block */)a1; - (void)instructedClassesWithCompletion:(id /* block */)a0; - (BOOL)isAllowedToInsertObject:(id)a0; - (BOOL)isAppClient; - (BOOL)isRemovedObject:(id)a0; - (void)markObjectAsDeleted:(id)a0; - (void)personsInClassWithClassID:(id)a0 role:(unsigned long long)a1 completion:(id /* block */)a2; - (void)presentTransparencyMessageForHandoutAssignedItemInfo:(id)a0; - (void)pruneDeletedObjectsWithCompletion:(id /* block */)a0; - (void)publishAdminRequests:(id)a0 withRequestor:(id)a1 adminRequestAccounts:(id)a2 completion:(id /* block */)a3; - (void)publishAnswersForSurvey:(id)a0 completion:(id /* block */)a1; - (void)publishCollaborationStateChanges:(id)a0 completion:(id /* block */)a1; - (void)publishHandout:(id)a0 completion:(id /* block */)a1; - (void)refreshAuthTreeForAttachment:(id)a0 withCompletion:(id /* block */)a1; - (void)refreshAuthTreeWithCompletion:(id /* block */)a0; - (void)refreshMainAppContext; - (void)registerDataObserver:(id)a0; - (void)relayRequestWithData:(id)a0 requestType:(unsigned long long)a1 completion:(id /* block */)a2; - (void)removeActivityWithObjectID:(id)a0; - (void)removeClass:(id)a0; - (void)removeClass:(id)a0 completion:(id /* block */)a1; - (void)removeContextWithObjectID:(id)a0; - (void)removeHandout:(id)a0; - (void)removeHandoutAssignedItem:(id)a0; - (void)removeRunningActivitiesObject:(id)a0; - (void)removeSurvey:(id)a0; - (void)removeSurveyAnswerItem:(id)a0; - (void)repairHandoutAttachments:(id)a0 completion:(id /* block */)a1; - (void)saveClass:(id)a0 completion:(id /* block */)a1; - (void)saveInsightEvents:(id)a0 completion:(id /* block */)a1; - (void)saveObjects:(id)a0 completion:(id /* block */)a1; - (id)serverInternalState:(unsigned long long)a0 error:(id *)a1; - (unsigned long long)serverSyncStatus; - (void)setShouldSyncTeacherBrowsedContexts:(BOOL)a0 completion:(id /* block */)a1; - (void)setTestSharedDataStore:(id)a0; - (void)shouldPerformSearchAPIOperation:(id)a0 completion:(id /* block */)a1; - (void)shouldSyncTeacherBrowsedContextsWithCompletion:(id /* block */)a0; - (void)startActivity:(id)a0 activityType:(int)a1 bundleID:(id)a2 completion:(id /* block */)a3; - (void)startActivityFailed:(id)a0 activityType:(int)a1 completion:(id /* block */)a2; - (void)studentActivityForAttachmentsWithIDs:(id)a0 completion:(id /* block */)a1; - (void)syncDeleteProgressReportingCapabilitiesForContextID:(id)a0; - (void)syncDeleteThumbnailBlobForContext:(id)a0; - (id)syncFetchProgressReportingCapabilitiesForContextID:(id)a0; - (id)syncFetchSettingsForUserNotificationType:(long long)a0; - (id)syncFetchThumbnailBlobForContext:(id)a0; - (void)syncFetchWithCompletion:(id /* block */)a0; - (BOOL)syncSetSettingsForUserNotificationType:(long long)a0 settings:(id)a1; - (void)triggerProgressTransparencyMessageForAttachmentID:(id)a0; - (void)triggerUserNotificationHandoutAssigned:(id)a0 completion:(id /* block */)a1; - (void)triggerUserNotificationHandoutDueSoonWithReferenceDate:(id)a0 completion:(id /* block */)a1; - (void)triggerUserNotificationHandoutPastDueSummaryWithReferenceDate:(id)a0 completion:(id /* block */)a1; - (void)triggerUserNotificationReviewDueHandoutsWithReferenceDate:(id)a0 completion:(id /* block */)a1; - (void)triggerUserNotificationRevisedSubmissionWithAttachmentID:(id)a0 studentName:(id)a1 completion:(id /* block */)a2; - (void)triggerUserNotificationRevisionRequested:(id)a0 completion:(id /* block */)a1; - (id)uploadAsset:(id)a0; - (void)urlSuitableForOpeningForExpectedURL:(id)a0 itemID:(id)a1 ownerName:(id)a2 zoneName:(id)a3 completion:(id /* block */)a4; @end