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.
49 lines • 2.43 kB
TypeScript
import { InAppNotificationInstance } from '../../utils/inApp';
import { InAppOptions, InAppConfig } from '../../types';
export interface UseInAppNotificationState {
activeNotifications: InAppNotificationInstance[];
isConfigured: boolean;
config: InAppConfig | null;
}
export interface UseInAppNotificationReturn extends UseInAppNotificationState {
configure: (config: InAppConfig) => void;
show: (options: InAppOptions) => Promise<string>;
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>;
dismiss: (id: string) => Promise<void>;
dismissAll: () => Promise<void>;
getActive: () => InAppNotificationInstance[];
hasActive: boolean;
activeCount: number;
onShow: (callback: (notification: InAppNotificationInstance) => void) => () => void;
onDismiss: (callback: (id: string) => void) => () => void;
}
export declare function useInAppNotification(): UseInAppNotificationReturn;
export declare function useInAppNotificationSimple(): {
show: (options: InAppOptions) => Promise<string>;
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>;
dismiss: (id: string) => Promise<void>;
dismissAll: () => Promise<void>;
hasActive: boolean;
activeCount: number;
};
export declare function useInAppNotificationQueue(): {
queue: InAppOptions[];
queueLength: number;
isProcessing: boolean;
enqueue: (options: InAppOptions) => void;
processQueue: () => Promise<void>;
clearQueue: () => void;
};
export declare function useInAppNotificationPersistence(): {
persistedNotifications: InAppNotificationInstance[];
saveNotifications: () => void;
loadNotifications: () => void;
clearPersistence: () => void;
};
//# sourceMappingURL=useInAppNotification.d.ts.map