import { ChannelToken, ClientOptions, IntegrationClient } from './internal/client.js'; export type Installation = { public_key: string; auth_token: string; }; export type Token = ChannelToken & { endpoint?: string; keys?: Record; }; export type WebPushClientOptions = ClientOptions & { serviceWorkerPath?: string; }; export declare class WebPushClient extends IntegrationClient { #private; constructor(options: WebPushClientOptions); /** * Checks if the current user has an active push subscription that is registered by MagicBell. */ isSubscribed(): Promise; /** * Request permission to send push notifications and post the subscription to the MagicBell API. */ subscribe(): Promise; unsubscribe(): Promise; getAuthToken(): Promise; } /** * Check if service workers and push notifications are supported in this browser */ export declare function isSupported(): boolean; /** * Gets the registered service worker, and attempts to create one if no registration exists */ export declare function registerServiceWorker(options?: { path?: string; } | string): Promise;