import { Repository } from 'typeorm';
import { Notification, NotificationType } from './notification.entity';
import { ModuleRef } from '@nestjs/core';
import { MailService } from './mail.service';
import { UsersService } from 'src/users/users.service';
export declare class NotificationsService {
    private notificationRepository;
    private mailService;
    private usersService;
    private moduleRef;
    private notificationsGateway;
    constructor(notificationRepository: Repository<Notification>, mailService: MailService, usersService: UsersService, moduleRef: ModuleRef);
    onModuleInit(): void;
    createNotification(data: {
        userId: number;
        title: string;
        message: string;
        type: NotificationType;
    }): Promise<Notification>;
    getUserNotifications(userId: number, unreadOnly?: boolean): Promise<Notification[]>;
    markAsRead(notificationId: number, userId: number): Promise<Notification | null>;
    private buildEmailTemplate;
}
