web-push-notifications
Version:
Pushwoosh web push notifications
30 lines (29 loc) • 1.26 kB
TypeScript
import { type IPushServiceDefaultConfig } from './PushServiceDefault.types';
import { type Api } from '../../../../modules/Api/Api';
import { type Data } from '../../../../modules/Data/Data';
import { type IPushService, type IPushServiceSubscriptionKeys } from '../../PushService.types';
export declare class PushServiceDefault implements IPushService {
private readonly api;
private readonly data;
private readonly config;
private registration?;
constructor(api: Api, data: Data, config: IPushServiceDefaultConfig);
getPermission(): NotificationPermission;
checkIsPermissionGranted(): boolean;
checkIsPermissionDefault(): boolean;
checkIsManualUnsubscribed(): Promise<boolean>;
askPermission(): Promise<void>;
getTokens(): Promise<IPushServiceSubscriptionKeys>;
subscribe(subscription?: PushSubscription): Promise<void>;
unsubscribe(): Promise<void>;
checkIsRegister(): Promise<boolean>;
checkIsNeedResubscribe(): Promise<boolean>;
private getServiceWorkerRegistration;
private registerServiceWorker;
private trySubscribe;
private subscribePushManager;
private getCredentials;
private getPushToken;
private getApplicationServerKey;
private urlBase64ToUint8Array;
}