import { Model, Types } from "mongoose";
import { Notification } from "src/schema/notificatiom.schema";
import { CreateNotificationDto } from "./dto/create-notification.dto";
import { ResponseService } from "src/common/service/response.service";
import { Response } from "express";
export declare class NotificationService {
    private notificationModel;
    private userModel;
    private mapEmployeeAdminModel;
    private resService;
    constructor(notificationModel: Model<Notification>, userModel: Model<Notification>, mapEmployeeAdminModel: Model<Notification>, resService: ResponseService);
    createNotification(res: Response, createNotificationDto: CreateNotificationDto, senderId: string, role: string): Promise<Response<any, Record<string, any>>>;
    getUserNotifications(res: Response, userId: string): Promise<Response<any, Record<string, any>>>;
    markAsRead(notificationId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    markAllAsRead(userId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    createNotificationLogic(createNotificationDto: CreateNotificationDto, senderId: string, isAdmin: boolean, isEmployee: boolean): Promise<(import("mongoose").Document<unknown, {}, Notification, {}, {}> & Notification & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
}
