import { MTableQueries } from "../../common-types/common"; import { controllerResponse } from "../../utilities"; type INotificationErrorLogger = { [key in keyof NotificationListPayload]: string; }; type INotificationGetByIdErrorLogger = { [key in keyof NotificationGetByIdPayload]: string; }; type INotificationCreateErrorLogger = { [key in keyof NotificationCreatePayload]: string; }; type INotificationMarkReadErrorLogger = { [key in keyof NotificationMarkReadPayload]: string; }; declare class NotificationListPayload extends MTableQueries { not_id_user?: string; not_status?: string; not_type?: string; not_category?: string; not_priority?: string; constructor(init: NotificationListPayload); Validate?(): Partial; } declare class NotificationGetByIdPayload { not_id?: string; constructor(init: NotificationGetByIdPayload); Validate?(): Partial; } declare class NotificationCreatePayload { not_id_user?: string; not_type?: 'info' | 'success' | 'warning' | 'error' | 'system'; not_category?: string; not_title?: string; not_message?: string; not_data?: any; not_action_url?: string; not_action_label?: string; not_priority?: 'low' | 'normal' | 'high' | 'urgent'; not_channels?: { in_app?: boolean; email?: boolean; sms?: boolean; }; not_expires_at?: Date; not_id_created_by?: string; constructor(init: NotificationCreatePayload); Validate?(): Partial; } declare class NotificationMarkReadPayload { not_id?: string; constructor(init: NotificationMarkReadPayload); Validate?(): Partial; } declare class NotificationResponse { _id?: string; not_id_user?: string | { _id?: string; name?: string; email?: string; }; not_type?: 'info' | 'success' | 'warning' | 'error' | 'system'; not_category?: string; not_title?: string; not_message?: string; not_data?: any; not_action_url?: string; not_action_label?: string; not_status?: 'pending' | 'sent' | 'delivered' | 'read' | 'archived'; not_read_at?: Date; not_delivered_at?: Date; not_archived_at?: Date; not_channels?: { in_app?: boolean; email?: boolean; sms?: boolean; }; not_priority?: 'low' | 'normal' | 'high' | 'urgent'; not_expires_at?: Date; not_id_created_by?: string | { _id?: string; name?: string; email?: string; }; not_created_at?: Date; not_updated_at?: Date; } interface notificationControllerResponse extends controllerResponse { data?: NotificationResponse[]; total?: number; } interface notificationByIdControllerResponse extends controllerResponse { data?: NotificationResponse; } interface notificationCreateControllerResponse extends controllerResponse { data?: NotificationResponse; } interface notificationMarkReadControllerResponse extends controllerResponse { data?: NotificationResponse; } interface notificationUnreadCountControllerResponse extends controllerResponse { data?: { count: number; }; } export { INotificationErrorLogger, INotificationGetByIdErrorLogger, INotificationCreateErrorLogger, INotificationMarkReadErrorLogger, NotificationListPayload, NotificationGetByIdPayload, NotificationCreatePayload, NotificationMarkReadPayload, notificationControllerResponse, notificationByIdControllerResponse, notificationCreateControllerResponse, notificationMarkReadControllerResponse, notificationUnreadCountControllerResponse, NotificationResponse };