react-native-permissions
Version:
An unified permissions API for React Native on iOS, Android and Windows
32 lines (30 loc) • 1.12 kB
text/typescript
import type {
LocationAccuracy,
LocationAccuracyOptions,
NotificationOption,
NotificationsResponse,
Permission,
PermissionStatus,
Rationale,
} from './types';
export type Contract = {
canScheduleExactAlarms(): Promise<boolean>;
canUseFullScreenIntent(): Promise<boolean>;
check(permission: Permission): Promise<PermissionStatus>;
checkLocationAccuracy(): Promise<LocationAccuracy>;
checkMultiple<P extends Permission[]>(
permissions: P,
): Promise<Record<P[number], PermissionStatus>>;
checkNotifications(): Promise<NotificationsResponse>;
openPhotoPicker(): Promise<void>;
openSettings(type?: 'application' | 'alarms' | 'fullscreen' | 'notifications'): Promise<void>;
request(permission: Permission, rationale?: Rationale): Promise<PermissionStatus>;
requestLocationAccuracy(options: LocationAccuracyOptions): Promise<LocationAccuracy>;
requestMultiple<P extends Permission[]>(
permissions: P,
): Promise<Record<P[number], PermissionStatus>>;
requestNotifications(
options?: NotificationOption[],
rationale?: Rationale,
): Promise<NotificationsResponse>;
};