UNPKG

react-native-permissions

Version:

An unified permissions API for React Native on iOS, Android and Windows

51 lines (42 loc) 1.39 kB
import type {AndroidPermissionMap} from './permissions.android'; import type {IOSPermissionMap} from './permissions.ios'; import type {WindowsPermissionMap} from './permissions.windows'; import type {ResultMap} from './results'; type ValueOf<T> = T[keyof T]; export type AndroidPermission = ValueOf<AndroidPermissionMap>; export type IOSPermission = ValueOf<IOSPermissionMap>; export type WindowsPermission = ValueOf<WindowsPermissionMap>; export type Permission = AndroidPermission | IOSPermission | WindowsPermission; export type PermissionStatus = ValueOf<ResultMap>; export type RationaleObject = { title: string; message: string; buttonPositive: string; buttonNegative?: string; }; export type Rationale = RationaleObject | (() => Promise<boolean>); export type LocationAccuracy = 'full' | 'reduced'; export type LocationAccuracyOptions = {purposeKey: string}; export type NotificationOption = | 'alert' | 'badge' | 'sound' | 'carPlay' | 'criticalAlert' | 'provisional' | 'providesAppSettings'; export type NotificationSettings = { alert?: boolean; badge?: boolean; sound?: boolean; carPlay?: boolean; criticalAlert?: boolean; provisional?: boolean; providesAppSettings?: boolean; lockScreen?: boolean; notificationCenter?: boolean; }; export type NotificationsResponse = { status: PermissionStatus; settings: NotificationSettings; };