@class NSMapTable, NSMutableArray, NSObject; @protocol OS_dispatch_queue; @interface CAMObservable : NSObject { long long _nestedChanges; NSMutableArray *_pendingChangeBlocks; long long _numAppliedPendingChanges; unsigned long long _currentChange; BOOL _isEnumeratingObservers; NSObject *_observersQueue; BOOL _observersQueue_shouldCopyChangeObserversOnWrite; NSMapTable *_observersQueue_changeObserversWithContexts; } - (void)performChanges:(id /* block */)a0; - (id)init; - (void)didPublishChanges; - (void)didPerformChanges; - (void)_willChange; - (id)mutableChangeObject; - (void).cxx_destruct; - (void)_didChange; - (void)_publishChanges; - (void)_observersQueue_copyChangeObserversForWriteIfNeeded; - (void)registerChangeObserver:(id)a0 context:(void *)a1; - (void)signalChange:(unsigned long long)a0; - (void)unregisterChangeObserver:(id)a0 context:(void *)a1; - (void)enumerateObserversUsingBlock:(id /* block */)a0; - (void)_applyPendingChanges; - (void)willPerformChanges; @end