/** * @platform ios */ export type FamilyControlsMember = 'child' | 'individual'; /** * @platform ios */ export type AuthorizationStatus = 'approved' | 'denied' | 'notDetermined'; /** * @platform ios */ export type Token = { data: string; } /** * @platform ios */ export type TokenNamePair = { token: Token; name: string; } /** * @platform ios */ export type FamilyActivitySelection = { applicationTokens: Token[]; categoryTokens: Token[]; webDomainTokens: Token[]; includeEntireCategory: boolean; untokenizedApplicationIdentifiers: string[]; untokenizedCategoryIdentifiers: string[]; untokenizedWebDomainIdentifiers: string[]; } /** * * @param {FamilyActivitySelection|undefined} selection */ export declare function activitySelectionIsEmpty(selection?: FamilyActivitySelection): boolean; /** * @platform ios */ export type FamilyActivityPickerOptions = { title?: String; headerText?: String; footerText?: String; activitySelection?: FamilyActivitySelection; }; /** * @platform ios */ export type AccountSettings = { lockAccounts?: boolean; } /** * @platform ios * @platform android */ export type Application = { /** * @platform ios */ bundleIdentifier?: string; /** * @platform ios */ token?: Token; /** * @platform ios */ localizedDisplayName?: string; /** * @platform android */ packageName?: string; } /** * @platform ios */ export type ApplicationSettings = { blockedApplications?: Application[]; denyAppInstallation?: boolean; denyAppRemoval?: boolean; } /** * @platform ios */ export type AppStoreSettings = { denyInAppPurchases?: boolean; maximumRating?: number; requirePasswordForPurchases?: boolean; } /** * @platform ios */ export type CellularSettings = { lockAppCellularData?: boolean; lockCellularPlan?: boolean; lockESIM?: boolean; } /** * @platform ios */ export type DateAndTimeSettings = { requireAutomaticDateAndTime?: boolean; } /** * @platform ios */ export type GameCenterSettings = { denyAddingFriends?: boolean; denyMultiplayerGaming?: boolean; } /** * @platform ios */ export type MediaSettings = { denyBookstoreErotica?: boolean; denyExplicitContent?: boolean; denyMusicService?: boolean; maximumMovieRating?: number; maximumTVShowRating?: number; } /** * @platform ios */ export type PasscodeSettings = { lockPasscode?: boolean; } /** * @platform ios */ export type SafariSettings = { denyAutoFill?: boolean; cookiePolicy?: string; } /** * @platform ios */ export type ShieldSettings = { applications?: boolean; applicationCategories?: string; webDomains?: boolean; webDomainCategories?: string; } /** * @platform ios */ export type SiriSettings = { denySiri?: boolean; } /** * @platform ios */ export type WebContentSettings = { blockedByFilter?: string; } /** * @platform ios */ export type ManagedSettingsStore = { account: AccountSettings; application: ApplicationSettings; appStore: AppStoreSettings; cellular: CellularSettings; dateAndTime: DateAndTimeSettings; gameCenter: GameCenterSettings; media: MediaSettings; passcode: PasscodeSettings; safari: SafariSettings; shield: ShieldSettings; siri: SiriSettings; webContent: WebContentSettings; } /** * @platform ios */ export type ScreenTimeConfiguration = { enforcesChildRestrictions: boolean; }; /** * @platform ios */ export declare class DateInterval { startDate: Date; endDate: Date; duration: number; constructor(startDate: Date, durationOrEndDate: number | Date); } export type IScreenTimeAPI = { /** * @platform ios * @param {FamilyControlsMember} member * @returns {Promise} */ requestAuthorization: (member: FamilyControlsMember) => Promise; /** * @platform ios */ revokeAuthorization: () => Promise; /** * @platform ios * @returns {Promise} */ getAuthorizationStatus: () => Promise; /** * @platform ios * @returns {Promise} */ getStore: () => Promise; /** * @platform ios * @returns {Promise} */ getActivitySelection: () => Promise; /** * @platform ios * @param {FamilyActivitySelection} selection * @returns {Promise} */ setActivitySelection: (selection: FamilyActivitySelection) => Promise; /** * @platform ios * @returns {Promise} */ clearActivitySelection: () => Promise; /** * @platform android * @returns {Promise} */ getBlockedApplications: () => Promise; /** * @platform android * @param {Application[]} applications * @returns {Promise} */ setBlockedApplications: (applications: Application[]) => Promise; /** * @platform android * @returns {Promise} */ clearBlockedApplications: () => Promise; /** * @platform ios * @platform android * @returns {Promise} */ denyAppInstallation: () => Promise; /** * @platform ios * @platform android * @returns {Promise} */ allowAppInstallation: () => Promise; /** * @platform ios * @platform android * @returns {Promise} */ denyAppRemoval: () => Promise; /** * @platform ios * @platform android * @returns {Promise} */ allowAppRemoval: () => Promise; /** * @platform ios * @returns {Promise} */ getApplicationName: (token: string | Token) => Promise /** * @platform ios * @beta currently crashing a lot * @returns {Promise[]>} */ getApplicationNames: (token: (string | Token)[]) => Promise /** * @platform ios * @returns {Promise} */ getCategoryName: (token: string | Token) => Promise /** * @platform ios * @beta currently crashing a lot * @returns {Promise[]>} */ getCategoryNames: (token: (string | Token)[]) => Promise /** * @platform ios * @returns {Promise} */ displayFamilyActivityPicker: (options: FamilyActivityPickerOptions) => Promise; /** * @platform ios * @returns {Promise} */ deleteAllWebHistory: (identifier?: string) => Promise; /** * @platform ios * @param {DateInterval} interval * @returns {Promise} */ deleteWebHistoryDuring(interval: DateInterval, identifier?: string): Promise; /** * @platform ios * @param {string} url * @returns {Promise} */ deleteWebHistoryForURL(url: string, identifier?: string): Promise; }; declare const ScreenTime: IScreenTimeAPI; /** * @platform ios */ declare const FamilyActivityPickerView: React.ComponentType; export { FamilyActivityPickerView, ScreenTime };