/** * Functions for sending events to Tealium/Google Analytics * Based on HRA Tool & SEP screener & Coverage Tools analytics service: * - hra-tool/src/services/analytics.js * - screener/src/assets/js/utils/analytics-util.js * - coverage-tools-frontend/src/helpers/objectUtilities.ts */ import { Language } from '../i18n'; export interface UtagObject { link?: (params: AnalyticsEvent) => void; gdpr?: { showConsentPreferences: (lang: Language) => any; }; view?: (params: AnalyticsEvent) => void; } export interface UtagContainer { utag?: UtagObject; } export type UtagEventType = 'link' | 'view'; export declare const eventExtensionText = "Design system integration"; export interface AnalyticsEvent { event_name: string; event_extension: string; [additional_props: string]: unknown; } export declare const MAX_STRING_LENGTH = 100; /** * Use existing window.utag.link function to send analytics events. If the function does not * exist right away, try again after TIMEOUT milliseconds until we've reached MAX_RETRIES. */ export declare function sendAnalytics(eventType: UtagEventType, event: AnalyticsEvent, retry?: number): void; export declare function sendLinkEvent(event: AnalyticsEvent): void; export declare function sendViewEvent(event: AnalyticsEvent): void; export type AnalyticsFunction = typeof sendLinkEvent;