/**
 * 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 declare type EventType = 'link';
export declare const MAX_LENGTH = 100;
export declare enum EventCategory {
    UI_COMPONENTS = "ui components",
    UI_INTERACTION = "ui interaction"
}
export interface AnalyticsEvent {
    ga_eventAction: string;
    ga_eventCategory: string;
    ga_eventLabel: string;
    ga_eventType?: string;
    ga_eventValue?: string;
    [additional_props: string]: unknown;
}
/**
 * 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: EventType, event: Required<AnalyticsEvent>, retry?: number): string;
export declare function sendLinkEvent(payload: AnalyticsEvent): string;
export default sendAnalytics;
