UNPKG

@loopkit/javascript

Version:

JavaScript SDK for LoopKit analytics platform

75 lines 2.22 kB
import type { LoopKitConfig, ILoopKit, TrackOptions, BatchEventInput } from '../types'; import { Logger } from '../utils/Logger'; import { IdGenerator } from '../utils/IdGenerator'; import { StorageManager } from './StorageManager'; import { SessionManager } from './SessionManager'; import { QueueManager } from './QueueManager'; import { EventTracker } from './EventTracker'; import { NetworkManager } from './NetworkManager'; import { BrowserFeatures } from './BrowserFeatures'; /** * Main LoopKit SDK class */ export declare class LoopKit implements ILoopKit { readonly version: string; config: LoopKitConfig; initialized: boolean; userId: string | null; userProperties: Record<string, any>; groupId: string | null; groupProperties: Record<string, any>; logger: Logger; idGenerator: IdGenerator; storageManager: StorageManager; sessionManager: SessionManager; queueManager: QueueManager; eventTracker: EventTracker; networkManager: NetworkManager; browserFeatures?: BrowserFeatures; constructor(); /** * Initialize LoopKit with API key and configuration */ init(apiKey: string, config?: Partial<LoopKitConfig>): LoopKit; /** * Update configuration */ configure(config: Partial<LoopKitConfig>): LoopKit; /** * Get current configuration */ getConfig(): LoopKitConfig; /** * Track an event */ track(eventName: string, properties?: Record<string, any>, options?: TrackOptions): LoopKit; /** * Track multiple events in batch */ trackBatch(events: BatchEventInput[]): LoopKit; /** * Identify a user */ identify(userId: string, properties?: Record<string, any>): LoopKit; /** * Associate user with a group */ group(groupId: string, properties?: Record<string, any>, groupType?: string): LoopKit; /** * Manually flush queued events */ flush(): Promise<void>; /** * Get current queue size */ getQueueSize(): number; /** * Reset SDK state */ reset(): void; /** * Reset for testing (internal method) */ resetForTesting(): void; } //# sourceMappingURL=LoopKit.d.ts.map