import type { SzPlatformClient } from '../classes.platformclient.js'; import * as plugins from '../plugins.js'; export interface IServiceWebPushCredentials { typedUrl: string; credentialId: string; credentialSecret: string; } export interface IServiceWebPushConfigurationStatus { configured: boolean; typedUrl?: string; credentialIdConfigured: boolean; credentialSecretConfigured: boolean; missing: string[]; } export interface IServiceWebPushEnqueueOptions extends Omit { } export type TServiceWebPushCancellationTarget = plugins.servezoneInterfaces.data.TWebPushCancellationTarget; /** * Credential-scoped Web Push delivery for a deployed service. * * This connector is separate from the legacy device-token push connector. It * only accepts the service credential injected into the workload and never * sends a caller-provided owner scope. */ export declare class SzWebPushConnector { platformClientRef: SzPlatformClient; private webPushTypedSocket?; private webPushTypedSocketUrl?; private webPushTypedSocketPromise?; private webPushTypedSocketAbortController?; constructor(platformClientRefArg: SzPlatformClient); getConfigurationStatus(): Promise; getWebPushServiceStatus(): Promise; getWebPushPublicKey(): Promise; enqueueWebPush(optionsArg: IServiceWebPushEnqueueOptions): Promise; cancelWebPush(targetArg: TServiceWebPushCancellationTarget): Promise; getWebPushDeliveryStatus(spoolItemIdArg: string): Promise; stop(): Promise; private getAuthenticatedClient; private getCredentials; private readWebPushEnv; private normalizeCredentialBundle; private hasCredentialBundleValue; private normalizeConfigValue; private getWebPushTypedSocket; private normalizeTypedSocketUrl; }