luxlabs header browser preview


@class NSString, PXSectionedDataSource, PXAssetSelectionTypeCounter, PXSelectionSnapshot, NSOrderedSet, PXSectionedDataSourceManager, PXMutableIndexPathSet;
@protocol PXSectionedSelectionManagerSnapshotValidator;

@interface PXSectionedSelectionManager : PXObservable <PXSectionedDataSourceManagerObserver> {
    struct { BOOL selectionSnapshot; } _needsUpdateFlags;
}

@property (readonly, nonatomic) PXAssetSelectionTypeCounter *assetTypeCounter;
@property (retain, nonatomic, setter=_setSelectionSnapshot:) PXSelectionSnapshot *selectionSnapshot;
@property (retain, nonatomic, setter=_setDataSource:) PXSectionedDataSource *dataSource;
@property (retain, nonatomic, setter=_setSelectedIndexPaths:) PXMutableIndexPathSet *selectedIndexPaths;
@property (nonatomic, setter=_setCursorIndexPath:) struct PXSimpleIndexPath { long long dataSourceIdentifier; long long section; long long item; long long subitem; } cursorIndexPath;
@property (nonatomic, setter=_setPendingIndexPath:) struct PXSimpleIndexPath { long long dataSourceIdentifier; long long section; long long item; long long subitem; } pendingIndexPath;
@property (nonatomic, setter=_setPressedIndexPath:) struct PXSimpleIndexPath { long long dataSourceIdentifier; long long section; long long item; long long subitem; } pressedIndexPath;
@property (nonatomic, setter=_setSelectionLimitReached:) BOOL selectionLimitReached;
@property (nonatomic, setter=_setEmptySelectionAvoided:) BOOL emptySelectionAvoided;
@property (retain, nonatomic, setter=_setOverallSelectionOrder:) NSOrderedSet *overallSelectionOrder;
@property (weak, nonatomic) id<PXSectionedSelectionManagerSnapshotValidator> snapshotValidator;
@property (nonatomic) BOOL disableAssetTypeCounting;
@property (readonly, nonatomic) PXSectionedDataSourceManager *dataSourceManager;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)_invalidateSelectionSnapshot;
- (void)performChanges:(id /* block */)a0;
- (id)init;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (id)sectionedDataSourceManagerInterestingObjectReferences:(id)a0;
- (void)didPerformChanges;
- (BOOL)_needsUpdate;
- (id)mutableChangeObject;
- (void)deselectAll;
- (id)initWithDataSourceManager:(id)a0;
- (void)_updateIfNeeded;
- (void)_updateSelectionSnapshotIfNeeded;
- (void).cxx_destruct;
- (void)setSelectionLimitReached:(BOOL)a0;
- (void)setSelectedIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0;
- (void)selectAllItems;
- (void)setSelectedIndexPaths:(id)a0;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_extendSelectionFromIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 toIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a1 inDirection:(unsigned long long)a2 withDelegate:(id)a3;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_initialItemIndexPathForMoveInDirection:(unsigned long long)a0;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_initialSectionIndexPathForMoveInDirection:(unsigned long long)a0;
- (void)_makeSimpleModificationToSelectedIndexPathsUsingBlock:(id /* block */)a0;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_moveItemSelectionInDirection:(unsigned long long)a0 withDelegate:(id)a1;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_moveSectionSelectionInDirection:(unsigned long long)a0 withDelegate:(id)a1;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_moveSelectionFromIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 inDirection:(unsigned long long)a1 withDelegate:(id)a2;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_selectInitialItemForMoveInDirection:(unsigned long long)a0 withDelegate:(id)a1;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })_selectInitialSectionForMoveInDirection:(unsigned long long)a0 withDelegate:(id)a1;
- (void)_setDataSource:(id)a0 withChangeHistory:(id)a1;
- (id)_validatedSnapshotForSnapshot:(id)a0;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })extendSelectionFromIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 inDirection:(unsigned long long)a1 withDelegate:(id)a2;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })extendSelectionToItemIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 withDelegate:(id)a1;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })moveSelectionInDirection:(unsigned long long)a0 withDelegate:(id)a1;
- (void)selectAllItemsInSection:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0;
- (void)selectNonCopiedAssetsWithImportStatusManager:(id)a0;
- (void)setCursorIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0;
- (void)setOverallSelectionOrder:(id)a0;
- (void)setPendingIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0;
- (void)setPressedIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0;
- (void)setSelectedState:(BOOL)a0 forIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a1;
- (void)setSelectedState:(BOOL)a0 forIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a1 andUpdateCursorIndexPath:(BOOL)a2;
- (void)setSelectedState:(BOOL)a0 forIndexPathSet:(id)a1;
- (struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })startingIndexPathForMoveInDirection:(unsigned long long)a0;

@end