import { z } from 'zod'; /** * Zod schema for the WebPushToken model. * Defines the structure and validation rules for this data type. * This is the shape used in application code - what developers interact with. */ export declare const webPushToken: z.ZodLazy>; endpoint: z.ZodString; id: z.ZodString; keys: z.ZodLazy>; updatedAt: z.ZodNullable>; }, "strip", z.ZodTypeAny, { keys: { auth: string; p256dh: string; }; createdAt: string; id: string; endpoint: string; updatedAt?: string | null | undefined; discardedAt?: string | null | undefined; }, { keys: { auth: string; p256dh: string; }; createdAt: string; id: string; endpoint: string; updatedAt?: string | null | undefined; discardedAt?: string | null | undefined; }>>; /** * * @typedef {WebPushToken} webPushToken * @property {string} - The timestamp when the token was created. * @property {string} - The timestamp when the token was discarded, if applicable. * @property {string} - The push subscription URL obtained from PushSubscription.endpoint after calling registration.pushManager.subscribe(). This is the unique URL for this device that push messages will be sent to. * @property {string} - The unique identifier for the token. * @property {WebPushTokenKeys} - The encryption keys from the PushSubscription.getKey() method, needed to encrypt push messages for this subscription. * @property {string} - The timestamp when the token metadata last changed. */ export type WebPushToken = z.infer; /** * Zod schema for mapping API responses to the WebPushToken application shape. * Handles any property name transformations from the API schema. * If property names match the API schema exactly, this is identical to the application shape. */ export declare const webPushTokenResponse: z.ZodLazy>; endpoint: z.ZodString; id: z.ZodString; keys: z.ZodLazy, { auth: string; p256dh: string; }, { auth: string; p256dh: string; }>>; updated_at: z.ZodNullable>; }, "strip", z.ZodTypeAny, { keys: { auth: string; p256dh: string; }; id: string; created_at: string; endpoint: string; updated_at?: string | null | undefined; discarded_at?: string | null | undefined; }, { keys: { auth: string; p256dh: string; }; id: string; created_at: string; endpoint: string; updated_at?: string | null | undefined; discarded_at?: string | null | undefined; }>, { createdAt: string; discardedAt: string | null | undefined; endpoint: string; id: string; keys: { auth: string; p256dh: string; }; updatedAt: string | null | undefined; }, { keys: { auth: string; p256dh: string; }; id: string; created_at: string; endpoint: string; updated_at?: string | null | undefined; discarded_at?: string | null | undefined; }>>; /** * Zod schema for mapping the WebPushToken application shape to API requests. * Handles any property name transformations required by the API schema. * If property names match the API schema exactly, this is identical to the application shape. */ export declare const webPushTokenRequest: z.ZodLazy>; endpoint: z.ZodString; id: z.ZodString; keys: z.ZodLazy, { auth: string; p256dh: string; }, { auth: string; p256dh: string; }>>; updatedAt: z.ZodNullable>; }, "strip", z.ZodTypeAny, { keys: { auth: string; p256dh: string; }; createdAt: string; id: string; endpoint: string; updatedAt?: string | null | undefined; discardedAt?: string | null | undefined; }, { keys: { auth: string; p256dh: string; }; createdAt: string; id: string; endpoint: string; updatedAt?: string | null | undefined; discardedAt?: string | null | undefined; }>, { created_at: string; discarded_at: string | null | undefined; endpoint: string; id: string; keys: { auth: string; p256dh: string; }; updated_at: string | null | undefined; }, { keys: { auth: string; p256dh: string; }; createdAt: string; id: string; endpoint: string; updatedAt?: string | null | undefined; discardedAt?: string | null | undefined; }>>; //# sourceMappingURL=web-push-token.d.ts.map