notification-kit
Version:
A unified notification library for React + Capacitor apps. One API for push notifications, in-app notifications, and local notifications across Web, iOS, and Android.
39 lines • 1.59 kB
TypeScript
import { NotificationProvider, FirebaseConfig, PushNotificationPayload, PermissionStatus, ProviderCapabilities } from '../types';
export declare class FirebaseProvider implements NotificationProvider {
readonly name = "firebase";
readonly type: "firebase";
private app;
private messaging;
private config;
private currentToken;
private messageListeners;
private tokenListeners;
private errorListeners;
private unsubscribeMessage;
init(config: FirebaseConfig): Promise<void>;
destroy(): Promise<void>;
requestPermission(): Promise<boolean>;
checkPermission(): Promise<PermissionStatus>;
getToken(): Promise<string>;
refreshToken(): Promise<string>;
deleteToken(): Promise<void>;
subscribe(topic: string): Promise<void>;
unsubscribe(topic: string): Promise<void>;
getSubscriptions(): Promise<string[]>;
sendNotification(_payload: PushNotificationPayload): Promise<void>;
onMessage(callback: (payload: PushNotificationPayload) => void): () => void;
onTokenRefresh(callback: (token: string) => void): () => void;
onError(callback: (error: Error) => void): () => void;
isSupported(): Promise<boolean>;
getCapabilities(): Promise<ProviderCapabilities>;
private initializeMessaging;
private requestNativePermission;
private checkNativePermission;
private requestWebPermission;
private checkWebPermission;
private callTopicAPI;
private notifyMessageListeners;
private notifyTokenListeners;
private handleError;
}
//# sourceMappingURL=FirebaseProvider.d.ts.map