import { Service } from '../Core/index'; import { NotifiableDeviceRegistration, NotificationMessage, NotificationSendStatus } from './NotifTypes'; /** * Push Notifications * * Native Push Notifications for Android, iOS * * * * */ export declare class Notif extends Service { /** * Get deployment type associated to Notif service * @return {string} */ static readonly DEPLOYMENT_TYPE: string; /** * Get default deployment id associated to Notif service * @return {string} */ static readonly DEFAULT_DEPLOYMENT_ID: string; /** * Notification User API * * User API for notifications. * For notifications to work properly, it is imperative that the resource name of a device remain constant over time. * @access public * */ /** * Registers a device * * Registers the device for the current user and resource. * This service maintains a mapping of __userkey/__resource to device registration IDs. * You MUST NOT re-use the same resource name from one device to another if you want to target specific devices with 'send'. * Only one registration can be active for a given __userKey/__resource pair in a notification service. * Device registration can be neither impersonated nor called indirectly (from a scheduled job). * @access public * */ register(body: NotifiableDeviceRegistration): void; /** * Sends a notification to the target * * Sends a native push notification to the target. * @access public * */ send(body: NotificationMessage): Promise; /** * Unregisters a device * * Unregisters the device for the current user and resource. * This verb does not need any parameters. * @access public * */ unregister(): void; }