/** * @rajeev02/app-shell — Analytics Pipeline * Event tracking, user properties, funnel analysis, offline buffer */ export interface AnalyticsEvent { name: string; properties?: Record; timestamp: number; sessionId: string; } export interface AnalyticsConfig { /** Flush events to server handler */ onFlush: (events: AnalyticsEvent[]) => Promise; /** Flush interval in ms (default: 30000) */ flushIntervalMs?: number; /** Max batch size (default: 50) */ maxBatchSize?: number; /** Whether to track automatically (screen views, etc.) */ autoTrack?: boolean; } export declare class AnalyticsEngine { private config; private buffer; private userProperties; private sessionId; private flushTimer; constructor(config: AnalyticsConfig); /** Track an event */ track(name: string, properties?: Record): void; /** Set user properties (included in all future events) */ setUserProperties(props: Record): void; /** Track screen view */ trackScreen(screenName: string, properties?: Record): void; /** Flush events to server */ flush(): Promise; /** Get buffer size */ getBufferSize(): number; /** Destroy — flush and stop timer */ destroy(): Promise; private startFlushTimer; } //# sourceMappingURL=index.d.ts.map