luxlabs header browser preview


@class NSDate, NSString, NSArray, NSSet, PSIParse, NSDictionary, NSMutableDictionary, NSMutableSet, PSITokenizer;
@protocol PSIQueryDelegate;

@interface PSIQuery : NSObject {
    PSIParse *_baseParse;
    BOOL _baseParseCouldHaveResults;
    NSArray *_implicitelyTokenizedParses;
    BOOL _implicitlyTokenizedParsesCouldHaveResults;
    NSArray *_datedParses;
    NSArray *_implicitlyTokenizedDatedParses;
    NSArray *_wordEmbeddingParses;
    NSArray *_identifierTokens;
    NSMutableDictionary *_groupIdsByTokenKey;
    NSDictionary *_substitutionsByStringToken;
    NSArray *_socialGroupPersonIdentifiers;
    _Atomic BOOL _didStart;
    _Atomic BOOL _isCanceled;
}

@property (nonatomic) unsigned long long mergeFilterTokenAssetIDsIntervalID;
@property (weak, nonatomic) id<PSIQueryDelegate> delegate;
@property (readonly, nonatomic) BOOL useWildcardText;
@property (retain, nonatomic) NSDictionary *substitutions;
@property (retain, nonatomic) NSArray *nextKeywordSuggestions;
@property (copy, nonatomic) NSSet *sceneIdentifiers;
@property (copy, nonatomic) NSSet *audioIdentifiers;
@property (copy, nonatomic) NSSet *humanActionIdentifiers;
@property (copy, nonatomic) NSSet *personIdentifiers;
@property (copy, nonatomic) NSArray *dedupedGroupResults;
@property (copy, nonatomic) NSMutableSet *socialGroupExtendedAssetIds;
@property (copy, nonatomic) NSMutableSet *socialGroupExtendedCollectionIds;
@property (readonly, nonatomic) PSITokenizer *tokenizer;
@property (readonly, copy, nonatomic) NSArray *queryTokens;
@property (readonly, copy, nonatomic) NSString *searchText;
@property (readonly, getter=isCanceled) BOOL canceled;
@property (nonatomic) BOOL legacyDisableTopAssetsAndTopCollections;
@property (nonatomic) unsigned long long wordEmbeddingMode;
@property (nonatomic) unsigned long long numberOfNextKeywordSuggestionToProcess;
@property (readonly, nonatomic) BOOL implicitTokenizationIncludeBaseParseResults;
@property (nonatomic) unsigned long long libraryScope;
@property (readonly, copy, nonatomic) NSSet *scopedSearchIdentifiers;
@property (readonly, nonatomic) unsigned long long searchResultTypes;
@property (readonly, nonatomic) unsigned long long searchSuggestionType;
@property (readonly, nonatomic) unsigned long long suggestionLimit;
@property (readonly, nonatomic) BOOL enableExactMatchPrioritization;
@property (nonatomic) BOOL includeAllFruitfulMatchedGroups;
@property (nonatomic) BOOL includeAllQueryMatchedGroups;
@property (retain, nonatomic) NSDate *queryBeginParsingTime;
@property (nonatomic) double elapsedTimeQueryParsing;
@property (retain, nonatomic) NSDate *queryBeginResultGenerationAndIntersectionsTime;
@property (nonatomic) double elapsedTimeResultGenerationAndIntersections;

