export interface TrackingEvent {
    eventType: string;
    timestamp?: number;
    [key: string]: any;
}
export declare class TrackingService {
    private httpClient;
    private eventTrackingHost;
    private clientId;
    private cliUbid?;
    private enableTracking;
    private fireDefaultPixel;
    private trackingParams?;
    private searchKeywordKey;
    private customQueryParams?;
    private queryToParamMapping;
    private urlToParamMapping;
    private videoView;
    private defaultTrackSeconds;
    private debugMode;
    constructor(eventTrackingHost: string, clientId: number, options?: {
        cliUbid?: string | number;
        enableTracking?: boolean;
        fireDefaultPixel?: boolean;
        trackingParams?: (() => Record<string, any>) | Record<string, any>;
        searchKeywordKey?: string;
        customQueryParams?: (() => Record<string, any>) | Record<string, any>;
        queryToParamMapping?: Record<string, string>;
        urlToParamMapping?: Record<string, string>;
        videoView?: number;
        defaultTrackSeconds?: number[];
        debugMode?: boolean;
    });
    /**
     * 发送跟踪事件
     */
    trackEvent(event: TrackingEvent): Promise<void>;
    /**
     * 跟踪产品查看事件
     */
    trackProductView(skuId: string, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪添加到购物车事件
     */
    trackAddToCart(skuId: string, quantity?: number, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪购买事件
     */
    trackPurchase(skuIds: string[], total: number, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪广告点击事件
     */
    trackAdClick(adId: string, adUnit: string, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪视频观看事件
     */
    trackVideoView(videoId: string, duration: number, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪搜索事件
     */
    trackSearch(keyword: string, resultsCount?: number, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 跟踪页面浏览事件
     */
    trackPageView(pageName: string, additionalData?: Record<string, any>): Promise<void>;
    /**
     * 获取跟踪参数
     */
    private getTrackingParams;
    /**
     * 获取自定义查询参数
     */
    private getCustomQueryParams;
    /**
     * 从URL获取搜索关键词
     */
    getSearchKeyword(): string | null;
    /**
     * 从URL映射参数
     */
    getMappedParams(): Record<string, string>;
    /**
     * 发送默认像素
     */
    fireDefaultTrackingPixel(): Promise<void>;
}
//# sourceMappingURL=tracking-service.d.ts.map