@class NSHashTable, NSURL, CPLEngineScopeCleanupTasks, CPLEngineRevertRecords, CPLEngineQuarantinedRecords, CPLResetTracker, CPLChangeBatch, NSMutableArray, NSString, CPLEngineChangePipe, CPLEngineCloudCache, NSArray, CPLEngineIDMapping, NSMutableDictionary, CPLEngineIgnoredRecords, CPLTransportScopeMapping, CPLEngineRemappedRecords, NSObject, NSSet, CPLSyncSessionPredictor, CPLEngineScopeStorage, CPLEngineTransientRepository, CPLEngineDerivativesCache, CPLEngineLibrary, CPLEngineResourceStorage, CPLEnginePendingRecordChecks, CPLEngineOutgoingResources, CPLEngineStatusCenter, CPLEnginePushRepository, NSDate, CPLRecordStorageView, CPLEngineResourceDownloadQueue, CPLPlatformObject; @protocol OS_dispatch_queue, OS_dispatch_source; @interface CPLEngineStore : NSObject { NSHashTable *_storages; NSString *_sharingScopeIdentifier; NSObject *_batchedTransactionsQueue; NSMutableArray *_batchedTransactions; BOOL _batchedTransactionDequeueIsScheduled; BOOL _dontDelayChangeSessionUpdate; BOOL _applyingChangeSessionUpdate; NSURL *_resetEventsURL; NSMutableArray *_resetEvents; CPLResetTracker *_pendingTracker; CPLChangeBatch *_unacknowledgedBatch; BOOL _discardUnacknowledgedBatchOnTransactionFail; BOOL _transactionClientCacheViewHasPushRepository; NSMutableDictionary *_transactionNewPredictions; NSSet *_lastInvalidRecordScopedIdentifiers; NSDate *_lastInvalidRecordsDate; NSObject *_pendingUpdateTimer; NSObject *_pendingUpdateQueue; double _pendingUpdateInterval; BOOL _unschedulePendingUpdateApplyOnWriteSuccess; BOOL _schedulePendingUpdateApplyOnWriteSuccess; BOOL _scheduleSetupOnWriteSuccess; BOOL _scheduleDisabledFeatureUpdateOnWriteSuccess; BOOL _schedulePullFromClient; NSObject *_shouldSyncScopeListQueue; BOOL _shouldEnableScopeListSyncOnWriteSuccess; NSArray *_disabledFeatures; BOOL _hasUpdatedDisabledFeatures; BOOL _isUpdatingDisabledFeatures; BOOL _shouldTriggerCompleteResetSyncAfterDisabledFeaturesUpdate; BOOL _shouldTriggerResetSyncAfterDisabledFeaturesUpdate; } @property (class, nonatomic) BOOL dontBatchTransactions; @property (class, readonly, nonatomic) NSArray *storageNames; @property (readonly, nonatomic) BOOL hasPendingResetSync; @property (nonatomic) unsigned long long state; @property (readonly, nonatomic) NSArray *storages; @property (readonly, weak, nonatomic) CPLEngineLibrary *engineLibrary; @property (readonly) BOOL shouldSyncScopeList; @property (readonly, nonatomic) CPLEnginePushRepository *pushRepository; @property (readonly, nonatomic) BOOL pushRepositoryIsFull; @property (readonly, nonatomic) CPLEngineScopeStorage *scopes; @property (readonly, nonatomic) CPLEngineScopeCleanupTasks *cleanupTasks; @property (readonly, nonatomic) CPLEngineChangePipe *pullQueue; @property (readonly, nonatomic) CPLEngineRevertRecords *revertRecords; @property (readonly, nonatomic) CPLEngineIDMapping *idMapping; @property (readonly, nonatomic) CPLEngineCloudCache *cloudCache; @property (readonly, nonatomic) CPLRecordStorageView *transactionClientCacheView; @property (readonly, nonatomic) CPLEngineTransientRepository *transientPullRepository; @property (readonly, nonatomic) CPLEngineResourceStorage *resourceStorage; @property (readonly, nonatomic) CPLEngineResourceDownloadQueue *downloadQueue; @property (readonly, nonatomic) CPLEngineOutgoingResources *outgoingResources; @property (readonly, nonatomic) CPLEngineRemappedRecords *remappedRecords; @property (readonly, nonatomic) CPLEngineQuarantinedRecords *quarantinedRecords; @property (readonly, nonatomic) CPLEngineStatusCenter *statusCenter; @property (readonly, nonatomic) CPLEnginePendingRecordChecks *pendingRecordChecks; @property (readonly, nonatomic) CPLEngineIgnoredRecords *ignoredRecords; @property (readonly) NSDate *libraryCreationDate; @property (readonly, nonatomic) id corruptionInfo; @property (readonly, nonatomic) CPLEngineDerivativesCache *derivativesCache; @property (readonly, nonatomic) BOOL shouldGenerateDerivatives; @property (readonly, nonatomic) NSArray *pushPullGatekeepers; @property (readonly, nonatomic) NSArray *disabledFeatures; @property (readonly, nonatomic) BOOL shouldUpdateDisabledFeatures; @property (readonly, nonatomic) NSString *sharingScopeIdentifier; @property (readonly, nonatomic) CPLSyncSessionPredictor *predictor; @property (readonly, nonatomic) CPLTransportScopeMapping *transactionTransportScopeMapping; @property (readonly, nonatomic) CPLPlatformObject *platformObject; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)stateDescriptionForState:(unsigned long long)a0; + (id)platformImplementationProtocol; - (id)componentName; - (void)testKey:(id)a0 value:(id)a1 completionHandler:(id /* block */)a2; - (void)noteResetSyncFinished; - (void)_dropTransactionClientCacheView; - (id)clientCacheIdentifier; - (void)_reallyPerformBatchedTransactionsLocked; - (void)_addCleanupBlock:(id /* block */)a0; - (id)userIdentifier; - (void)dealloc; - (id)performWriteTransactionByPassBlocker:(id)a0 withBlock:(id /* block */)a1 completionHandler:(id /* block */)a2; - (void)storeSharingScopeIdentifier:(id)a0; - (void)openWithCompletionHandler:(id /* block */)a0; - (void)_scheduleBatchedTransactionsLocked; - (void)getStatusDictionaryWithCompletionHandler:(id /* block */)a0; - (void)dropSharingScopeIdentifier:(id)a0; - (BOOL)storeUserIdentifier:(id)a0 error:(id *)a1; - (BOOL)isClientInSyncWithClientCache; - (BOOL)_resetGlobalStateWithError:(id *)a0; - (BOOL)storeLastQuarantineCountReportDate:(id)a0 error:(id *)a1; - (void)_reallyUnschedulePendingUpdateApply; - (void)_setTransactionOnCurrentThread:(id)a0; - (void)emergencyClose; - (BOOL)_resetLocalSyncStateWithCause:(id)a0 scope:(id)a1 date:(id)a2 error:(id *)a3; - (BOOL)resetLocalSyncStateWithCause:(id)a0 date:(id)a1 error:(id *)a2; - (BOOL)storeClientIsInSyncWithClientCacheWithError:(id *)a0; - (void)_commitWriteTransaction:(id)a0 commitError:(id)a1; - (BOOL)clearAllPushPullGatekeepersWithError:(id *)a0; - (void)_performTransaction:(id)a0 withBlock:(id /* block */)a1; - (BOOL)resetCompleteSyncStateIncludingIDMappingWithCause:(id)a0 error:(id *)a1; - (id)createNewLibraryVersion; - (BOOL)_canRead; - (void)performBatchedWriteTransactionWithBlock:(id /* block */)a0 completionHandler:(id /* block */)a1; - (BOOL)addPushPullGatekeeper:(id)a0 error:(id *)a1; - (void)performBarrier; - (BOOL)applyPreviousChangeSessionUpdateWithExpectedLibraryVersion:(id)a0 error:(id *)a1; - (void)predictSyncSessionValue:(id)a0 ofType:(id)a1; - (BOOL)checkExpectedLibraryVersion:(id)a0 error:(id *)a1; - (BOOL)_handleException:(id)a0; - (BOOL)updateLibraryOptions:(unsigned long long)a0 error:(id *)a1; - (BOOL)_canWrite; - (BOOL)canActivateScope:(id)a0 error:(id *)a1; - (id)_performWriteTransactionByPassBlocker:(id)a0 WithBlock:(id /* block */)a1 completionHandler:(id /* block */)a2; - (void)_storeResetEvent:(id)a0 scopeIdentifier:(id)a1 date:(id)a2 cause:(id)a3; - (BOOL)createStoragesDynamically:(id)a0 error:(id *)a1; - (void)_schedulePendingUpdateApply; - (void)startVacuum; - (id)performWriteTransactionWithBlock:(id /* block */)a0 completionHandler:(id /* block */)a1; - (void)dropUnacknowledgedBatch; - (void)markAsCorrupted; - (void)_reallySchedulePendingUpdateApply; - (BOOL)_resetSyncAnchorWithCause:(id)a0 scope:(id)a1 error:(id *)a2; - (id)libraryVersion; - (void)_finishTransaction; - (id)initWithEngineLibrary:(id)a0; - (BOOL)resetCompleteSyncStateWithCause:(id)a0 error:(id *)a1; - (void)assertCanWrite; - (id)derivativesFilter; - (void)performBatchedWriteTransactionBarrierWithCompletionBlock:(id /* block */)a0; - (id)lastQuarantineCountReportDate; - (void)closeAndDeactivate:(BOOL)a0 completionHandler:(id /* block */)a1; - (id)performReadTransactionWithBlock:(id /* block */)a0; - (void)notePushRepositoryStoredSomeChanges; - (void)transactionDidFinish; - (BOOL)resetLocalSyncStateWithCause:(id)a0 error:(id *)a1; - (void)_setSharingScopeIdentifier:(id)a0; - (id)_resetEventsJSON; - (id)newClientCacheViewUsesPushRepository:(BOOL *)a0; - (void)keepUnacknowledgedBatch:(id)a0; - (id)unacknowledgedChangeWithLocalScopedIdentifier:(id)a0; - (BOOL)updateDisabledFeatures:(id)a0 didReset:(BOOL *)a1 error:(id *)a2; - (BOOL)_applyAndDiscardPendingUpdate:(id)a0 error:(id *)a1; - (void)stopVacuum; - (BOOL)hasUnacknowledgedChanges; - (void).cxx_destruct; - (void)writeTransactionDidFail; - (void)assertCanRead; - (void)getStatusWithCompletionHandler:(id /* block */)a0; - (BOOL)_applyPendingUpdate:(id)a0 error:(id *)a1; - (void)noteInvalidRecordScopedIdentifiersInPushSession:(id)a0; - (BOOL)isFeatureDisabled:(id)a0; - (BOOL)hasPendingChangeSessionUpdate; - (BOOL)storeDerivativesFilter:(id)a0 error:(id *)a1; - (void)noteOtherResetEvent:(id)a0 cause:(id)a1; - (id)_resetEventsDescriptions; - (BOOL)_resetCompleteSyncStateIncludingIDMappingWithCause:(id)a0 scope:(id)a1 error:(id *)a2; - (BOOL)_resetCompleteSyncStateWithCause:(id)a0 scope:(id)a1 error:(id *)a2; - (void)assertNoUnacknowledgedChanges; - (unsigned long long)libraryOptions; - (void)_loadResetEvents; - (void)_unschedulePendingUpdateApply; - (BOOL)resetSyncAnchorWithCause:(id)a0 error:(id *)a1; - (void)_updateShouldSyncScopeList:(BOOL)a0; - (BOOL)_canHaveActivatedScope:(id)a0 libraryOptions:(unsigned long long)a1 error:(id *)a2; - (BOOL)deleteDynamicallyCreatedStorages:(id)a0 error:(id *)a1; - (BOOL)_storeChangeSessionUpdate:(id)a0 error:(id *)a1; - (void)wipeStoreAtNextOpeningWithReason:(id)a0 completionBlock:(id /* block */)a1; - (void)writeTransactionDidSucceed; - (id)_currentTransaction; - (void)_removeTransactionOnCurrentThread:(id)a0; - (BOOL)setShouldUpdateDisabledFeaturesWithError:(id *)a0; - (void)registerStorage:(id)a0; - (id)_storedDisabledFeatures; - (BOOL)storeChangeSessionUpdate:(id)a0 error:(id *)a1; - (BOOL)beginChangeSession:(id)a0 withLibraryVersion:(id)a1 resetTracker:(id)a2 error:(id *)a3; - (BOOL)_shouldSyncScopeListWithOptions:(unsigned long long)a0; - (void)_performBarrierTransaction:(id)a0 withBlock:(id /* block */)a1; - (BOOL)forceApplyPendingChangeSessionUpdateWithError:(id *)a0; - (BOOL)storeLibraryVersion:(id)a0 withError:(id *)a1; - (id)localResourceForCloudResource:(id)a0 recordClass:(Class *)a1; - (void)performBatchedWriteTransactionBarrier; - (void)_storeResetEvent:(id)a0 scopeIdentifier:(id)a1 date:(id)a2 pending:(BOOL)a3 cause:(id)a4; - (void)blockWriteTransactionsWithCompletionHandler:(id /* block */)a0; @end