+ (void)bootstrap;
+ (void)_aggregateAssetIdsOnFilterGroupsInGroupArrays:(id)a0 searchTokens:(id)a1 groupIdToOriginalAssetIdsMap:(id *)a2;
+ (id)_indexesOfFilterTokensInSearchTokens:(id)a0;
+ (id)_indexesToRemoveForDuplicatedFilterGroupsinGroupArrays:(id)a0 searchTokens:(id)a1;
+ (void)_restoreAssetIdsForGroupsInGroupArrays:(id)a0 atRemovalIndexes:(id)a1 groupIdToOriginalAssetIdsMap:(id)a2 searchTokens:(id)a3;
+ (BOOL)_shouldApplyFilterTokensForGroupArrays:(id)a0 searchTokens:(id)a1 filterGroupIds:(id)a2;
+ (id)dateAttributesFromToken:(id)a0;
+ (id)dateFilterByCombiningDateFilter:(id)a0 withDateFilter:(id)a1;
+ (id)dateFilterWithAttributes:(id)a0;
+ (id)dateFilterWithAttributes:(id)a0 andAttributes:(id)a1;
+ (id)datedParsesWithParses:(id)a0;
+ (BOOL)enumerateDatedParsesWithParse:(id)a0 currentTokenIndex:(unsigned long long)a1 potentialComboAttributes:(id)a2 usingBlock:(id /* block */)a3;
+ (id)parsedDatesFromText:(id)a0;
+ (id)searchResultFromArrayOfGroupArrays:(id)a0 searchTokens:(id)a1 searchResultTypes:(unsigned long long)a2 suggestionType:(unsigned long long)a3 scopedSearchIdentifiers:(id)a4 normalizedSearchText:(id)a5 enableExactMatchPrioritization:(BOOL)a6 includeAllQueryMatchedGroups:(BOOL)a7 includeAllFruitfulMatchedGroups:(BOOL)a8 suggestionLimit:(unsigned long long)a9 query:(id)a10 delegate:(id)a11;
+ (struct _NSRange { unsigned long long x0; unsigned long long x1; })searchTextExtendedRangeForParse:(id)a0;
+ (BOOL)tokenIsEligibleForDateParsing:(id)a0;

- (id)description;
- (id)suggestionWhitelistedScenes;
- (void)bootstrap;
- (void).cxx_destruct;
- (void)cancel;
- (id)processParseV2:(id)a0;
- (id)processParse:(id)a0 disableWildcardMatchesForUserControlledCategories:(BOOL)a1;
- (BOOL)_enumerateImplicitlyTokenizedParsesWithBaseParse:(id)a0 usingBlock:(id /* block */)a1;
- (struct __CFSet { } *)_idsOfGroupsMatchingString:(id)a0 categories:(id)a1 textIsSearchable:(BOOL)a2 isFilterTypeToken:(BOOL)a3;
- (struct __CFSet { } *)_idsOfGroupsMatchingToken:(id)a0;
- (void)_postProcessPersonGroupsInGroupArrays:(id)a0;
- (void)computeSuggestions;
- (void)enumerateParsesWithMode:(unsigned long long)a0 usingBlock:(id /* block */)a1;
- (id)implicitlyTokenizedParsesWithBaseParse:(id)a0;
- (id)initWithQueryTokens:(id)a0 searchText:(id)a1 useWildcardText:(BOOL)a2 delegate:(id)a3 libraryScope:(unsigned long long)a4;
- (id)initWithQueryTokensV2:(id)a0 searchText:(id)a1 scopedSearchIdentifiers:(id)a2 searchResultTypes:(unsigned long long)a3 searchSuggestionType:(unsigned long long)a4 useWildcardText:(BOOL)a5 enableExactMatchPrioritization:(BOOL)a6 delegate:(id)a7 libraryScope:(unsigned long long)a8 suggestionLimit:(unsigned long long)a9;
- (void)processDates;
- (void)processImplicitTokenization;
- (void)processWordEmbeddings;
- (BOOL)recursiveAddToGroupResults:(id)a0 aggregate:(id)a1 atIndex:(unsigned long long)a2 outOf:(unsigned long long)a3 inGroupArrays:(id)a4 dateFilter:(id)a5 datedTokens:(id)a6 disableWildcardMatchesForUserControlledCategories:(BOOL)a7;
- (id)runLookupIdentifierQuery;
- (void)runUserQuery:(id)a0 resultsHandlerV2:(id /* block */)a1;
- (void)runWithResultsHandler:(id /* block */)a0 disableWildcardMatchesForUserControlledCategories:(BOOL)a1;
- (void)runWithResultsHandlerV2:(id /* block */)a0;

@end