import * as _solidjs_use_shared from '@solidjs-use/shared'; import * as solid_js from 'solid-js'; import { ConfigurableWindow } from '../_configurable.js'; interface WebNotificationOptions { /** * The title read-only property of the Notification interface indicates * the title of the notification * * @default '' */ title?: string; /** * The body string of the notification as specified in the constructor's * options parameter. * * @default '' */ body?: string; /** * The text direction of the notification as specified in the constructor's * options parameter. * * @default '' */ dir?: 'auto' | 'ltr' | 'rtl'; /** * The language code of the notification as specified in the constructor's * options parameter. * * @default DOMString */ lang?: string; /** * The ID of the notification(if any) as specified in the constructor's options * parameter. * * @default '' */ tag?: string; /** * The URL of the image used as an icon of the notification as specified * in the constructor's options parameter. * * @default '' */ icon?: string; /** * Specifies whether the user should be notified after a new notification * replaces an old one. * * @default false */ renotify?: boolean; /** * A boolean value indicating that a notification should remain active until the * user clicks or dismisses it, rather than closing automatically. * * @default false */ requireInteraction?: boolean; /** * The silent read-only property of the Notification interface specifies * whether the notification should be silent, i.e., no sounds or vibrations * should be issued, regardless of the device settings. * * @default false */ silent?: boolean; /** * Specifies a vibration pattern for devices with vibration hardware to emit. * A vibration pattern, as specified in the Vibration API spec * * @see https://w3c.github.io/vibration/ */ vibrate?: number[]; } interface UseWebNotificationOptions extends WebNotificationOptions, ConfigurableWindow { } /** * Reactive useWebNotification. * * @see https://solidjs-use.github.io/solidjs-use/core/useWebNotification */ declare const useWebNotification: (defaultOptions?: UseWebNotificationOptions) => { isSupported: solid_js.Accessor; notification: solid_js.Accessor; show: (overrides?: WebNotificationOptions) => Promise; close: () => void; onClick: _solidjs_use_shared.EventHookOn; onShow: _solidjs_use_shared.EventHookOn; onError: _solidjs_use_shared.EventHookOn; onClose: _solidjs_use_shared.EventHookOn; }; type UseWebNotificationReturn = ReturnType; export { UseWebNotificationOptions, UseWebNotificationReturn, WebNotificationOptions, useWebNotification };