luxlabs header browser preview


@class PLShareParticipant, NSString, NSSet, PLDetectedFace, NSDictionary, PLDetectedFaceGroup;

@interface PLPerson : PLManagedObject <PLSyncablePerson, PLCloudDeletable, PLFileSystemMetadataPersistence, PLUserFeedbackSupporting> {
    short _deleteReason;
}

@property (class, readonly, copy) NSString *cloudUUIDKeyForDeletion;

@property (readonly, nonatomic) BOOL shouldIndexForSearch;
@property (nonatomic) int verifiedType;
@property (nonatomic) int cloudVerifiedType;
@property (retain, nonatomic) NSString *personUUID;
@property (retain, nonatomic) NSString *fullName;
@property (readonly, nonatomic) BOOL userVerified;
@property (readonly, nonatomic) BOOL graphVerified;
@property (readonly, nonatomic) BOOL isTombstone;
@property (readonly, nonatomic) BOOL keyFaceIsPicked;
@property (nonatomic) short detectionType;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly, retain, nonatomic) id localID;
@property (nonatomic) short cloudLocalState;
@property (readonly, nonatomic) NSSet *detectedTorsos;
@property (retain, nonatomic) PLDetectedFace *keyFace;
@property (nonatomic) int verifiedType;
@property (nonatomic) int cloudVerifiedType;
@property (retain, nonatomic) NSString *personUUID;
@property (nonatomic) short detectionType;
@property (retain, nonatomic) NSString *fullName;
@property (retain, nonatomic) NSString *displayName;
@property (retain, nonatomic) NSSet *personReferences;
@property (retain, nonatomic) NSSet *detectedFaces;
@property (retain, nonatomic) NSSet *temporalDetectedFaces;
@property (readonly, nonatomic) NSSet *allDetectedFaces;
@property (nonatomic) short keyFacePickSource;
@property (retain, nonatomic) NSSet *rejectedFaces;
@property (retain, nonatomic) NSSet *rejectedFacesNeedingFaceCrops;
@property (retain, nonatomic) NSSet *clusterRejectedFaces;
@property (retain, nonatomic) NSSet *faceCrops;
@property (nonatomic) int type;
@property (nonatomic) unsigned int manualOrder;
@property (nonatomic) double mergeCandidateConfidence;
@property (retain, nonatomic) NSString *personUri;
@property (nonatomic) BOOL inPersonNamingModel;
@property (readonly, nonatomic) int faceCount;
@property (nonatomic) short cloudLocalState;
@property (nonatomic) short cloudDeleteState;
@property (retain, nonatomic) PLDetectedFaceGroup *associatedFaceGroup;
@property (retain, nonatomic) NSDictionary *contactMatchingDictionary;
@property (nonatomic) short questionType;
@property (nonatomic) unsigned short genderType;
@property (nonatomic) unsigned short ageType;
@property (nonatomic) unsigned short suggestedForClientType;
@property (nonatomic) short assetSortOrder;
@property (retain, nonatomic) NSSet *userFeedbacks;
@property (retain, nonatomic) PLShareParticipant *shareParticipant;
@property (retain, nonatomic) NSString *mdID;
@property (retain, nonatomic) NSSet *mergeCandidates;
@property (retain, nonatomic) NSSet *mergeCandidatesWithConfidence;
@property (retain, nonatomic) NSSet *invalidMergeCandidates;
@property (retain, nonatomic) PLPerson *mergeTargetPerson;
@property (retain, nonatomic) NSSet *mergeSourcePersons;
@property (nonatomic) int effectiveVerifiedType;
@property (readonly, nonatomic) BOOL isHiddenGraphPerson;
@property (readonly) long long cloudDeletionType;
@property (readonly, copy) NSString *cloudUUIDForDeletion;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)enumerateAssetUUIDsForSearchIndexingWithPersonUUID:(id)a0 managedObjectContext:(id)a1 assetUUIDHandler:(id /* block */)a2;
+ (void)batchFetchPersonUUIDsByAssetUUIDWithAssetUUIDs:(id)a0 predicate:(id)a1 inManagedObjectContext:(id)a2 completion:(id /* block */)a3;
+ (id)entityName;
+ (id)allPersonsInManagedObjectContext:(id)a0;
+ (id)personsWithPersonUri:(id)a0 inManagedObjectContext:(id)a1;
+ (id)fetchPersonCountByAssetUUIDForAssetUUIDs:(id)a0 predicate:(id)a1 library:(id)a2 error:(id *)a3;
+ (id)_predicateForSupportedVerifiedTypesForUpload;
+ (id)personsToUploadInManagedObjectContext:(id)a0 limit:(long long)a1;
+ (id)_stringFromContact:(id)a0 preferGivenName:(BOOL)a1;
+ (id)personsToPrefetchInManagedObjectContext:(id)a0;
+ (void)_resetMediaAnalysisAfterPersonResetInLibraryURL:(id)a0 resetPersons:(BOOL)a1 completion:(id /* block */)a2;
+ (id)predicateForVisibleKeyFace;
+ (void)createAssociatedPersonForFaceGroup:(id)a0;
+ (BOOL)_detachFacesForPerson:(id)a0 reason:(short)a1 error:(id *)a2;
+ (void)batchFetchPersonsByAssetUUIDWithAssetUUIDs:(id)a0 predicate:(id)a1 library:(id)a2 completion:(id /* block */)a3;
+ (id)predicateForPersistence;
+ (id)predicateToExcludeTorsoOnlyPerson;
+ (id)personsWithPersonUris:(id)a0 inManagedObjectContext:(id)a1;
+ (id)insertIntoPhotoLibrary:(id)a0 withPersonUUID:(id)a1 fullName:(id)a2 verifiedType:(int)a3;
+ (id)displayNameFromContact:(id)a0;
+ (id)fetchDuplicatePersonUUIDsInManagedObjectContext:(id)a0 error:(id *)a1;
+ (id)_predicateForSupportedDetectionTypesForUpload;
+ (BOOL)person:(id)a0 isBetterMergeTargetThanPerson:(id)a1;
+ (id)createUnverifiedPersonInManagedObjectContext:(id)a0;
+ (id)fullNameFromContact:(id)a0;
+ (void)batchFetchAssociatedPersonByFaceGroupUUIDWithFaceGroupUUIDs:(id)a0 predicate:(id)a1 library:(id)a2 completion:(id /* block */)a3;
+ (id)predicateForIncludedDetectionTypes:(id)a0;
+ (void)_setPersonResetInProgress:(BOOL)a0 context:(id)a1;
+ (id)insertIntoManagedObjectContext:(id)a0 withPersonUUID:(id)a1 fullName:(id)a2 verifiedType:(int)a3;
+ (void)resetCloudStateInPhotoLibrary:(id)a0;
+ (id)predicateForPersonsNeedingFaceCropGenerationForFaceObjectID:(id)a0;
+ (id)listOfSyncedProperties;
+ (id)personsWithUUIDs:(id)a0 inManagedObjectContext:(id)a1;
+ (id)personsMatchingPredicate:(id)a0 fetchLimit:(unsigned long long)a1 sortDescriptors:(id)a2 relationshipKeyPathsForPrefetching:(id)a3 inManagedObjectContext:(id)a4;
+ (id)fetchFinalMergeTargetPersonForPersonWithUUID:(id)a0 context:(id)a1 predicate:(id)a2;
+ (id)resetAllInLibrary:(id)a0 completion:(id /* block */)a1;
+ (void)createAssociatedPersonForFaceGroup:(id)a0 inManagedObjectContext:(id)a1;
+ (id)_predicateToBlockHiddenGraphTypesForUpload;
+ (long long)cloudDeletionTypeForTombstone:(id)a0;
+ (id)personWithUUID:(id)a0 inManagedObjectContext:(id)a1;
+ (BOOL)_deleteObjectsWithFetchRequest:(id)a0 reason:(short)a1 moc:(id)a2 progress:(id)a3 error:(id *)a4;
+ (id)_batchFetchPersonUUIDsByAssetUUIDWithAssetUUIDs:(id)a0 predicate:(id)a1 inManagedObjectContext:(id)a2 error:(id *)a3;
+ (BOOL)resetAllInLibrary:(id)a0 error:(id *)a1;

