import { InjectionToken, Injector, Type } from '@angular/core'; import { BehaviorSubject, Subscription } from 'rxjs'; import { ConfigurationService } from '../../shared/services/configuration.service'; import * as i0 from "@angular/core"; export declare enum ServerEventServiceStatus { Connecting = 0, Open = 1, Closed = 2 } export declare interface ServerEvent { id?: string; additionalType?: string; entitySet?: string; entityType?: string; entityAction?: string; target?: any; result?: any; status?: any; error?: any; recipient?: string; scope?: string; dateCreated?: Date; } export declare interface ServerEventSubscriber { subscribe(event: T): void; } export declare let SERVER_EVENT_SUBSCRIBERS: InjectionToken[]>; export declare let SERVER_EVENT_CHILD_SUBSCRIBERS: InjectionToken[]>; export declare class ServerEventService { private configuration; private injector; private addSubscribers; message: BehaviorSubject; error: BehaviorSubject; private eventSource; private _heartbeatTimeout; private _heartbeatInterval; private activatedUser; subscribers: Map; private destroy$; constructor(configuration: ConfigurationService, injector: Injector, addSubscribers: Array>); closeSubscription(): void; load(): void; /** * Adds a server event subscriber * @param token */ subscribe(token: Type): void; /** * Removes a server event subscriber * @param token */ unsubscribe(token: Type): void; protected get source(): string; protected get heartbeatTimeout(): number; get status(): ServerEventServiceStatus; openAsync(): Promise; private getUserSync; open(): this; protected onMessage(ev: any): void; protected onError(ev: any): void; close(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }