luxlabs header browser preview


@class NSDictionary, CNCoalescingTimer, NSString, CNContactFormatter, CNContactStoreSnapshot, CNContactStoreFilter, CNManagedConfiguration, CNContact, NSArray, CNGroup, CNContainer, CNContactStore, CNContactFilter;
@protocol CNContactDataSourceDelegate, NSLocking, CNScheduler;

@interface CNContactStoreDataSource : NSObject <CNContactDataSource> {
    CNContactStoreSnapshot *_currentSnapshot;
    NSDictionary *_sectionHeadersDictionary;
    id<CNScheduler> _backgroundSnapshotScheduler;
    id<NSLocking> _reloadLock;
    BOOL _loadingSnapshot;
    id<CNScheduler> _mainThreadScheduler;
    id<CNScheduler> _databaseChangePreprocessor;
}

@property (copy, nonatomic) CNContact *meContact;
@property (nonatomic) BOOL meContactNeedsUpdate;
@property (retain, nonatomic) CNGroup *filteredGroup;
@property (retain, nonatomic) CNContainer *filteredContainer;
@property (retain, nonatomic) CNContactStore *store;
@property (retain, nonatomic) CNContactStoreSnapshot *currentSnapshot;
@property (readonly, nonatomic) long long sortOrder;
@property (readonly, nonatomic) NSDictionary *sectionHeadersDictionary;
@property (readonly, nonatomic) NSArray *indexSectionsArray;
@property (readonly, nonatomic) NSDictionary *localizedSectionHeaders;
@property (readonly, nonatomic) NSDictionary *localizedSectionIndices;
@property (retain, nonatomic) CNCoalescingTimer *contactStoreDidChangeCoalescer;
@property (copy, nonatomic) CNContactStoreFilter *filter;
@property (nonatomic) BOOL shouldRevalidateFilterOnStoreChange;
@property (retain, nonatomic) CNManagedConfiguration *managedConfiguration;
@property (retain, nonatomic) NSArray *keysToFetch;
@property (nonatomic) BOOL fetchUnified;
@property (readonly, nonatomic) BOOL filterShowsSingleGroup;
@property (readonly, nonatomic) BOOL filterShowsSingleExchangeFolder;
@property (readonly, nonatomic) NSArray *contacts;
@property (readonly, nonatomic) NSDictionary *contactMatchInfos;
@property (readonly, nonatomic) NSArray *sections;
@property (readonly, nonatomic) NSArray *indexSections;
@property (weak, nonatomic) id<CNContactDataSourceDelegate> delegate;
@property (readonly, nonatomic) BOOL canReload;
@property (readonly, nonatomic) NSString *displayName;
@property (readonly, nonatomic) CNContactFilter *effectiveFilter;
@property (retain, nonatomic) CNContactFormatter *contactFormatter;
@property (readonly, nonatomic) BOOL shouldReturnToAccountsAndGroupsViewAfterSearchIsCanceled;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (BOOL)isErrorPossiblyRelatedToExtraStores:(id)a0;
+ (id)keyPathsForValuesAffectingEffectiveFilter;

- (BOOL)setMeContact:(id)a0 error:(id *)a1;
- (void)reload;
- (id)contacts;
- (void)contactStoreDidChangeHandler;
- (id)accountForContainerIdentifier:(id)a0;
- (void)reset;
- (void)dealloc;
- (BOOL)isLoading;
- (id)withReloadLock_prepareNewSnapshot;
- (id)indexPathForContact:(id)a0;
- (void)reloadAsynchronously;
- (void)_reloadWithSchedulingMethod:(unsigned long long)a0;
- (id)preferredForNameMeContactWithKeysToFetch:(id)a0;
- (id)initWithStore:(id)a0;
- (void)validateFilter;
- (void)invalidate;
- (void)contactStoreDidChange:(id)a0;
- (BOOL)canUseTitleForAccount:(id)a0;
- (id)completeContactFromContact:(id)a0 fromMainStoreOnly:(BOOL)a1 keysToFetch:(id)a2;
- (BOOL)doesFilterShowAllContainersForAccount:(id)a0;
- (void)registerForRelevantChangeNotifications;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (id)titleForContainer:(id)a0;
- (void)contactStoreMeContactDidChange:(id)a0;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (id)preferredForNameMeContactIdentifier;

@end