import EventEmitter from 'eventemitter3'; import { WacapEventType, EventHandler, WacapEventData, ConnectionEventData, MessageEventData, GroupParticipantEventData, PresenceEventData } from '../types'; /** * Event manager for handling WhatsApp events * Provides a simple interface for webhook integration */ export declare class EventManager { private emitter; private sessionId; constructor(sessionId: string); /** * Register an event handler */ on(event: WacapEventType, handler: EventHandler): void; /** * Register a one-time event handler */ once(event: WacapEventType, handler: EventHandler): void; /** * Remove an event handler */ off(event: WacapEventType, handler: EventHandler): void; /** * Remove all event handlers */ removeAllListeners(event?: WacapEventType): void; /** * Emit an event */ emit(event: WacapEventType, data: WacapEventData): void; /** * Convenience method: Listen for connection updates */ onConnectionUpdate(handler: EventHandler): void; /** * Convenience method: Listen for connection open */ onConnectionOpen(handler: EventHandler): void; /** * Convenience method: Listen for connection close */ onConnectionClose(handler: EventHandler): void; /** * Convenience method: Listen for QR code */ onQRCode(handler: EventHandler): void; /** * Convenience method: Listen for received messages */ onMessageReceived(handler: EventHandler): void; /** * Convenience method: Listen for sent messages */ onMessageSent(handler: EventHandler): void; /** * Convenience method: Listen for message updates */ onMessageUpdate(handler: EventHandler): void; /** * Convenience method: Listen for group participant updates */ onGroupParticipantsUpdate(handler: EventHandler): void; /** * Convenience method: Listen for presence updates */ onPresenceUpdate(handler: EventHandler): void; /** * Get the underlying EventEmitter for advanced usage */ getEmitter(): EventEmitter; } //# sourceMappingURL=event-manager.d.ts.map