web-push-notifications
Version:
Pushwoosh web push notifications
48 lines (47 loc) • 2.62 kB
TypeScript
import { type SetPurchaseAttributes, type MultiRegisterDeviceRequest } from './Api.types';
import { type EventBus } from '../../core/modules/EventBus';
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>;
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']>;
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']>;
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']>;
setPurchase(attributes: SetPurchaseAttributes): Promise<IMapResponse['setPurchase']>;
multiRegisterDevice(request: Partial<MultiRegisterDeviceRequest>): Promise<IMapResponse['multiRegisterDevice']>;
getParams(): Promise<any>;
private getRequestParams;
}