UNPKG

web-push-notifications

Version:
57 lines (56 loc) 2.77 kB
export type EventPayload<Parameters extends Record<string, unknown>> = Parameters & Record<'eventId', string>; export type EventHandler<Payload extends EventPayload<Record<string, unknown>>> = (payload: Payload) => void | Promise<void>; export interface EventHandlerMap { ready: EventHandler<EventPayload<Record<string, never>>>; 'change-enabled-communication': EventHandler<EventPayload<{ isEnabled: boolean; }>>; 'communication-disabled': EventHandler<EventPayload<Record<string, never>>>; register: EventHandler<EventPayload<Record<string, never>>>; unregister: EventHandler<EventPayload<Record<string, never>>>; 'show-subscription-widget': EventHandler<EventPayload<Record<string, never>>>; 'hide-subscription-widget': EventHandler<EventPayload<Record<string, never>>>; 'show-notification-permission-dialog': EventHandler<EventPayload<Record<string, never>>>; 'hide-notification-permission-dialog': EventHandler<EventPayload<{ permission: NotificationPermission; }>>; 'permission-default': EventHandler<EventPayload<Record<string, never>>>; 'permission-denied': EventHandler<EventPayload<Record<string, never>>>; 'permission-granted': EventHandler<EventPayload<Record<string, never>>>; 'change-permission': EventHandler<EventPayload<{ permission: NotificationPermission; }>>; 'initialize-service-worker': EventHandler<EventPayload<Record<string, never>>>; 'initialize-service-worker-error': EventHandler<EventPayload<{ error: Error; }>>; subscribe: EventHandler<EventPayload<Record<string, never>>>; unsubscribe: EventHandler<EventPayload<Record<string, never>>>; 'receive-push': EventHandler<EventPayload<{ notification: unknown; }>>; 'show-notification': EventHandler<EventPayload<{ notification: unknown; }>>; 'open-notification': EventHandler<EventPayload<{ notification: unknown; }>>; 'hide-notification': EventHandler<EventPayload<{ notification: unknown; }>>; 'receive-inbox-message': EventHandler<EventPayload<{ message: unknown; }>>; 'update-inbox-messages': EventHandler<EventPayload<{ messages: unknown; }>>; 'receive-in-app-code': EventHandler<EventPayload<{ code: string; }>>; 'subscribe-popup-ready': EventHandler<EventPayload<Record<string, never>>>; 'subscribe-popup-show': EventHandler<EventPayload<Record<string, never>>>; 'subscribe-popup-hide': EventHandler<EventPayload<Record<string, never>>>; 'subscribe-popup-decline': EventHandler<EventPayload<Record<string, never>>>; 'subscribe-popup-accept': EventHandler<EventPayload<Record<string, never>>>; } export type EventName = keyof EventHandlerMap;