@kwikpik/server-libs
Version:
Kwikpik-Server-Libs ===================================================================================================================================================================================================
71 lines (70 loc) • 1.83 kB
TypeScript
import { type Subscription, Notification as OSNotification } from "@onesignal/node-onesignal";
export interface OSAppConfig {
appId: string;
restApiKey: string;
appName: string;
}
type NotificationMessage = {
message: string;
title: string;
additionalData?: Record<string, any>;
};
type NotificationPayload = Omit<OSNotification, "app_id"> & {
appName: string;
content: NotificationMessage;
targetType: "subscription_id" | "alias";
targetData:
| string[]
| {
[key: string]: string[];
};
additionalData?: Record<string, any>;
};
declare class LocalPNInstance {
private $apps;
constructor(userAuthKey: string, configs: OSAppConfig[]);
static createLocalPNInstance(userAuthKey: string, configs: OSAppConfig[]): LocalPNInstance;
createPNUser(
appName: string,
aliasLabel: string,
aliasId: string,
delayMS?: number
): Promise<{
id: string;
}>;
createPNSubscription(
appName: string,
aliasLabel: string,
aliasId: string,
type:
| "ios"
| "android"
| "chrome"
| "windows"
| "firefox"
| "safari"
| "huawei"
| "chrome-extension"
| "fireos"
| "macos",
token: string,
delayMS?: number
): Promise<Subscription>;
deletePNSubscription(appName: string, subId: string): Promise<void>;
createPN({
appName,
content,
targetType,
targetData,
...payload
}: NotificationPayload): Promise<import("@onesignal/node-onesignal").CreateNotificationSuccessResponse>;
}
/**
*
* @param userAuthKey OneSignal application ID
* @param configs List of configurations for multiple apps
* @returns
*/
export declare const initializePNInstance: (userAuthKey: string, configs: OSAppConfig[]) => LocalPNInstance;
export {};
//# sourceMappingURL=push-notification.d.ts.map