import type { NotificationOptions, Accountability } from '../types/index.js';
declare class NotificationService {
    private accountability?;
    private itemsService;
    constructor(params?: {
        accountability?: Accountability;
    });
    /**
     * Send notifications to multiple users
     */
    send(options: NotificationOptions): Promise<Array<string | number>>;
    /**
     * Mark notifications as seen for a user
     */
    markAsSeen(userId: string, notificationIds?: string[] | null): Promise<number>;
    /**
     * Mark notifications as unseen (unread) for a user.
     * Mirrors markAsSeen: omitting notificationIds marks ALL of the user's
     * seen notifications as unseen again.
     */
    markAsUnseen(userId: string, notificationIds?: string[] | null): Promise<number>;
    /**
     * Delete notifications for a user
     */
    deleteForUser(userId: string, notificationIds?: string[] | null): Promise<number>;
    /**
     * Get unread notifications count for a user
     */
    getUnreadCount(userId: string): Promise<number>;
    /**
     * Get user's notifications with pagination and filtering
     * bypassPermissions: true since the route already ensures users can only see their own notifications
     */
    getUserNotifications(query?: any): Promise<any>;
    /**
     * Delete old notifications based on age
     */
    cleanupOldNotifications(days?: number): Promise<number>;
}
export default NotificationService;
//# sourceMappingURL=NotificationService.d.ts.map