import type { PermissionStatus } from './common'; export * from './common'; export type PermissionsType = 'location' | 'camera' | 'microphone' | 'photo' | 'contacts' | 'event' | 'reminder' | 'bluetooth' | 'bluetoothConnect' | 'bluetoothScan' | 'notification' | 'backgroundRefresh' | 'speechRecognition' | 'mediaLocation' | 'mediaLibrary' | 'motion' | 'storage' | 'callPhone' | 'readSms' | 'receiveSms'; export interface PermissionRationale { title: string; message: string; buttonPositive?: string; buttonNegative?: string; buttonNeutral?: string; } export type PermissionCheckOptions = { type: 'always' | null | undefined }; export type PermissionRequestOptions = PermissionCheckOptions & { rationale?: PermissionRationale }; export type PermissionResult = { [k: PermissionsType]: { status: PermissionStatus; nativePermission: Array } }; export class Permissions { static canOpenSettings(): Promise; static openSettings(): Promise; static getTypes(): Array; static check(permission: Array | PermissionsType, options?: PermissionCheckOptions): Promise; static request(permission: Array | PermissionsType, options?: PermissionRequestOptions): Promise; }