UNPKG

@loopkit/javascript

Version:

JavaScript SDK for LoopKit analytics platform

62 lines 1.69 kB
import type { LoopKitConfig, ISessionManager } from '../types/index.js'; import type { Logger } from '../utils/Logger.js'; import type { IdGenerator } from '../utils/IdGenerator.js'; import type { StorageManager } from './StorageManager.js'; type SessionEventCallback = (eventName: string, properties: Record<string, any>) => void; /** * Session manager for handling user sessions and anonymous IDs */ export declare class SessionManager implements ISessionManager { private config; private logger; private idGenerator; private storageManager; private sessionEventCallback?; private sessionId; private anonymousId; private lastActivityTime; private sessionStartTime; constructor(config: LoopKitConfig, logger: Logger, idGenerator: IdGenerator, storageManager: StorageManager); /** * Set callback for session events */ setSessionEventCallback(callback: SessionEventCallback): void; /** * Get current session ID */ getSessionId(): string; /** * Get anonymous ID */ getAnonymousId(): string; /** * Start new session */ startSession(): void; /** * End current session */ endSession(): void; /** * Check if session is active */ isSessionActive(): boolean; /** * Update activity timestamp */ updateActivity(): void; /** * Update configuration */ updateConfig(config: LoopKitConfig): void; /** * Reset session state */ reset(): void; /** * Load existing anonymous ID or create new one */ private loadOrCreateAnonymousId; } export {}; //# sourceMappingURL=SessionManager.d.ts.map