import { BpmsEngine } from '../BpmsEngine'; import { QueryOptions, QueryResult, ScalarOptions, FilterExpression, IdExpression } from '../data/Repository'; import { NotificationRepository } from './NotificationRepository'; import { BpmsService } from '../BpmsService'; export interface NotificationServiceOptions { notificationRepository?: NotificationRepository; name: string; } export interface BpmsNotification { id: string; message: string; type: string; route: string; to: string; delivered?: boolean; deliveredAt: boolean; seen?: boolean; seenAt?: boolean; userId?: IdExpression; } export declare class NotificationService implements BpmsService { private bpmsEngine?; private notificationRepository; private id; private options; constructor(bpmsEngine?: BpmsEngine | undefined, options?: NotificationServiceOptions); static createService(options?: NotificationServiceOptions): NotificationService; static createService(bpmsEngine?: BpmsEngine, options?: NotificationServiceOptions): NotificationService; get Id(): string; get Name(): string; get BpmsEngine(): BpmsEngine | undefined; clear(): Promise; create(entity: T): Promise; remove(entityId: string): Promise; find(entityId: string): Promise; list(filter?: FilterExpression): Promise; count(filter?: FilterExpression): Promise; query(options: QueryOptions): Promise>; scalar(options: ScalarOptions): Promise; }