import { AclActionType } from './acl'; export declare enum NotificationPriority { HIGH = 1, NORMAL = 2 } export declare enum MessageEvent { CHANNEL_OA_STATUS = "channel.oa.status", CHANNEL_INFO = "channel.info", CHANNEL_REQUEST = "channel.request", CHANNEL_RCS_CARRIER_STATUS = "channel.rcs.carrier.status", TEMPLATE_REQUEST = "template.request", TEMPLATE_APPROVE = "template.approve", TEMPLATE_REJECT = "template.reject", TEMPLATE_DELETE = "template.delete", TEMPLATE_UPDATE = "template.update", COMPANY_KYC_REQUEST = "company.kyc.request", COMPANY_KYC_REJECT = "company.kyc.reject", COMPANY_KYC_APPROVE = "company.kyc.approve", COMPANY_SUSPEND = "company.suspend", COMPANY_SUSPEND_BO_SA = "company.suspend.BO_SA", BACKGROUND_TASK = "background.task", BALANCE_ALERT = "balance.alert", BULK_DONE = "bulk.done", BULK_FINISHED = "bulk.finished", WEBHOOK = "webhook", VNA_SUMMARY_CHECK_IN_REPORT = "VNA_SUMMARY_CHECK_IN_REPORT", CONVERSATION_MESSAGE = "conversation.message", CONVERSATION_LIVE_AGENT = "conversation.live_agent", TICKET_ASSIGN = "ticket.assign", TICKET_NO_AGENT = "ticket.no_agent", TICKET_TRANSFER = "ticket.transfer", USER_INVITE = "user.invite", ORDER_CREATE = "order.create", ORDER_STATUS = "order.status", MONITOR_ALERT = "monitor.alert" } export declare enum NotificationType { CHANNEL_OA_STATUS = 1, CHANNEL_REQUEST = 2, TEMPLATE_REQUEST = 3, TEMPLATE_APPROVE = 4, TEMPLATE_REJECT = 5, TEMPLATE_DELETE = 6, COMPANY_KYC_REQUEST = 7, COMPANY_KYC_REJECT = 8, COMPANY_KYC_APPROVE = 9, COMPANY_SUSPEND = 10, COMPANY_SUSPEND_BO_SA = 11, BACKGROUND_TASK = 12, BALANCE_ALERT = 13, BULK_DONE = 14, BULK_FINISHED = 15, WEBHOOK = 16, VNA_SUMMARY_CHECK_IN_REPORT = 17, CONVERSATION_MESSAGE = 18, CONVERSATION_LIVE_AGENT = 19, TICKET_ASSIGN = 20, USER_INVITE = 21, ORDER_CREATE = 22, ORDER_STATUS = 23, MONITOR_ALERT = 24, CHANNEL_INFO = 25, TICKET_NO_AGENT = 26, TICKET_TRANSFER = 27, TEMPLATE_UPDATE = 28, CHANNEL_RCS_CARRIER_STATUS = 29 } export declare const mappingNotificationMessageToType: (messageEvent: MessageEvent) => NotificationType; export interface ReceiverPermission { permission: number; aclType: AclActionType; isInclude?: boolean; userId?: number; companyId?: number; } export declare enum NotificationChannel { WEB = "WEB", EMAIL = "EMAIL", SMS = "SMS" } export declare enum NotificationConversationStatus { PENDING = 0, SUCCESS = 1, FAIL = 2 } export interface Receiver { fullName: string; email: string; phone: string; } export interface NotificationMessage { message: MessageEvent; type?: NotificationType; priority: NotificationPriority; excludeUser?: Array; includeReceiver?: Array; companyId: number; params?: any; receiver: Array; channels?: Array; }