UNPKG

tracker-api

Version:

A comprehensive JavaScript/TypeScript library for user behavior tracking and analytics

234 lines 7.69 kB
import { TrackingAPI } from "./tracking-api"; import { TrackerOptions, EventData, TrackingResponse } from "./types"; /** * Initialize global tracker instance * @param options - Configuration options * @returns Tracker instance */ export declare function init(options?: TrackerOptions): TrackingAPI; /** * Get global tracker instance * @returns Global tracker instance */ export declare function getTracker(): TrackingAPI | null; /** * Create new tracker instance (không dùng global) * @param options - Configuration options * @returns New tracker instance */ export declare function createTracker(options?: TrackerOptions): TrackingAPI; /** * Track a custom event using global tracker */ export declare function track(eventData: EventData, immediate?: boolean): Promise<TrackingResponse | null>; /** * Track multiple events at once using global tracker */ export declare function trackBatch(events: EventData[]): Promise<TrackingResponse | null>; /** * Track page view event - TrackerEnum.EventType.pageview */ export declare function trackPageView(eventData: Partial<EventData> & { page_url: string; page_title?: string; }): Promise<TrackingResponse | null>; /** * Track click event - TrackerEnum.EventType.click */ export declare function trackClick(eventData: Partial<EventData> & { page_url: string; element_selector?: string; element_text?: string; element_id?: string; }): Promise<TrackingResponse | null>; /** * Track input event - TrackerEnum.EventType.input */ export declare function trackInput(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track submit event - TrackerEnum.EventType.submit */ export declare function trackSubmit(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track scroll event - TrackerEnum.EventType.scroll */ export declare function trackScroll(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track hover event - TrackerEnum.EventType.hover */ export declare function trackHover(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track change event - TrackerEnum.EventType.change */ export declare function trackChange(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track focus event - TrackerEnum.EventType.focus */ export declare function trackFocus(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track blur event - TrackerEnum.EventType.blur */ export declare function trackBlur(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track keydown event - TrackerEnum.EventType.keydown */ export declare function trackKeydown(eventData: Partial<EventData> & { page_url: string; element_selector?: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track keyup event - TrackerEnum.EventType.keyup */ export declare function trackKeyup(eventData: Partial<EventData> & { page_url: string; element_selector?: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track mouseenter event - TrackerEnum.EventType.mouseenter */ export declare function trackMouseenter(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track mouseleave event - TrackerEnum.EventType.mouseleave */ export declare function trackMouseleave(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track zoom event - TrackerEnum.EventType.zoom */ export declare function trackZoom(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track login form submission */ export declare function trackLoginFormSubmit(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track signup form submission */ export declare function trackSignupFormSubmit(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track search query submission */ export declare function trackSearchQuerySubmit(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track add to cart action */ export declare function trackAddToCart(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track remove from cart action */ export declare function trackRemoveFromCart(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track purchase event */ export declare function trackPurchase(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track contact form submission */ export declare function trackContactFormSubmit(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track newsletter subscription */ export declare function trackNewsletterSubscribe(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track modal open */ export declare function trackOpenModal(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track modal close */ export declare function trackCloseModal(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track product view */ export declare function trackViewProduct(eventData: Partial<EventData> & { page_url: string; properties?: Record<string, string>; }): Promise<TrackingResponse | null>; /** * Track link click */ export declare function trackLinkClick(eventData: Partial<EventData> & { page_url: string; element_selector?: string; }): Promise<TrackingResponse | null>; /** * Track copy link action */ export declare function trackCopyLink(eventData: Partial<EventData> & { page_url: string; }): Promise<TrackingResponse | null>; /** * Track custom event using global tracker (Deprecated - use specific event functions above) * @deprecated Use specific event type functions instead */ export declare function trackCustomEvent(eventType: string, pageUrl: string, sessionId?: string, metadata?: Record<string, any>): Promise<TrackingResponse | null>; /** * Flush pending events using global tracker */ export declare function flush(): Promise<TrackingResponse | null>; export { TrackingAPI } from "./tracking-api"; export { CustomerClient } from "./customer-client"; export { WebsiteClient } from "./website-client"; export { APIKeyClient } from "./apikey-client"; export { TrackingClient } from "./tracking-client"; export { UserClient } from "./user-client"; export { AnalyticsClient } from "./analytics-client"; export { TrackerEnum } from "./tracker.enum"; export { EventData, TrackingResponse, TrackerOptions } from "./types"; export * from "./types"; //# sourceMappingURL=index.d.ts.map