export interface CustomDimension { id: string; value: string; } export type UrlTransformMethod = "trackPageView" | "trackLink" | "trackLinkClick" | "trackDownload" | "trackSiteSearchResultClick" | "trackMapInteraction"; export interface UrlTransformMeta { method: UrlTransformMethod; } export type UrlTransformer = (meta: UrlTransformMeta, url: string) => string; export interface UserOptions { urlBase?: string; siteId: string; disabled?: boolean; urlTransformer?: UrlTransformer; heartBeat?: { active: boolean; seconds?: number; }; nonce?: string; } interface TrackBaseParams { customDimensions?: CustomDimension[]; } export interface TrackPageViewParams extends TrackBaseParams { href: string; } export interface TrackLinkParams extends TrackBaseParams { href: string; linkType?: "download" | "link"; linkTitle: string; } export interface TrackLinkClickParams extends TrackBaseParams { componentName: string; isInternalDestination: boolean; href: string; linkTitle: string; } export interface TrackAnchorLinkParams extends TrackBaseParams { anchor: string; linkTitle: string; } export interface TrackMapInteractionParams extends TrackBaseParams { clickText: string; clickUrl?: string; action: "checkboxClickOn" | "checkboxClickOff" | "radioButtonClick" | "pinClick" | "detailOverlayClick" | "closeOverlayClick"; } export interface TrackVisibilityParams extends TrackBaseParams { action: "getoond" | "verborgen"; nameOfElementBecameVisible: string; } export interface TrackSiteSearchParams extends TrackBaseParams { keyword: string; searchMachine: string; count?: number; type: "autocomplete" | "manueel"; } export interface TrackSiteSearchResultClickParams extends TrackBaseParams { keyword: string; searchResult: { title: string; url: string; type: string; position: number; }; amountOfResults: number; amountOfResultsShown: number; type: "autocomplete" | "manueel"; } /** * @deprecated Use `TrackSiteSearchResultClickParams` instead. */ export type TrackSiteSearchResultClick = TrackSiteSearchResultClickParams; export interface TrackDownloadParams extends TrackBaseParams { downloadDescription: string; fileType: string; downloadUrl: string; } export interface Instruction { event: string; meta: Record; } declare global { interface Window { dataLayer: Instruction[]; } } export {}; //# sourceMappingURL=types.d.ts.map