import { Subscription } from 'rxjs'; import { IEvent } from '../interface/IEvent'; import { EmitEvent, EmitRecord } from '../interface/Event'; import * as i0 from "@angular/core"; export declare class NgRxEventBusService { private eventRegister; private eventLastEmitted; constructor(); /** * register event with or without default value. * @param event should be IEvent type. * @param defaultValue is option if data passed BehaviorSubject type has been considered else Subject type. */ registerEvent(event: IEvent, defaultValue?: unknown): void; /** * unregister the event. * @param event should be IEvent type. */ unregisterEvent(event: IEvent, soft?: boolean): boolean; /** * Binding function to subscribe the published event. * If event has not registered, it will register the same with default Subject type * @param event should be IEvent type. * @param action callback function when something event got publish. * @param emittedValue by the event based on selected enum. */ on(event: IEvent, action: any, emittedValue?: EmitRecord): Subscription; /** * Publish event using this function. * If event has not registered it will register it with default BehaviorSubject type * @param event should be EmitEvent type. */ emit(event: EmitEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }