web-push-notifications
Version:
Pushwoosh web push notifications
65 lines (64 loc) • 1.7 kB
TypeScript
export interface IPushServiceSubscriptionKeys {
pushToken?: string;
publicKey?: string;
authToken?: string;
endpoint?: string;
}
export declare abstract class IPushService {
/**
* Get current status of permission for send notifications.
*
* @return { NotificationPermission }
*/
abstract getPermission(): NotificationPermission;
/**
* Check is permission granted.
*
* @return { boolean }
*/
abstract checkIsPermissionGranted(): boolean;
/**
* Check is permission default.
*
* @return { boolean }
*/
abstract checkIsPermissionDefault(): boolean;
/**
* Check is manual unsubscribed for push notifications.
*/
abstract checkIsManualUnsubscribed(): Promise<boolean>;
/**
* Request permission for send notifications.
*
* @return { Promise<void> }
*/
abstract askPermission(): Promise<void>;
/**
* Get subscription keys for send push notifications.
*
* @return { Promise<IPushServiceSubscriptionKeys> }
*/
abstract getTokens(): Promise<IPushServiceSubscriptionKeys>;
/**
* Subscribe for push notifications.
*
* @return { Promise<void> }
*/
abstract subscribe(): Promise<void>;
/**
* Unsubscribe for push notifications.
*
* @return { Promise<void> }
*/
abstract unsubscribe(): Promise<void>;
/**
* Check can receive notifications from Pushwoosh.
*
* @return { Promise<boolean> }
*/
abstract checkIsRegister(): Promise<boolean>;
/**
* Check is change sender configuration
*/
abstract checkIsNeedResubscribe(): Promise<boolean>;
}