@nativescript-community/perms
Version:
An unified permissions API for NativeScript on iOS and Android.
36 lines (35 loc) • 1.86 kB
TypeScript
import { CheckOptions, MultiResult, PermissionOptions, RequestOptions, Result } from '.';
import { Status } from './index.common';
export * from './index.common';
export declare namespace PermissionsIOS {
enum NSType {
Location = "location",
Camera = "camera",
Microphone = "microphone",
Photo = "photo",
Contacts = "contacts",
Event = "event",
Reminder = "reminder",
Bluetooth = "bluetooth",
Notification = "notification",
BackgroundRefresh = "backgroundRefresh",
NSPTypeSpeechRecognition = "speechRecognition",
MediaLibrary = "mediaLibrary",
Motion = "motion"
}
function openSettings(): Promise<unknown>;
function canOpenSettings(): Promise<boolean>;
function getPermissionStatus(type: any, json: any): Promise<Status>;
function requestPermission(perm: any, options: any): Promise<Status>;
}
type IOSPermissionTypes = `${PermissionsIOS.NSType}`;
type ObjectIOSPermissionsRest = {
[key in IOSPermissionTypes]: PermissionOptions;
};
export declare function canOpenSettings(): Promise<boolean>;
export declare function openSettings(): Promise<unknown>;
export declare function openNotificationSettings(): Promise<boolean>;
export declare function getTypes(): ("location" | "camera" | "microphone" | "photo" | "contacts" | "event" | "reminder" | "bluetooth" | "notification" | "backgroundRefresh" | "speechRecognition" | "mediaLibrary" | "motion")[];
export declare function check(permission: IOSPermissionTypes, options?: CheckOptions): Promise<Status>;
export declare function request<T extends IOSPermissionTypes | Record<IOSPermissionTypes, any>>(permission: T, options?: RequestOptions): Promise<Result<T>>;
export declare function checkMultiple<T extends Partial<ObjectIOSPermissionsRest>>(permissions: T): Promise<MultiResult>;