import { ClsService } from "nestjs-cls"; import { JsonApiService } from "../../../core/jsonapi/services/jsonapi.service"; import { AbstractService } from "../../../core/neo4j/abstracts/abstract.service"; import { Notification, NotificationDescriptor } from "../../notification/entities/notification"; import { NotificationRepository } from "../../notification/repositories/notification.repository"; /** * `find`/`findById` are named `findForUser`/`findByIdForUser` — their required * `userId`/`notificationId` params are incompatible overrides of * `AbstractService.find(params: {query, term?, fetchAll?, orderBy?})` / * `findById(params: {id})`. Both are only called from this module's own * controller, so the rename is safe (mirrors the repository's rename for the * same reason). * * Responses are built with `this.descriptor.model` rather than the imported * `NotificationDescriptor.model`, so a subclass that overrides `descriptor` * with an extended notification descriptor serialises its own attributes and * relationships without having to re-implement these methods. */ export declare class NotificationServices extends AbstractService { private readonly notificationRepository; protected readonly descriptor: import("../../..").EntityDescriptor; constructor(builder: JsonApiService, notificationRepository: NotificationRepository, clsService: ClsService); findForUser(params: { query: any; userId: string; isArchived?: boolean; }): Promise; findByIdForUser(params: { notificationId: string; userId: string; }): Promise; markAsRead(params: { userId: string; notificationIds: string[]; }): Promise; archive(params: { notificationId: string; }): Promise; } //# sourceMappingURL=notification.service.d.ts.map