@class AXElement, NSArray, AXVisualElementGrouper, NSMutableDictionary, AXElementGroupPruner, NSObject, AXElementGroup, NSMapTable; @protocol AXElementFetcherDelegate, OS_dispatch_queue, OS_dispatch_source; @interface AXElementFetcher : NSObject { NSObject<OS_dispatch_queue> *_elementFetchQueue; NSObject<OS_dispatch_queue> *_elementAccessQueue; NSObject<OS_dispatch_queue> *_filterAccessQueue; struct __AXObserver { } *_axRuntimeNotificationObserver; unsigned long long _scheduledFetchEvent; NSObject<OS_dispatch_source> *_eventCoalesceTimer; AXElementGroupPruner *_elementGroupPruner; } @property (weak, nonatomic) id<AXElementFetcherDelegate> delegate; @property (retain, nonatomic) NSMapTable *fetchObservers; @property (nonatomic) unsigned long long activeFetchEvents; @property (nonatomic, getter=isFetchingElements) BOOL fetchingElements; @property (retain, nonatomic) NSArray *currentApps; @property (nonatomic, getter=isEventManagementEnabled) BOOL eventManagementEnabled; @property (retain, nonatomic) NSArray *elementCache; @property (retain, nonatomic) AXElementGroup *elementCommunityGroupCache; @property (retain, nonatomic) AXElementGroup *rootGroupCache; @property (retain, nonatomic) AXElementGroup *keyboardGroupCache; @property (retain, nonatomic) NSMutableDictionary *postFetchFilters; @property (retain, nonatomic) AXVisualElementGrouper *visualElementGrouper; @property (readonly, nonatomic) AXElementGroupPruner *elementGroupPruner; @property (nonatomic) BOOL didSendFakeScreenChangeOnLastFetch; @property (retain, nonatomic) NSArray *customCurrentApps; @property (nonatomic, getter=isEnabled) BOOL enabled; @property (readonly, nonatomic) BOOL willFetchElements; @property (readonly, nonatomic) NSArray *availableElements; @property (readonly, nonatomic) AXElement *nativeFocusElement; @property (nonatomic) BOOL shouldIncludeNonScannerElements; @property (nonatomic, getter=isGroupingEnabled) BOOL groupingEnabled; @property (nonatomic) long long elementGroupingHeuristics; @property (readonly, nonatomic) AXElementGroup *rootGroup; @property (readonly, nonatomic) AXElementGroup *keyboardGroup; @property (readonly, nonatomic) AXElementGroup *firstKeyboardRow; @property (readonly, nonatomic) AXElementGroup *lastKeyboardRow; @property (readonly, nonatomic) AXElementGroup *elementCommunityGroup; + (id)springBoardElement; + (id)systemWideElement; - (void)clearCache; - (void)dealloc; - (void)refresh; - (id)description; - (void).cxx_destruct; - (id)firstElement; - (void)_handleApplicationWasActivated:(id)a0; - (void)addFetchEvents:(unsigned long long)a0; - (BOOL)_fetchElements:(BOOL)a0; - (id)_processAppGroup:(id)a0 keyboardGroup:(id *)a1; - (id)findGroupableMatchingGroupable:(id)a0; - (id)nextSiblingOfGroupable:(id)a0 didWrap:(BOOL *)a1; - (id)_axNotificationsForManagedEvents; - (void)_debugLogElementCache; - (id)_debugStringForFetchEvents:(unsigned long long)a0; - (double)_delayForFetchEvent:(unsigned long long)a0; - (BOOL)_fetchEventCanBeManaged:(unsigned long long)a0; - (void)_fetchEventOccurred:(unsigned long long)a0; - (BOOL)_fetchGroups:(BOOL)a0; - (id)_fetchUnprocessedAppGroups; - (id)_fetchUnprocessedElements:(id)a0; - (id)_filterElements:(id)a0 withFilter:(id /* block */)a1; - (id)_filterGroup:(id)a0 withFilter:(id /* block */)a1; - (id)_findElementsMatchingBlock:(id /* block */)a0 internalRequest:(BOOL)a1; - (id)_findGroupableMatchingBlock:(id /* block */)a0 inElementGroup:(id)a1; - (id)_findGroupableMatchingGroupable:(id)a0 inElementGroup:(id)a1; - (id)_groupWithDictionary:(id)a0 currentPid:(int)a1; - (id)_groupWithItems:(id)a0 groupTraits:(unsigned long long)a1 scanningBehaviorTraits:(unsigned long long)a2 label:(id)a3 identifier:(id)a4 currentPid:(int)a5; - (void)_handleMediaDidBegin:(struct __CFData { } *)a0; - (void)_handleNativeFocusItemDidChange:(struct __CFData { } *)a0; - (void)_handleScreenWillChange:(struct __CFData { } *)a0; - (void)_handleUpdateElementVisuals:(struct __CFData { } *)a0; - (void)_notifyObserversApplicationWasActivated:(id)a0; - (void)_notifyObserversDidFetchElementsForEvent:(unsigned long long)a0 foundNewElements:(BOOL)a1; - (void)_notifyObserversDidScheduleFetchEvent:(unsigned long long)a0; - (void)_notifyObserversMediaDidBegin:(struct __CFData { } *)a0; - (void)_notifyObserversNativeFocusElementDidChange:(id)a0; - (void)_notifyObserversScreenWillChange:(struct __CFData { } *)a0; - (void)_notifyObserversUpdateElementVisuals:(id)a0; - (void)_notifyObserversWillFetchElementsForEvent:(unsigned long long)a0; - (long long)_priorityForFetchEvent:(unsigned long long)a0; - (void)_scheduleFetchEvent:(unsigned long long)a0; - (void)_sendFakeScreenChangeIfNecessaryForGroups:(id)a0 orElements:(id)a1 appsDidChange:(BOOL)a2; - (void)_setCurrentApplications:(id)a0; - (BOOL)_shouldConsiderCacheAsInvalid; - (id)_siblingOfGroupable:(id)a0 forDirection:(BOOL)a1 didWrap:(BOOL *)a2; - (void)_tearDownEventCoalesceTimer; - (BOOL)_updateCurrentApps; - (void)addPostFetchFilter:(id /* block */)a0 withIdentifier:(id)a1; - (id)closestElementToElement:(id)a0; - (id)closestElementToPoint:(struct CGPoint { double x0; double x1; })a0; - (void)disableEventManagement; - (void)enableEventManagement; - (void)fetchEventOccurred:(unsigned long long)a0; - (id)findElementMatchingBlock:(id /* block */)a0; - (id)findElementMatchingElement:(id)a0; - (id)findElementsMatchingBlock:(id /* block */)a0; - (id)findGroupableMatchingBlock:(id /* block */)a0; - (id)inCallServiceApplication; - (id)initWithDelegate:(id)a0 fetchEvents:(unsigned long long)a1 enableEventManagement:(BOOL)a2 enableGrouping:(BOOL)a3 shouldIncludeNonScannerElements:(BOOL)a4 beginEnabled:(BOOL)a5; - (id)lastElement; - (id)nextSiblingOfElement:(id)a0 didWrap:(BOOL *)a1; - (id)previousSiblingOfElement:(id)a0 didWrap:(BOOL *)a1; - (id)previousSiblingOfGroupable:(id)a0 didWrap:(BOOL *)a1; - (void)registerFetchObserver:(id)a0 targetQueue:(id)a1; - (void)removeAllPostFetchFilters; - (void)removeFetchEvents:(unsigned long long)a0; - (void)removePostFetchFilterWithIdentifier:(id)a0; - (void)unregisterAllFetchObservers; - (void)unregisterFetchObserver:(id)a0; @end