import { IDIService } from "../IDIService"; export interface IAndroidNotificationsService extends IDIService { CheckNotificationPermissionAsync(): Promise; RequestNotificationPermissionAsync(): Promise; IsAndroidNotificationsAvailable(): boolean; GetDeviceFirebaseTokenAsync(): Promise; GetNotificationsQueueAsync(): Promise; } export interface INotificationsQueue { /** Event that is triggered when new notifications arrive. */ OnNotificationsRecived?: (recivedNotificationInfo: ILavvaNotificationRecived) => void; /** Pulls all pending notifications from the native queue. */ GetNotificationsFromQueueAsync(): Promise; /** * Pulls a single notification by its GUID. * @param guid The GUID of the notification to retrieve - recived by OnNotificationsRecived event obj. . */ GetNotificationByGuidAsync(guid: string): Promise; } export interface ILavvaNotification { RecivedAt: Date; Title: string; Body: string; Icon: string; Data: Record; Intent: string | null; } export interface ILavvaNotificationRecived { /** Number of items in the push queue */ PushQueueCnt: number; /** GUID of the newly received element */ NewElementGuid: string; /** True if this was an intent-based push notification (event was emitted when user clicks on intent) */ IsIntentPush: boolean; } export declare class AndroidNotificationsService implements IAndroidNotificationsService { static readonly ServiceName: string; IsAndroidNotificationsAvailable(): boolean; CheckNotificationPermissionAsync(): Promise; RequestNotificationPermissionAsync(): Promise; GetDeviceFirebaseTokenAsync(): Promise; GetNotificationsQueueAsync(): Promise; GetServiceName(): string; }