import { SessionStatus, WacapConfig, IStorageAdapter, WacapEventType } from '../types'; import type { WASocket } from '@whiskeysockets/baileys'; export interface HandlerContext { sessionId: string; socket: WASocket & { sessionId: string }; config: Required; storageAdapter: IStorageAdapter; emit: (event: WacapEventType, data: Record) => void; touchActivity: () => void; updateStatus: (status: SessionStatus, error?: unknown) => void; handleReconnect: (error?: unknown) => Promise; handleLoggedOut: (error?: unknown) => Promise; resetRetry: () => void; setSocket: (socket: (WASocket & { sessionId: string }) | null) => void; } export { registerConnectionHandlers, } from './connection.handler'; export { registerMessageHandlers } from './message.handler'; export { registerGroupHandlers } from './group.handler'; export { registerTypingHandlers } from './typing.handler'; export { registerContactHandlers } from './contact.handler'; export { registerProfileHandlers } from './profile.handler'; export { registerCallHandlers } from './call.handler';