- (void)willSave;
- (BOOL)isValidForPersistence;
- (void)prepareForDeletion;
- (id)payloadForChangedKeys:(id)a0;
- (void)persistMetadataToFileSystemWithPathManager:(id)a0;
- (id)payloadID;
- (id)payloadIDForTombstone:(id)a0;
- (BOOL)supportsCloudUpload;
- (BOOL)isSyncableChange;
- (id)debugLogDescription;
- (id)cplFullRecord;
- (void)removePersistedFileSystemDataWithPathManager:(id)a0;
- (id)pickOptimalStateForUserInitiatedMergeWithPersons:(id)a0 nominalTarget:(id)a1;
- (void)createUnverifiedPersonForRejectedFaceUUIDs:(id)a0 inManagedObjectContext:(id)a1;
- (BOOL)dedupeGraphPersons:(id)a0 error:(id *)a1;
- (BOOL)deletePersonWithReason:(short)a0;
- (void)disconnectFaceGroup;
- (id)faceGroupDescription;
- (void)mergePersons:(id)a0 withOptimalState:(id)a1;
- (id)mutableFaces;
- (id)mutableInvalidMergeCandidates;
- (id)mutableMergeCandidates;
- (id)mutableMergeCandidatesWithConfidence;
- (id)mutableRejectedFaces;
- (id)mutableTemporalFaces;
- (void)prepareForUserInitiatedMergeWithPersons:(id)a0;
- (void)rejectFaceIfPossible:(id)a0 shouldCreateFaceCrop:(BOOL)a1;
- (void)setKeyFace:(id)a0 pickSource:(short)a1;
- (BOOL)validateDetectionTypesForMergingWithPersons:(id)a0 error:(id *)a1;
- (id)syncDescription;
- (BOOL)_hideGraphPersonInsteadOfDelete;
- (void)_moveAllFacesToFinalMergeTarget;
- (id)cplPersonChange;
- (BOOL)_allowSyncOfChangeWithKey:(id)a0;
- (void)_basicMergePersons:(id)a0;
- (id)_nameRelatedMetadataKeys;
- (BOOL)_personResetIsInProgress;
- (void)_removeSharedLibraryPeopleRulesForPerson;
- (void)_triggerPersonSyncUpdateWithLibraryServicesManager:(id)a0;
- (void)_updateSharedLibraryPeopleRulesForTombstone;
- (void)applyCPLChangeForContactMatchingDictionary:(id)a0;
- (void)basicMergePersons:(id)a0;
- (id)finalMergeTargetPerson;
- (id)mutableFaceCrops;
- (id)mutableRejectedFacesNeedingFaceCrops;
- (id)pickKeyFaceOptimalStateForContactDedupeWithPersons:(id)a0;
- (void)resetAllFacesToDefault;
- (void)resetFacesProcessing;
- (id)reverseOrderedMergeTargetPersons;
- (void)setCPLSyncedMergeTarget:(id)a0;
- (void)setKeyFaceToPicked;
- (BOOL)validForPersistenceChangedForChangedKeys:(id)a0;

@end