UNPKG

@calico/analytics

Version:

Analytics SDK for Calico Dashboard - Easy integration for tracking user interactions and configurations

52 lines (50 loc) 1.83 kB
type AnalyticsEvent = 'VIEW' | 'INTERACT' | 'CONFIGURE' | 'SHARE' | 'EXPORT' | 'AR_VIEW' | 'ADD_TO_CART' | 'PURCHASE'; interface CalicoAnalyticsConfig { apiKey: string; endpoint?: string; debug?: boolean; autoTrack?: boolean; batchSize?: number; flushInterval?: number; } interface AnalyticsEventData { event: AnalyticsEvent; metadata?: Record<string, any>; value?: number; sessionId?: string; } declare class CalicoAnalytics { private apiKey; private endpoint; private debug; private sessionId; private queue; private batchSize; private flushInterval; private flushTimer?; private initialized; constructor(config: CalicoAnalyticsConfig); private generateSessionId; private setupAutoTracking; private startFlushTimer; track(event: AnalyticsEvent, metadata?: Record<string, any>, value?: number): void; flush(sync?: boolean): Promise<void>; identify(userId: string, traits?: Record<string, any>): void; reset(): void; destroy(): void; } declare function init(config: CalicoAnalyticsConfig): CalicoAnalytics; declare function track(event: AnalyticsEvent, metadata?: Record<string, any>, value?: number): void; declare function identify(userId: string, traits?: Record<string, any>): void; declare function flush(): Promise<void>; declare function reset(): void; declare function autoRegister(appName: string, appUrl: string, endpoint?: string): Promise<string>; declare const _default: { init: typeof init; track: typeof track; identify: typeof identify; flush: typeof flush; reset: typeof reset; autoRegister: typeof autoRegister; }; export { type AnalyticsEvent, type AnalyticsEventData, type CalicoAnalyticsConfig, autoRegister, _default as default, flush, identify, init, reset, track };