/** * Tronic Track Integration Module * This module initializes the Tronic analytics tracking system (receiver) * as part of the SDK initialization process. */ export interface ReceiverConfig { apiKey: string; apiHost: string; debug?: boolean; initialPageview?: boolean; trackClicks?: boolean | string; trackForms?: boolean | string; trackOutboundLinks?: boolean; trackUtmParams?: boolean; autoTrackWidget?: boolean; } export declare class ReceiverLoader { private static initialized; private static SNIPPET_VERSION; /** * Initialize the receiver tracking system * This replicates the functionality of the tronic-track snippet */ static initialize(config: ReceiverConfig): void; /** * Set up automatic tracking based on configuration */ private static setupAutoTracking; /** * Set up automatic widget interaction tracking */ private static setupWidgetTracking; /** * Send initial page view automatically */ private static sendInitialPageView; /** * Send page view (for manual tracking) */ static trackPage(_pageName?: string, properties?: Record): void; /** * Track user identification */ static identifyUser(userId: string, traits?: Record): void; /** * Track custom event */ static trackEvent(eventName: string, properties?: Record): void; /** * Track click events on elements */ static trackClick(selector: string | Element | Element[], eventName: string, properties?: Record): void; /** * Track form submissions */ static trackForm(selector: string | HTMLFormElement | HTMLFormElement[], eventName: string, properties?: Record): void; /** * Track link clicks */ static trackLink(selector: string | Element | Element[], eventName: string, properties?: Record): void; /** * Track screen/view changes */ static screen(name: string, properties?: Record): void; /** * Group users by organization/team */ static group(groupId: string, traits?: Record): void; /** * Link multiple user identities */ static alias(userId: string, previousId?: string): void; /** * Reset user data (typically on logout) */ static resetUser(): void; /** * Get the receiver instance */ static getReceiver(): any; /** * Check if receiver is initialized */ static isInitialized(): boolean; /** * Reset initialization state (useful for testing) */ static reset(): void; }