@class NSArray, NSString, CLSAdminRequestor; @interface CLSSearchSpecification : NSObject <NSCopying, NSSecureCoding> @property (class, readonly) BOOL supportsSecureCoding; @property BOOL includeUnsearchablePersons; @property (copy) NSArray *personSortDescriptors; @property (readonly, copy) NSArray *personLocationIDs; @property (readonly, copy) NSString *requiredRoleID; @property (readonly) long long requiredRoleType; @property (readonly, copy) NSString *requiredPrivilege; @property (readonly, copy) NSArray *requiredPrivilegeLocationIDs; @property (readonly, copy) NSString *prohibitedPrivilege; @property (readonly, copy) NSArray *prohibitedPrivilegeLocationIDs; @property (copy) NSArray *classSortDescriptors; @property (readonly, copy) NSArray *classLocationIDs; @property (copy) NSArray *locationSortDescriptors; @property (readonly) long long requiredLocationRoleType; @property (readonly, copy) NSArray *locationPersonIDs; @property (readonly, copy) NSString *requiredLocationPrivilege; @property (readonly, copy) NSArray *requiredLocationPersonIDs; @property (readonly, copy) NSString *prohibitedLocationPrivilege; @property (readonly, copy) NSArray *prohibitedLocationPersonIDs; @property (copy) NSArray *organizationSortDescriptors; @property (readonly, copy) NSString *requiredOrganizationEmailDomain; @property (readonly) unsigned long long requiredClassMemberRole; @property (readonly, copy) NSArray *requiredClassMemberClassIDs; @property (nonatomic) unsigned long long options; @property (nonatomic) unsigned long long behaviors; @property (copy) NSString *searchString; @property (copy, nonatomic) NSArray *searchTokens; @property (nonatomic) unsigned long long compareOptions; @property (copy) CLSAdminRequestor *adminRequestor; @property (copy) NSArray *classSortDescriptors; @property (copy, nonatomic) NSArray *classLocationIDs; @property BOOL includeUnsearchablePersons; @property (copy) NSArray *personSortDescriptors; @property (copy) NSArray *personLocationIDs; @property (copy) NSString *requiredRoleID; @property long long requiredRoleType; @property (copy) NSString *requiredPrivilege; @property (copy) NSArray *requiredPrivilegeLocationIDs; @property (copy) NSString *prohibitedPrivilege; @property (copy) NSArray *prohibitedPrivilegeLocationIDs; @property (copy) NSArray *locationSortDescriptors; @property (copy) NSArray *locationPersonIDs; @property long long requiredLocationRoleType; @property (copy) NSString *requiredLocationPrivilege; @property (copy) NSArray *requiredLocationPersonIDs; @property (copy) NSString *prohibitedLocationPrivilege; @property (copy) NSArray *prohibitedLocationPersonIDs; @property (copy) NSArray *organizationSortDescriptors; @property (copy) NSString *requiredOrganizationEmailDomain; @property (copy) NSArray *requiredClassMemberClassIDs; @property unsigned long long requiredClassMemberRole; + (id)newlineAnchoredPredicateValueForToken:(id)a0; - (void)encodeWithCoder:(id)a0; - (void).cxx_destruct; - (id)dictionaryRepresentation; - (id)predicate; - (id)initWithCoder:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (id)initWithOptions:(unsigned long long)a0 behaviors:(unsigned long long)a1 searchString:(id)a2; - (void)requirePrivilege:(id)a0 atLocationIDs:(id)a1; - (void)restrictToClassesAtLocationIDs:(id)a0; - (BOOL)canUseClassPredicate; - (BOOL)canUsePersonPredicate; - (BOOL)hasLocationConstraints; - (BOOL)hasPersonConstraints; - (id)initWithOptions:(unsigned long long)a0 behaviors:(unsigned long long)a1; - (id)initWithOptions:(unsigned long long)a0 behaviors:(unsigned long long)a1 searchString:(id)a2 requestor:(id)a3; - (BOOL)isClassMemberSearch; - (BOOL)isClassSearch; - (BOOL)isLocationSearch; - (BOOL)isOrganizationSearch; - (BOOL)isPersonSearch; - (BOOL)isValid:(BOOL)a0 error:(id *)a1; - (id)predicateForClasses; - (id)predicateForPersons; - (id)predicateForPersonsWithObjectIDs:(id)a0; - (id)predicateForPersonsWithPersonIDs:(id)a0; - (id)predicateUsingSubPredicateBlock:(id /* block */)a0; - (id)predicateWithLocationIDs:(id)a0; - (void)prohibitPrivilege:(id)a0 atLocationIDs:(id)a1; - (void)prohibitPrivilege:(id)a0 onPersonIDs:(id)a1; - (void)requireClassMemberRole:(unsigned long long)a0 forClassIDs:(id)a1; - (void)requirePrivilege:(id)a0 onPersonIDs:(id)a1; - (void)requireRole:(id)a0 atLocationIDs:(id)a1; - (void)requireRoleType:(long long)a0 atLocationIDs:(id)a1; - (void)requireRoleType:(long long)a0 onPersonIDs:(id)a1; - (BOOL)requiresDashboardEntitlement; - (void)restrictToOrganizationsMatchingEmailDomain:(id)a0; - (void)sanitizeSpecForABMMAID; @end