luxlabs header browser preview


@class NSArray, NSString, NSMutableDictionary, NSMutableArray;

@interface EMFEmojiPreferences : NSObject <EMFEmojiPreferenceActions> {
    NSMutableDictionary *_defaults;
    BOOL _isDefaultDirty;
    NSMutableDictionary *_usageHistory;
    NSMutableArray *_recents;
    NSMutableDictionary *_typingNames;
    NSMutableDictionary *_skinToneBaseKeyPreferences;
    NSMutableDictionary *_categoryIndexes;
    long long _currentSequence;
}

@property (nonatomic) unsigned long long maximumRecentsCount;
@property (readonly, nonatomic) NSArray *allRecents;
@property (readonly, nonatomic) NSArray *recentEmojis;
@property (readonly, nonatomic) NSString *previouslyUsedCategory;
@property (readonly, nonatomic) BOOL hasDisplayedSkinToneHelp;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)defaultsDomain;
+ (BOOL)deviceStateIsLocked;
+ (id)_recentEmojiStrings;
+ (id)_allRecentStrings;
+ (id)_cacheDomain;
+ (id)_cachedFlagCategoryEmoji:(id /* block */)a0;
+ (id)_recentStringsInCharacterSet:(id)a0;

- (id)init;
- (void).cxx_destruct;
- (void)didDisplaySkinToneHelp;
- (void)didUseEmoji:(id)a0 usageMode:(id)a1;
- (void)didUseEmoji:(id)a0 usageMode:(id)a1 typingName:(id)a2;
- (void)didViewEmojiIndex:(long long)a0 forCategory:(id)a1;
- (BOOL)hasLastUsedVariantForEmoji:(id)a0;
- (id)lastUsedVariantEmojiForEmoji:(id)a0;
- (unsigned long long)previouslyUsedIndexInCategory:(id)a0;
- (void)readEmojiDefaults;
- (id)typingNameForEmoji:(id)a0;
- (void)writeEmojiDefaults;
- (void)didUseEmoji:(id)a0;
- (void)didUseEmojiInDictation:(id)a0 replacementContext:(id)a1;
- (void)_checkForDingbatDuplicates;
- (void)_cleanUpOldFlagsCaches;
- (void)_pruneInvalidEmojiFromHistory;
- (void)_pruneOldestEmojiUsageFromHistory;
- (void)_readPreferencesFromDefaults;
- (void)_setRecentStrings:(id)a0;
- (void)didUseEmoji:(id)a0 usageSource:(unsigned long long)a1 replacementContext:(id)a2 searchQuery:(id)a3 resultPosition:(id)a4 numberSearchQueriesRun:(id)a5 wasPositiveEngagement:(BOOL)a6;
- (void)didUseEmojiInCharacterPickerExtended:(id)a0 finalQuery:(id)a1 resultIndex:(id)a2;
- (void)didUseEmojiInCharacterPickerLightweight:(id)a0 replacementContext:(id)a1;
- (void)didUseEmojiInCharacterPickerPopover:(id)a0 finalQuery:(id)a1 resultIndex:(id)a2;
- (void)didUseEmojiInDFRBar:(id)a0 replacementContext:(id)a1;
- (void)didUseEmojiInEmojiKeyboardPalette:(id)a0 wasFromRecentsSection:(BOOL)a1;
- (void)didUseEmojiInEmojiKeyboardSearch:(id)a0 finalQuery:(id)a1 resultIndex:(id)a2;
- (void)didUseEmojiInHandwriting:(id)a0 replacementContext:(id)a1;
- (void)didUseEmojiInKeyboardCandidateBar:(id)a0 replacementContext:(id)a1;
- (void)loadDefaultsIfNecessary;
- (void)migrateFromMajorOSVersion:(long long)a0;
- (void)migrateInDidDisplaySkinToneHelp:(BOOL)a0;
- (void)migrateInPreviouslyUsedCategory:(id)a0;
- (void)migrateInPreviouslyUsedCategoryIndexes:(id)a0;
- (void)migrateInRecentEmoji:(id)a0 usages:(id)a1 typingNames:(id)a2;
- (void)migrateInSkinTonePreferences:(id)a0;
- (id)recentVariantEmojiForEmoji:(id)a0;
- (id)recentsInCharacterSet:(id)a0;
- (void)resetEmojiDefaults;
- (double)scoreForEmojiString:(id)a0;
- (double)scoreForSequence:(long long)a0;
- (BOOL)shouldCountEmojiStringForUsageHistory:(id)a0;
- (void)writeEmojiDefaultsAndNotify:(BOOL)a0;

@end