@class NSHashTable, NSString, HMBModelContainer, HMBLocalZoneConfiguration, NSMutableDictionary, HMBLocalSQLContext, HMBLocalDatabase, NAFuture; @protocol HMBLocalZoneDelegate, HMBMirrorProtocol, HMBLocalZoneID; @interface HMBLocalZone : HMFObject <HMFLogging> { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _propertyLock; } @property (readonly, nonatomic) NSHashTable *observersForAllModels; @property (readonly, nonatomic) NSMutableDictionary *modelObserversByModelID; @property (readonly, nonatomic) NSHashTable *mirrorOutputObservers; @property (readonly, nonatomic) HMBLocalSQLContext *sql; @property (nonatomic) BOOL hasStartedUp; @property (nonatomic) unsigned long long zoneRow; @property (retain, nonatomic) NAFuture *shutdownFuture; @property (weak, nonatomic) HMBLocalDatabase *localDatabase; @property (readonly, nonatomic) HMBModelContainer *modelContainer; @property (readonly, nonatomic) HMBLocalZoneConfiguration *configuration; @property (readonly, nonatomic) id<HMBLocalZoneID> zoneID; @property (readonly, nonatomic) id<HMBMirrorProtocol> mirror; @property (weak, nonatomic) id<HMBLocalZoneDelegate> delegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)outputModelFromUpdateModel:(id)a0 mergedModel:(id)a1; + (id)outputBlockRowForTuple:(id)a0 activity:(id)a1; + (BOOL)shouldMirrorInputExternalData:(id)a0 overwriteExistingExternalData:(id)a1; + (id)logCategory; - (id)fetchModelWithRecordRow:(unsigned long long)a0 error:(id *)a1; - (id)update:(id)a0; - (id)shutdown; - (id)createInputBlockWithType:(unsigned long long)a0 error:(id *)a1; - (id)createMirrorInputWithError:(id *)a0; - (void)removeMirrorOutputObserver:(id)a0; - (id)queryModelsUsingQuery:(id)a0 arguments:(id)a1; - (id)fetchModelsWithParentModelID:(id)a0 ofType:(Class)a1 error:(id *)a2; - (BOOL)removeOutputBlockWithRow:(unsigned long long)a0 error:(id *)a1; - (void)dealloc; - (BOOL)destroyWithError:(id *)a0; - (id)fetchModelWithModelID:(id)a0 error:(id *)a1; - (id)fetchItemsInBlock:(id)a0 error:(id *)a1; - (id)initWithLocalDatabase:(id)a0 zoneID:(id)a1 zoneRow:(unsigned long long)a2 configuration:(id)a3 mirror:(id)a4; - (id)createLocalInputWithError:(id *)a0; - (id)flush; - (id)remove:(id)a0; - (id)queryModelsOfType:(Class)a0 filter:(id /* block */)a1; - (id)fetchRecordRowsWithModelIDs:(id)a0 error:(id *)a1; - (void)removeObserver:(id)a0 forModelWithID:(id)a1; - (id)removeModelsWithParentModelID:(id)a0 options:(id)a1; - (void)queueIncompleteProcesses; - (id)queryModelsUsingQuery:(id)a0; - (void)startUp; - (void)addObserver:(id)a0 forModelWithID:(id)a1; - (id)queryModelsOfType:(Class)a0 predicate:(id)a1; - (id)fetchOptionsForOutputBlock:(unsigned long long)a0 error:(id *)a1; - (id)createOutputBlockWithError:(id *)a0; - (id)externalDataForModelID:(id)a0 error:(id *)a1; - (id)setExternalID:(id)a0 externalData:(id)a1 forRecordRow:(unsigned long long)a2; - (id)observersForModelWithID:(id)a0; - (id)externalIDForModelID:(id)a0 error:(id *)a1; - (id)fetchModelWithModelID:(id)a0 ofType:(Class)a1 error:(id *)a2; - (BOOL)removeBlockWithRow:(unsigned long long)a0 error:(id *)a1; - (id)queryModelsWithParentModelID:(id)a0 ofType:(Class)a1; - (id)removeAllModelsOfTypes:(id)a0 options:(id)a1; - (BOOL)removeAllRecordsWithError:(id *)a0; - (unsigned long long)insertBlockToRemoveModelsAndDescendantModelsWithType:(unsigned long long)a0 modelIDs:(id)a1 depth:(unsigned long long)a2 options:(id)a3 error:(id *)a4; - (unsigned long long)insertBlockToRemoveChildModelsWithType:(unsigned long long)a0 parentModelID:(id)a1 options:(id)a2 error:(id *)a3; - (id)fetchRecordRowWithExternalID:(id)a0 returning:(unsigned long long)a1 error:(id *)a2; - (id)queryModelsWithParentModelID:(id)a0; - (id)fetchModels; - (id)addModels:(id)a0 andRemoveModelIDs:(id)a1 options:(id)a2; - (id)fetchRecordsForOutputBlock:(unsigned long long)a0 error:(id *)a1; - (id)fetchModelsOfType:(Class)a0 error:(id *)a1; - (void)rebuildIndexesIfNeeded; - (id)queryModelsRecursivelyStartingWithModelID:(id)a0; - (id)fetchModelsWithParentModelID:(id)a0 error:(id *)a1; - (id)updateModels:(id)a0 options:(id)a1; - (id)queryModelsOfType:(Class)a0; - (id)setExternalData:(id)a0 forExternalID:(id)a1; - (id)logIdentifier; - (unsigned long long)insertBlockWithType:(unsigned long long)a0 options:(id)a1 items:(id)a2 error:(id *)a3; - (id)updateModels:(id)a0 andRemoveModelIDs:(id)a1 options:(id)a2; - (id)fetchRecordRowWithModelID:(id)a0 returning:(unsigned long long)a1 error:(id *)a2; - (void).cxx_destruct; - (id)fetchAllModelsWithError:(id *)a0; - (id)markGroupAsSentWithOutputBlock:(unsigned long long)a0 tuples:(id)a1; - (void)migrateUnsupportedModels; - (id)attributeDescriptions; - (id)modelIDForExternalID:(id)a0 error:(id *)a1; - (void)addObserverForAllModels:(id)a0; - (unsigned long long)insertBlockToRemoveAllModelsWithType:(unsigned long long)a0 modelTypes:(id)a1 options:(id)a2 error:(id *)a3; - (void)addMirrorOutputObserver:(id)a0; - (void)removeObserverForAllModels:(id)a0; - (id)queryAllRowRecordsReturning:(unsigned long long)a0; - (id)createModels:(id)a0 options:(id)a1; - (id)externalDataForExternalID:(id)a0 error:(id *)a1; - (id)fetchReadyBlocksWithType:(unsigned long long)a0 error:(id *)a1; - (id)removeModelsAndDescendantModelsWithIDs:(id)a0 depth:(unsigned long long)a1 options:(id)a2; - (id)removeModelIDs:(id)a0 options:(id)a1; - (id)setExternalData:(id)a0 forModelID:(id)a1; - (id)countModelsUsingQuery:(id)a0 arguments:(id)a1 error:(id *)a2; - (id)update:(id)a0 remove:(id)a1; - (BOOL)_insertDeletionItemsForModelsAndDescendantModelsWithBlockRow:(unsigned long long)a0 context:(id)a1 type:(unsigned long long)a2 modelIDs:(id)a3 currentDepth:(unsigned long long)a4 maximumDepth:(unsigned long long)a5 options:(id)a6 error:(id *)a7; - (id)allMirrorOutputObservers; - (id)triggerProcessForBlockRow:(unsigned long long)a0; - (id)addModels:(id)a0 options:(id)a1; - (id)fetchModelWithModelID:(id)a0 recordRow:(unsigned long long *)a1 error:(id *)a2; - (id)queryModelsOfType:(Class)a0 properties:(id)a1 filter:(id /* block */)a2; - (id)objectFromData:(id)a0 encoding:(unsigned long long)a1 storageLocation:(unsigned long long)a2 recordRowID:(unsigned long long)a3 error:(id *)a4; @end