import { Repository } from 'typeorm';
import { Notification, NotificationType } from './entities/notification.entity';
import { User } from '../users/entities/user.entity';
export declare class NotificationsService {
    private readonly notificationRepo;
    constructor(notificationRepo: Repository<Notification>);
    findAll(userId: number): Promise<{
        notifications: Notification[];
        unread_count: number;
    }>;
    markAsRead(id: number, userId: number): Promise<Notification | null>;
    markAllAsRead(userId: number): Promise<{
        updated: number;
    }>;
    create(user: User, type: NotificationType, message: string, link?: string): Promise<Notification>;
    remove(id: number, userId: number): Promise<{
        message: string;
    }>;
    removeAllRead(userId: number): Promise<{
        deleted: number;
    }>;
    countUnread(userId: number): Promise<{
        count: number;
    }>;
}
