import { IAuthUserWithPermissions , IServiceConfig } from '@sourceloop/core' ; import { Config } from 'loopback4-notifications' ; import { Notification , NotificationUser } from './models' ; export interface IChannelManager { isChannelAccessAllowed ( user , config ) : boolean ; } export interface INotificationUserManager { getNotifUsers ( notif ) : Promise < NotificationUser [ ] > ; } export interface INotifServiceConfig extends IServiceConfig { useCustomEmailProvider : boolean ; useCustomSMSProvider : boolean ; useCustomPushProvider : boolean ; } export type INotificationFilterFunc = ( notif : Notification ) => Promise < Notification > ; export const NotifDbSourceName = 'NotifDb' ; export const NotifAccessCacheSourceName = 'NotifAccessCache' ;