@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