/* Notification */ type NotificationPermission = 'default' | 'denied' | 'granted'; type NotificationDirection = 'auto' | 'ltr' | 'rtl'; type VibratePattern = number | Array; type NotificationAction = { action: string, title: string, icon?: string }; type NotificationOptions = { dir: NotificationDirection, lang: string, body: string, tag: string, image: string, icon: string, badge: string, sound: string, vibrate: VibratePattern, timestamp: number, renotify: boolean, silent: boolean, requireInteraction: boolean, data: ?any, actions: Array, }; declare class Notification extends EventTarget { constructor(title: string, options?: $Shape): void; static permission: NotificationPermission; static requestPermission( callback?: (perm: NotificationPermission) => mixed, ): Promise; static maxActions: number; onclick: (evt: Event) => any; onerror: (evt: Event) => any; title: string; dir: NotificationDirection; lang: string; body: string; tag: string; image: string; icon: string; badge: string; sound: string; vibrate: Array; timestamp: number; renotify: boolean; silent: boolean; requireInteraction: boolean; data: any; actions: Array; close(): void; }