react-native-permissions
Version:
An unified permissions API for React Native on iOS, Android and Windows
48 lines (38 loc) • 1.26 kB
text/typescript
import type {AndroidPermissionMap} from './permissions.android';
import type {IOSPermissionMap} from './permissions.ios';
import type {WindowsPermissionMap} from './permissions.windows';
import {ResultMap} from './results';
type Values<T extends object> = T[keyof T];
export type {Rationale} from 'react-native';
export type AndroidPermission = Values<AndroidPermissionMap>;
export type IOSPermission = Values<IOSPermissionMap>;
export type WindowsPermission = Values<WindowsPermissionMap>;
export type Permission = AndroidPermission | IOSPermission | WindowsPermission;
export type PermissionStatus = Values<ResultMap>;
export type LocationAccuracyOptions = {
purposeKey: string;
};
export type LocationAccuracy = 'full' | 'reduced';
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;
};