import { d as BaseConfig, P as PushPayload } from "../../../packem_shared/types.d-C7l7qdMG.js"; import { a as ProviderFactory } from "../../../packem_shared/provider.d-Dh32nRm9.js"; /** * A W3C Push API subscription. The `to` field of a push payload carries one of these * (as an object, or its JSON string form) when targeting the web-push provider. */ interface PushSubscriptionLike { /** The push service endpoint URL the encrypted payload is delivered to. */ endpoint: string; /** The subscription's client public key (`p256dh`) and auth secret (`auth`), base64url. */ keys: { auth: string; p256dh: string; }; } interface WebPushConfig extends BaseConfig { /** Time-to-live in seconds the push service should retain the message (default 2419200). */ ttl?: number; /** Default delivery urgency hint (`very-low` | `low` | `normal` | `high`). */ urgency?: "high" | "low" | "normal" | "very-low"; /** Application server private VAPID key (base64url, raw P-256 scalar `d`). */ vapidPrivateKey: string; /** Application server public VAPID key (base64url, uncompressed P-256 point). */ vapidPublicKey: string; /** VAPID `sub` claim — a `mailto:` or `https:` contact for the app server. */ vapidSubject: string; } /** * Web Push provider (VAPID + RFC 8291 `aes128gcm`). Fully edge-safe — JWT signing and * payload encryption run on Web Crypto (ECDSA/ECDH P-256, HKDF, AES-GCM); no `node:*`. * The `to` target carries a Push API subscription (object or its JSON string form). * @see https://datatracker.ietf.org/doc/html/rfc8291 * @see https://datatracker.ietf.org/doc/html/rfc8292 */ declare const webPushProvider$1: ProviderFactory; /** @deprecated Renamed to `createWebPushProvider`; removed in the next major. */ declare const webPushProvider: typeof webPushProvider$1; export { type PushSubscriptionLike, type WebPushConfig, webPushProvider$1 as createWebPushProvider, webPushProvider };