@loopkit/javascript
Version:
JavaScript SDK for LoopKit analytics platform
75 lines • 2.22 kB
TypeScript
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