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.
45 lines • 2 kB
TypeScript
import { InAppOptions, InAppConfig } from '../types';
export declare class InAppNotificationManager {
private static instance;
private container;
private activeNotifications;
private config;
private constructor();
static getInstance(): InAppNotificationManager;
configure(config: InAppConfig): void;
show(options: InAppOptions): Promise<string>;
dismiss(id: string): Promise<void>;
dismissAll(): Promise<void>;
getActive(): InAppNotificationInstance[];
private createContainer;
private createNotification;
private createNotificationContent;
private getNotificationStyles;
private getDefaultIcon;
private getTypeColor;
private addStyles;
private generateId;
}
export interface InAppNotificationInstance {
id: string;
element: HTMLElement;
options: InAppOptions;
timestamp: Date;
}
export declare function showInAppNotification(options: InAppOptions, config?: InAppConfig): Promise<string>;
export declare function dismissInAppNotification(id: string): Promise<void>;
export declare function dismissAllInAppNotifications(): Promise<void>;
export declare function getActiveInAppNotifications(): InAppNotificationInstance[];
export declare function configureInAppNotifications(config: InAppConfig): void;
export declare const inApp: {
show: typeof showInAppNotification;
dismiss: typeof dismissInAppNotification;
dismissAll: typeof dismissAllInAppNotifications;
getActive: typeof getActiveInAppNotifications;
configure: typeof configureInAppNotifications;
success: (title: string, message?: string, options?: Partial<InAppOptions>) => Promise<string>;
error: (title: string, message?: string, options?: Partial<InAppOptions>) => Promise<string>;
warning: (title: string, message?: string, options?: Partial<InAppOptions>) => Promise<string>;
info: (title: string, message?: string, options?: Partial<InAppOptions>) => Promise<string>;
};
//# sourceMappingURL=inApp.d.ts.map