import { WacapConfig, SessionInfo, IStorageAdapter, IWASocket } from '../types'; import { EventManager } from '../events'; import { EventBus } from '../events/event-bus'; /** * WhatsApp session manager * Handles individual WhatsApp connections */ export declare class Session { private sessionId; private config; private socket; private eventManager; private storageAdapter; private sessionPath; private isConnecting; private shouldReconnect; private reconnecting; private retryCount; private createdAt; private startedAt; private updatedAt; private lastSeenAt; private status; private lastError?; private globalBus; private persistCreds?; constructor(sessionId: string, config: WacapConfig, storageAdapter: IStorageAdapter, globalBus: EventBus); /** * Start the WhatsApp session */ start(): Promise; /** * Connect to WhatsApp */ private connect; /** * Setup event handlers for the socket */ private setupEventHandlers; /** * Update session status & last error message */ private updateStatus; /** * Track activity timestamps */ private touchActivity; /** * Handle reconnect attempts with retry budget */ private handleReconnect; /** * Handle logged out / corrupted creds by resetting auth state */ private handleLoggedOut; /** * Wipes existing auth files to force a fresh QR */ private resetAuthState; /** * Stop the session without logging out (preserves credentials) * Use this for server restart/shutdown */ stop(): Promise; /** * Logout and stop the session (removes credentials) * Use this to completely remove a session */ logout(): Promise; /** * Get session info */ getInfo(): SessionInfo; /** * Get event manager for registering event handlers */ getEventManager(): EventManager; /** * Get the socket instance */ getSocket(): IWASocket | null; /** * Check if session is active */ isActive(): boolean; /** * Emit to local event manager and global bus */ private emitBoth; /** * Clean up event listeners on the current socket to avoid leaks */ private cleanupSocketListeners; } //# sourceMappingURL=session.d.ts.map