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; }): 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; }