export interface IGoogleAnalyticsPageView { flowType?: string; flowName?: string; version?: string; [key: string]: any | undefined; } export interface IGoogleAnalyticsInit { eventCategory: string; flowType?: string; flowName?: string; version?: string; gtmId?: string; logPageViews?: boolean; pageView?: IGoogleAnalyticsPageView; } export declare type EventNonInteraction = 0 | 1; export interface IEvent { event?: string; eventCategory?: string; eventValue?: number; eventNonInteraction?: EventNonInteraction; hitType?: string | 'event'; designSystem?: boolean; } export interface ICustomAnalyticsConfig { event?: string; eventCategory?: string; eventValue?: number; eventNonInteraction?: EventNonInteraction; hitType?: string | 'event'; eventAction?: string; eventLabel?: string; } export interface IUniversalConfig extends IEvent { event?: 'eventTracker'; eventAction?: string; eventLabel?: string; formFieldName?: string; } export interface IErrorConfig extends IEvent { event?: string | 'eventTracker'; eventCategory?: string | 'Errors'; eventAction?: string; eventLabel?: string; eventNonInteraction?: EventNonInteraction; formFieldName?: string; error?: 1; } export interface IPageViewConfig { event: string | 'virtualPageview'; flowType?: string; flowName?: string; storeVertical?: string; version?: string; page?: string; title?: string; location?: string; hitType: string | 'pageview'; designSystem: boolean; pageView?: IGoogleAnalyticsPageView; } export interface IComponentScrollConfig { event: 'eventTracker'; eventCategory: string; eventAction: 'scroll depth tracking'; eventLabel: string; eventValue: 0; eventNonInteraction: EventNonInteraction; hitType: 'event'; designSystem: boolean; } export interface SliderWithValues { min: number; max: number; value: number; sliderId: string; step?: number; label?: string; analyticsEnabled?: boolean; analyticsCustomObj?: ICustomAnalyticsConfig; } export interface IThirdPartyCookiesDisabledConfig extends IEvent { event?: 'eventTracker'; eventAction?: '3p Cookie Check'; eventLabel?: '3p Cookie Disabled'; eventValue: 0; eventNonInteraction: EventNonInteraction; }