/** * VT Lite interaction events, pushed to the standard GTM `window.dataLayer`. * * GTM maps these to GA4 events (see VT_GA4_EVENT_MAP) and routes them to the * right property using the page context AEM pushes in the head (brand_id, * brand_name, market, site_language, page_type). Nothing brand-specific, and no * GA4 / GTM ids, belong in this package. */ export declare const VT_ANALYTICS_EVENTS: { readonly ctaClick: "vt_cta_click"; readonly formStart: "vt_form_start"; readonly formSuccess: "vt_form_success"; }; export type AnalyticsEvent = (typeof VT_ANALYTICS_EVENTS)[keyof typeof VT_ANALYTICS_EVENTS]; /** The GA4 event GTM is expected to send for each data-layer event. Documentation only. */ export declare const VT_GA4_EVENT_MAP: Record; export interface CtaClickParameters { component_name: string; component_variant?: string; component_id?: string; cta_id: string; cta_text: string; cta_location: string; /** Origin + path only; query string and hash are always stripped. */ cta_destination?: string; } export interface FormParameters { form_id: string; form_name: string; form_type?: string; form_location: string; } export type AnalyticsParameters = E extends "vt_cta_click" ? CtaClickParameters : FormParameters; /** * The only keys each event may carry. Anything else passed to * trackAnalyticsEvent is dropped, so a caller can't leak extra data. */ export declare const VT_ANALYTICS_PARAMETERS: Record; /** * Optional analytics overrides for a CTA. Everything is derived from the markup * when absent; these only exist for cases where the derived value is wrong. */ export interface LsgCtaAnalytics { /** Stable id for the CTA (`cta_id`). Defaults to the element id, then a slug of the label. */ ctaId?: string; /** `component_name` override. Defaults to the nearest `data-lsg-is` component. */ component?: string; componentId?: string; /** `cta_location` override. Defaults to header/footer, then the component name. */ location?: string; } /** * `data-analytics-*` attributes for a CTA element. AEM HTL can emit the same * attributes by hand. */ export declare function lsgCtaAnalyticsAttributes(meta?: LsgCtaAnalytics): Record;