luxlabs header browser preview


@class NSString, NSMapTable, PXLRUMemoryCache, NSObject;
@protocol OS_dispatch_queue, NSObject;

@interface PXPeopleFaceTileImageManager : NSObject <NSCacheDelegate, PXPhotoLibraryUIChangeObserver> {
    NSObject<OS_dispatch_queue> *_fetchQueue;
    NSObject<OS_dispatch_queue> *_requestLookupIsolationQueue;
    NSObject<OS_dispatch_queue> *_cropCacheQueue;
    NSMapTable *_faceTileRequestByRequestID;
    NSMapTable *_highPriorityCachedIdentifiers;
    NSObject<OS_dispatch_queue> *_highPriorityCachedIdentifiersQueue;
}

@property (class, readonly) PXPeopleFaceTileImageManager *sharedManager;

@property (readonly, nonatomic) PXLRUMemoryCache *memoryCache;
@property (retain, nonatomic) id<NSObject> memoryWarningObserver;
@property (retain, nonatomic) id<NSObject> backgroundEntraceObserver;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)imageTransformQueue;

- (id)init;
- (void)dealloc;
- (void)_stopListeningForChanges;
- (void)cancelRequest:(int)a0;
- (void).cxx_destruct;
- (id)prepareForPhotoLibraryChange:(id)a0;
- (void)_addRequestResult:(id)a0 forIdentifier:(id)a1;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_boundedCropRectForRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 inRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 withTargetAspectRatio:(double)a2;
- (id)_cachedResultForIdentifier:(id)a0 params:(struct PXFaceTileImageParams { struct CGSize { double x0; double x1; } x0; unsigned long long x1; unsigned long long x2; BOOL x3; })a1 isLowResResult:(BOOL *)a2;
- (void)_cropImage:(id)a0 synchronous:(BOOL)a1 cacheResult:(BOOL)a2 isDegraded:(BOOL)a3 forRequest:(id)a4 cropInfo:(struct { BOOL x0; struct CGPoint { double x0; double x1; } x1; })a5 didCallFastBlock:(BOOL)a6 completionBlock:(id /* block */)a7;
- (BOOL)_deliverCachedResultIfPossibleForRequest:(id)a0 allowDegradedDelivery:(BOOL)a1 completionBlock:(id /* block */)a2;
- (BOOL)_doesChange:(id)a0 containVisibleChangesToPHAssetWithOID:(id)a1;
- (id)_fetchAssetFromFace:(id)a0;
- (id)_fetchKeyFaceFromPerson:(id)a0 error:(id *)a1;
- (void)_handleMemoryClearRequest;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_normalizedAspectCropRectForFaceRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 aspectRatio:(double)a1 inImageRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2;
- (int)_requestFaceTileImageFromRequest:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 boundFaceRect:(BOOL)a5 completionBlock:(id /* block */)a6 fastDisplayBlock:(id /* block */)a7;
- (void)_requestFaceTileImageRequest:(id)a0 faceImageRequest:(id)a1 cacheResult:(BOOL)a2 completionBlock:(id /* block */)a3 fastDisplayBlock:(id /* block */)a4;
- (void)_startListeningForChanges;
- (void)addHighPriorityCachedItemIdentifier:(id)a0 forOwner:(id)a1;
- (void)clearMemoryCache;
- (void)invalidateCacheForPerson:(id)a0;
- (BOOL)isActiveRequestWithRequestID:(int)a0;
- (void)removeHighPriorityCachedItemIdentifier:(id)a0 forOwner:(id)a1;
- (int)requestFaceTileImageFromFace:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 boundFaceRect:(BOOL)a5 completionBlock:(id /* block */)a6 fastDisplayBlock:(id /* block */)a7;
- (int)requestFaceTileImageFromFace:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 completionBlock:(id /* block */)a5;
- (int)requestFaceTileImageFromFace:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 completionBlock:(id /* block */)a5 fastDisplayBlock:(id /* block */)a6;
- (int)requestFaceTileImageFromFace:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 completionBlock:(id /* block */)a4;
- (int)requestFaceTileImageFromPerson:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 boundFaceRect:(BOOL)a5 completionBlock:(id /* block */)a6;
- (int)requestFaceTileImageFromPerson:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 cacheResult:(BOOL)a4 completionBlock:(id /* block */)a5;
- (int)requestFaceTileImageFromPerson:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 completionBlock:(id /* block */)a4;
- (int)requestFaceTileImageFromRequest:(id)a0 withTargetSize:(struct CGSize { double x0; double x1; })a1 cropFactor:(unsigned long long)a2 style:(unsigned long long)a3 completionBlock:(id /* block */)a4 fastDisplayBlock:(id /* block */)a5;

@end