tracker-api
Version:
A comprehensive JavaScript/TypeScript library for user behavior tracking and analytics
234 lines • 7.69 kB
TypeScript
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