/**
 * 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
 */
export interface UtagObject {
    link: (params: AnalyticsEvent) => void;
}
export interface UtagContainer {
    utag?: UtagObject;
}
export type UtagEventType = 'link' | 'view';
export declare enum EventCategory {
    UI_COMPONENTS = "ui components",
    UI_INTERACTION = "ui interaction"
}
export declare enum EventType {
    CONVERSION = "conversion",
    UI_INTERACTION = "ui interaction"
}
export declare const eventExtensionText = "Design system integration";
export interface AnalyticsEvent {
    event_name: string;
    event_type: string;
    event_category: string;
    event_extension: string;
    event_action: string;
    event_label: 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: Required<AnalyticsEvent>, retry?: number): void;
export declare function sendLinkEvent(event: AnalyticsEvent): void;
export type AnalyticsFunction = typeof sendLinkEvent;
