@class STBlueprintSchedule, NSString, NSArray, NSDate, NSSet, NSData, NSDateComponents, STCoreOrganization, STBlueprintUsageLimit, STCoreDowntimeOverride, STDowntimeConfiguration; @interface STBlueprint : STUniquedManagedObject <STSerializableMappedObject, STUniquelySerializableManagedObject, STVersionVectorable> @property (class, readonly, copy) NSArray *defaultAlwaysAllowBundleIDs; @property (class, readonly, copy) NSDateComponents *defaultStartTime; @property (class, readonly, copy) NSDateComponents *defaultEndTime; @property (class, readonly) NSString *serializableClassName; @property (getter=isDowntimeEnabled) BOOL downtimeEnabled; @property (readonly, copy) STDowntimeConfiguration *downtimeConfiguration; @property (readonly, copy) NSString *downtimeScheduleText; @property (getter=isUsageLimitEnabled) BOOL usageLimitEnabled; @property (readonly, copy) NSString *limitDisplayName; @property (readonly, copy) NSString *limitScheduleText; @property (nonatomic) BOOL isTombstoned; @property (nonatomic) BOOL invertUsageLimit; @property (copy, nonatomic) NSString *identifier; @property (copy, nonatomic) NSDate *creationDate; @property (copy, nonatomic) NSDate *modificationDate; @property (copy, nonatomic) NSString *type; @property (nonatomic) BOOL enabled; @property (nonatomic) BOOL limitEnabled; @property (copy, nonatomic) NSDate *expiration; @property (copy, nonatomic) NSDate *minimumInstallationDate; @property (retain, nonatomic) NSSet *users; @property (retain, nonatomic) STBlueprintSchedule *schedule; @property (retain, nonatomic) STBlueprintUsageLimit *usageLimit; @property (retain, nonatomic) NSSet *configurations; @property (retain, nonatomic) STCoreOrganization *organization; @property (retain) STCoreDowntimeOverride *override; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (copy, nonatomic) NSData *versionVector; @property (nonatomic) BOOL isDirty; + (BOOL)saveDefaultAlwaysAllowListIfNecessaryForUser:(id)a0 error:(id *)a1; + (id)blueprintIdentifierForUser:(id)a0; + (id)createManagedUserBlueprintForUser:(id)a0 error:(id *)a1; + (id)keyPathsForValuesAffectingLimitDisplayName; + (void)_addSchedulePredicatesForBlueprintScheudle:(id)a0 toAllPredicates:(id)a1 usingDateFormatter:(id)a2 calendar:(id)a3; + (BOOL)deleteUsageLimitWithIdentifier:(id)a0 user:(id)a1 managedObjectContext:(id)a2 error:(id *)a3; + (id)keyPathsForValuesAffectingDowntimeScheduleText; + (id)_cemPredicateWithDowntimeOverride:(id)a0 shouldUseGracePeriod:(BOOL)a1 dateFormater:(id)a2 calendar:(id)a3; + (id)downtimeConfigurationForUserID:(id)a0 context:(id)a1 error:(id *)a2; + (id)_organizationIdentifierForUser:(id)a0 context:(id)a1; + (id)_createDowntimeForUser:(id)a0 organization:(id)a1 context:(id)a2; + (id)displayNameForUsageLimitWithCategoryIdentifiers:(id)a0 bundleIdentifiers:(id)a1 webDomains:(id)a2; + (BOOL)saveAlwaysAllowListForUser:(id)a0 withBundleIDs:(id)a1 error:(id *)a2; + (id)_userForUserID:(id)a0 inContext:(id)a1 error:(id *)a2; + (id)_buildConfigurationsByDeclarationIdentifierFromBlueprint:(id)a0 error:(id *)a1; + (id)fetchRequestMatchingExpiredBlueprints; + (id)_userDSIDStringForUser:(id)a0 context:(id)a1; + (id)fetchRequestMatchingOrphanedBlueprints; + (id)createBlueprintWithType:(id)a0 user:(id)a1; + (id)_declarationForDowntime:(id)a0 user:(id)a1 configuration:(id)a2 behaviorType:(unsigned long long)a3 context:(id)a4 error:(id *)a5; + (id)fetchResultsRequestsForChangesToBlueprints; + (id)applyScheduleStateChange:(long long)a0 forUserID:(id)a1 context:(id)a2 error:(id *)a3; + (id)_fetchOrCreateDowntimeForUserID:(id)a0 inContext:(id)a1 error:(id *)a2; + (void)_addUserPredicateForBlueprint:(id)a0 toAllPredicates:(id)a1; + (id)_configurationForDowntime:(id)a0 context:(id)a1; + (BOOL)disableManagedUserBlueprintForUser:(id)a0 error:(id *)a1; + (void)_createDisplayNameWithItemNames:(id)a0 itemCount:(unsigned long long)a1 completionHandler:(id /* block */)a2; + (id)applyAutomaticOnDemandDowntimeStateChange:(long long)a0 forUserID:(id)a1 context:(id)a2 error:(id *)a3; + (id)customScheduleTimeRangeWithLocale:(id)a0 startTimeComponents:(id)a1 endTimeComponents:(id)a2; + (id)_predicateForUsageLimitOverrideBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (void)fetchDisplayNameForUsageLimitWithCategoryIdentifiers:(id)a0 bundleIdentifiers:(id)a1 webDomains:(id)a2 completionHandler:(id /* block */)a3; + (BOOL)saveDowntimeForUser:(id)a0 startTime:(id)a1 endTime:(id)a2 scheduleByWeekdayIndex:(id)a3 enabled:(BOOL)a4 behaviorType:(unsigned long long)a5 error:(id *)a6; + (void)_addExpirationPredicateForBlueprint:(id)a0 toAllPredicates:(id)a1 usingDateFormatter:(id)a2; + (id)_updatedDowntimeForUser:(id)a0 startTime:(id)a1 endTime:(id)a2 scheduleByWeekdayIndex:(id)a3 enabled:(BOOL)a4 behaviorType:(unsigned long long)a5 error:(id *)a6; + (BOOL)_updateConfiguration:(id)a0 withDeclaration:(id)a1 context:(id)a2 error:(id *)a3; + (id)keyPathsForValuesAffectingLimitScheduleText; + (BOOL)saveManagedUserBlueprintForUser:(id)a0 error:(id *)a1; + (id)_predicateForManagedUserBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (BOOL)deleteManagedUserBlueprintForUser:(id)a0 error:(id *)a1; + (BOOL)saveRestrictionsBlueprintWithValuesForPresetRestrictions:(id)a0 forUser:(id)a1 error:(id *)a2; + (id)_fetchRequestMatchingBlueprintsForUserWithDSID:(id)a0; + (id)_predicateForDowntimeBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (id)_declarationModeForBehaviorType:(unsigned long long)a0; + (id)_predicateForRestrictionsBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (BOOL)shouldUseGracePeriodForDowntimeOverride:(id)a0 configuration:(id)a1; + (BOOL)saveUsageLimitWithIdentifier:(id)a0 user:(id)a1 bundleIdentifiers:(id)a2 webDomains:(id)a3 categoryIdentifiers:(id)a4 dailyBudgetLimit:(double)a5 budgetLimitByWeekday:(id)a6 enabled:(BOOL)a7 behaviorType:(unsigned long long)a8 error:(id *)a9; + (BOOL)_isStateChangeValid:(long long)a0 forState:(long long)a1; + (id)_predicateForAlwaysAllowedAppsBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (id)_buildPredicateForDisablingBlueprint:(id)a0; + (BOOL)saveAlwaysAllowListForUser:(id)a0 withBundleIDs:(id)a1 overwriteExistingList:(BOOL)a2 error:(id *)a3; + (id)applyOnDemandDowntimeStateChange:(long long)a0 withFixedDuration:(double)a1 forUserID:(id)a2 context:(id)a3 error:(id *)a4; + (id)fetchRequestMatchingBlueprintsForUserWithDSID:(id)a0 ofType:(id)a1; + (id)simpleScheduleTimeRangeWithStartTimeComponents:(id)a0 endTimeComponents:(id)a1; + (void)_addCommonPredicatesForBlueprint:(id)a0 toAllPredicates:(id)a1 usingDateFormatter:(id)a2 calendar:(id)a3; + (id)fetchRequestMatchingBlueprintsForUserWithDSID:(id)a0 fromOrganization:(id)a1; + (id)fetchRequestMatchingBlueprintsForUserWithDSID:(id)a0 ofType:(id)a1 fromOrganization:(id)a2; + (void)_addMinimumInstallationDatePredicateForBlueprint:(id)a0 toAllPredicates:(id)a1 usingDateFormatter:(id)a2; + (id)fetchRequestMatchingBlueprintsForUserWithDSID:(id)a0 ofType:(id)a1 withIdentifier:(id)a2 fromOrganization:(id)a3; + (id)_downtimeForUser:(id)a0 inContext:(id)a1 error:(id *)a2; + (id)scheduleTextWithLocale:(id)a0 weekdayScheduleComparator:(id /* block */)a1 scheduleTimeGetter:(id /* block */)a2; + (id)_getDisplayNameAndAddCategories:(id)a0 toItemNames:(id)a1 remainingItems:(unsigned long long *)a2; + (id)_buildDeclarationsFromConfigurationsByDeclarationIdentifier:(id)a0 predicate:(id)a1 identifier:(id)a2; + (BOOL)removeFixedDurationOnDemandDowntimeForUserID:(id)a0 context:(id)a1 error:(id *)a2; + (void)_addWebDomains:(id)a0 toItemNames:(id)a1 remainingItems:(unsigned long long)a2 totalCount:(unsigned long long)a3 completionHandler:(id /* block */)a4; + (id)_predicateForUsageLimitBlueprint:(id)a0 withDateFormatter:(id)a1 calendar:(id)a2; + (id)fetchResultsRequestsForChangesToBlueprintsForUserWithDSID:(id)a0; + (id)_buildPredicateForUnspecializedBlueprint:(id)a0 usingDateFormatter:(id)a1 calendar:(id)a2; + (id)fetchOrCreateWithDictionaryRepresentation:(id)a0 inContext:(id)a1 error:(id *)a2; + (id)fetchRequestMatchingUnexpiredOneMoreMinuteBlueprints; + (id)_updatedScheduleFromSchedule:(id)a0 withStartTime:(id)a1 endTime:(id)a2 scheduleByWeekdayIndex:(id)a3 context:(id)a4; - (void)awakeFromInsert; - (void)tombstone; - (id)computeUniqueIdentifier; - (BOOL)updateWithDictionaryRepresentation:(id)a0; - (BOOL)permitWebFilterURL:(id)a0 pageTitle:(id)a1 error:(id *)a2; - (id)dictionaryRepresentation; - (void)didChangeValueForKey:(id)a0; - (id)applyScheduleStateChange:(long long)a0 error:(id *)a1; - (id)_applyAutomaticOnDemandDowntimeStateChange:(long long)a0 atDate:(id)a1 inCalendar:(id)a2 error:(id *)a3; - (id)_applyOnDemandDowntimeStateChange:(long long)a0 withFixedDuration:(double)a1 atDate:(id)a2 inCalendar:(id)a3 error:(id *)a4; - (id)_applyScheduleStateChange:(long long)a0 atDate:(id)a1 inCalendar:(id)a2 error:(id *)a3; - (id)_downtimeConfigurationAtDate:(id)a0 inCalendar:(id)a1; - (void)_reportCoreAnalyticsEventForDowntimeOverride:(id)a0 currentDate:(id)a1; - (void)_updateActiveOverrideAfterScheduleChange; - (id)_webFilterBlacklistStringsForURL:(id)a0; - (id)activeOverride; - (id)applyAutomaticOnDemandDowntimeStateChange:(long long)a0 error:(id *)a1; - (id)applyOnDemandDowntimeStateChange:(long long)a0 withFixedDuration:(double)a1 error:(id *)a2; - (id)declarationsWithError:(id *)a0; - (void)disableDowntimeForDay:(unsigned long long)a0; - (void)migrateToVersion2CategoriesIfNeeded; - (BOOL)removeFixedDurationOnDemandDowntimeWithError:(id *)a0; - (void)setStartTime:(id)a0 endTime:(id)a1; - (void)setStartTime:(id)a0 endTime:(id)a1 forDay:(unsigned long long)a2; @end