/** The Web Push notification subscription state. */ export declare enum PermissionState { /** The player has granted permission. */ Granted = "granted", /** The player has explicitly denied permissions, preventing any future permission requests. */ Denied = "denied", /** The player hasn't granted permission yet, but we can prompt them to enable it. */ Prompt = "prompt", /** The player's browser doesn't support Web Push notifications, or the PWA is misconfigured. */ Unsupported = "unsupported" } /** Options to pass to {@link schedule}. */ export declare type ScheduleOptions = { /** How many milliseconds from now to send this notification. */ delay?: number; /** Text displayed in the title of the notification bubble. */ title?: string; /** * The SMS message text. You should prefix this with the name of your game, so players know who * the random phone number texting them is. Eg: "Beadle: New puzzle available!" */ smsText?: string; /** The link to open when the player engages with the notification. */ link?: string; /** Text displayed in the body (subtitle) of the notification bubble. */ body?: string; /** Icon image displayed in the notification bubble. */ icon?: string; /** Android-only badge image displayed in the notification bubble. */ badge?: string; /** Banner image displayed in the notification bubble. */ image?: string; }; export declare function getPermissionState(): Promise; export declare function requestPermission(): Promise; /** * Schedules a push notification. * * Only one notification with a given tag can be scheduled at a time. If another notification was * previously scheduled with the given tag, the entire notification is replaced with the new one. * * @param opts Options for configuring display and delivery of the notification. */ export declare function schedule(tag: string, opts?: ScheduleOptions): void;