web-push-notifications
Version:
Pushwoosh web push notifications
53 lines (52 loc) • 2.92 kB
TypeScript
import { type MultiRegisterDeviceRequest } from './Api.types';
import { type EventBus } from '../../core/modules/EventBus';
import { type WebPopup } from '../../widgets/WebPopups/types';
import { ApiClient } from '../ApiClient/ApiClient';
import { type IMapResponse } from '../ApiClient/ApiClient.types';
import { Data } from '../Data/Data';
export declare class Api {
private readonly data;
private readonly apiClient;
private readonly eventBus;
private readonly getIsCommunicationDisabled;
constructor(eventBus: EventBus, data?: Data, apiClient?: ApiClient, getIsCommunicationDisabled?: () => boolean | undefined);
checkDevice(): Promise<IMapResponse['checkDevice']>;
checkDeviceSubscribeForPushNotifications(useCache?: boolean): Promise<boolean>;
ensureDeviceRegistered(): Promise<void>;
getConfig(features: string[]): Promise<IMapResponse['getConfig']>;
applicationOpen(): Promise<IMapResponse['applicationOpen']>;
registerDevice(): Promise<IMapResponse['registerDevice']>;
unregisterDevice(): Promise<IMapResponse['unregisterDevice']>;
deleteDevice(): Promise<IMapResponse['deleteDevice']>;
messageDeliveryEvent(hash: string, isTrackingLogOnFailure?: boolean, metaData?: {
[key: string]: any;
}): Promise<IMapResponse['messageDeliveryEvent']>;
pushStat(hash: string, isTrackingLogOnFailure?: boolean, metaData?: {
[key: string]: any;
}): Promise<IMapResponse['pushStat']>;
setTags(tags: {
[key: string]: any;
}): Promise<IMapResponse['setTags']>;
getTags(): Promise<IMapResponse['getTags']>;
setLanguage(language: string): Promise<IMapResponse['setTags']>;
registerUser(userId: string | number, isManual?: boolean): Promise<IMapResponse['registerUser']>;
registerEmail(email: string, isManual?: boolean): Promise<IMapResponse['registerEmail']>;
registerSmsNumber(number: string, isManual?: boolean): Promise<IMapResponse['registerSmsNumber']>;
registerWhatsappNumber(number: string, isManual?: boolean): Promise<IMapResponse['registerWhatsappNumber']>;
getPopupForms(): Promise<Array<WebPopup>>;
getPopupFormContent(code: string): Promise<IMapResponse['getPopupFormContent']>;
recordPopupFormEvent(code: string, event: 1 | 2): Promise<IMapResponse['recordPopupFormEvent']>;
postEvent(event: string, attributes: {
[key: string]: any;
}): Promise<IMapResponse['postEvent']>;
getInboxMessages(count?: number): Promise<IMapResponse['getInboxMessages']>;
inboxStatus(order: string, status: number): Promise<IMapResponse['inboxStatus']>;
pageVisit(config: {
title: string;
url_path: string;
url: string;
}): Promise<IMapResponse['pageVisit']>;
multiRegisterDevice(request: Partial<MultiRegisterDeviceRequest>): Promise<IMapResponse['multiRegisterDevice']>;
getParams(): Promise<any>;
private getRequestParams;
}