export declare type ChatEventName = 'messageSend' | 'messageSendError' | 'messageReceive' | 'messageReceiveError' | 'messageLoad' | 'messageLoadError' | 'subscriptionStart' | 'subscriptionError' | 'pollingStart' | 'pollingError' | 'roomInactive' | 'userJoin' | 'userLeave' | 'userOnline' | 'userOffline' | 'joinRoomError' | 'userTypingStart' | 'userTypingEnd' | 'assigned'; export declare type ChatEventPayload = { roomId: string; data?: any; }; export declare type ChatEventHandler = (payload: ChatEventPayload) => void; declare class EventManager { private handlers; constructor(); emit(name: ChatEventName, payload: ChatEventPayload): void; register(name: ChatEventName, handler: ChatEventHandler): void; } export default EventManager;