luxlabs header browser preview


@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