import { ZPNsEventHandler } from './ZPNsEventHandler'; import { ZPNsMessage, ZPNsConfig, ZPNsLocalMessage, ZPNsNotificationChannel, ZPNsIOSNotificationArrivedConfig, ZPNsIOSEnvironment } from './ZPNsDefines'; export default class ZPNs { private static _instatance; private evs; /** * Gets the SDK's version number. * * When the SDK is running, the developer finds that it does not match the expected situation and submits the problem and related logs to the ZEGO technical staff for locating. The ZEGO technical staff may need the information of the engine version to assist in locating the problem. * Developers can also collect this information as the version information of the engine used by the app, so that the SDK corresponding to each version of the app on the line. * @return {string} - SDK version */ static getVersion(): Promise; /** * Get ZPNs Instance */ static getInstance(): ZPNs; /** * Use debug environment. The default value is false. */ static enableDebug(isDebug: boolean): Promise; static setPushConfig(config: ZPNsConfig): Promise; /** * Android Only * Register the background service by registerHeadlessTask. */ static setBackgroundMessageHandler(handler: (message: ZPNsMessage) => void): void; /** * Register ZPNs Event * @param type * @param listener */ on(type: K, listener: ZPNsEventHandler[K]): void; /** * Unregister ZPNs Event * @param type */ off(type: K): void; /** * Apply notification permission. iOS Only */ applyNotificationPermission(): Promise; /** * Register push */ registerPush(config?: { enableIOSVoIP: boolean; iOSEnvironment: ZPNsIOSEnvironment; iOSNotificationArrivedConfig: ZPNsIOSNotificationArrivedConfig; }): Promise; unregisterPush(): Promise; /** * Android Only */ createNotificationChannel(channel: ZPNsNotificationChannel): void; addLocalNotification(message: ZPNsLocalMessage): void; /** * IOS Only */ setServerBadge(badge: number): void; setLocalBadge(badge: number): void; } export { ZPNs };