@simplito/privmx-webendpoint
Version:
PrivMX Web Endpoint library
25 lines (24 loc) • 1.47 kB
TypeScript
import { Types } from "..";
import { SubscriberForInboxEvents, SubscriberForUserEvents, SubscriberForEvents, SubscriberForKvdbEvents, SubscriberForStoreEvents, SubscriberForThreadsEvents } from "./subscriptions";
import { BaseEventDispatcherManager, ConnectionEventsManager, CustomEventsManager, InboxEventsManager, KvdbEventsManager, StoreEventsManager, ThreadEventsManager, UserEventsManager } from "./managers";
export declare class EventManager {
private _isEventLoopRunning;
dispatchers: ((event: Types.Event) => void)[];
private eventsQueue;
constructor();
private listenForEvents;
static startEventLoop(eventQueue: {
waitEvent: () => Promise<Types.Event>;
}): EventManager;
stopEventLoop(): void;
removeAllDispatchers: () => void;
protected onEvent(event: Types.Event): void;
registerDispatcher(manager: BaseEventDispatcherManager): void;
getThreadEventManager(threadApi: SubscriberForThreadsEvents): ThreadEventsManager;
getStoreEventManager(storeApi: SubscriberForStoreEvents): StoreEventsManager;
getKvdbEventManager(kvdbApi: SubscriberForKvdbEvents): KvdbEventsManager;
getInboxEventManager(inboxApi: SubscriberForInboxEvents): InboxEventsManager;
getCustomEventsManager(eventApi: SubscriberForEvents): CustomEventsManager;
getConnectionEventManager(connectionId: string): ConnectionEventsManager;
getUserEventsManager(connectionApi: SubscriberForUserEvents): UserEventsManager;
}