import { EmitterSubscription } from 'react-native'; import { AccountInfo, TPushEvent, Result, TokenResult, MessageResult } from './types'; export * from './types'; export default class TPush { /**************************************************************************************/ /*** TPNS注册等接口   ***/ /**************************************************************************************/ static enableDebug(enable: boolean): void; static register(appId?: string, appKey?: string, domainName?: string): void; static unregister(): void; /** * 获取Xg的token * App 第一次注册会产生 Token,之后一直存在手机上,不管以后注销注册操作,该 Token 一直存在, * 当 App 完全卸载重装了 Token 会发生变化。不同 App 之间的 Token 不一样。 */ static getToken(): Promise; /***********************************************************************************************/ /*** 账号相关接口 ***/ /***********************************************************************************************/ static upsertAccounts(accounts: AccountInfo[]): void; static delAccounts(types: number[]): void; static clearAccounts(): void; /******************************************************************************************/ /*** 标签相关接口 ***/ /******************************************************************************************/ static addTags(tags: string[]): void; static setTags(tags: string[]): void; static delTags(tags: string[]): void; static clearTags(): void; /******************************************************************************************/ /*** 属性相关接口 ***/ /******************************************************************************************/ static addAttrs(attrs: { [key: string]: string; }): void; static setAttrs(attrs: { [key: string]: string; }): void; static delAttrs(keys: string[]): void; static clearAttrs(): void; /*******************************************************************************************/ /*** 角标管理仅iOS ***/ /*******************************************************************************************/ static setBadge(badgeSum: number): void; static setAppBadge(badgeSum: number): void; /***********************************************************************************************/ /*** TPNS 事件 ***/ /***********************************************************************************************/ static addListener(event: TPushEvent, callback: (data: Result) => void): EmitterSubscription; static removeListener(event: TPushEvent, callback: (data: any) => void): void; static removeListeners(event: TPushEvent): void; static removeAllListeners(): void; static onRegister(callback: (data: TokenResult) => void): EmitterSubscription; static onNoticeReceived(callback: (data: MessageResult) => void): EmitterSubscription; static onNoticeClicked(callback: (data: MessageResult) => void): EmitterSubscription; static onMessageReceived(callback: (data: MessageResult) => void): EmitterSubscription; /***********************************************************************************************/ /*** 仅 Android ***/ /***********************************************************************************************/ static setHeartbeat(heartbeat: number): void; static enableOtherPush(enable: boolean): void; static setMiPush(appId: string, appKey: string): void; static setMzPush(appId: string, appKey: string): void; /** * 在调用 register 前调用以下代码: * 在应用首次启动时弹出通知栏权限请求窗口,应用安装周期内,提示弹窗仅展示一次。 * 需 TPNS-OPPO 依赖包版本在 1.1.5.1 及以上支持,系统 ColorOS 5.0 以上有效。 */ static enableOppoNotification(enable: boolean): void; static setOppoPush(appId: string, appKey: string): void; }