/// import type TrackingDelegate from '../TrackingDelegate'; /** * Google Tag Manager implementation of TrackingDelegate. * Uses the global gtag() function from gtag.js. * * The GTM script should be loaded externally in the HTML: * * * This delegate initializes dataLayer and gtag function following Google's recommendation: * - window.dataLayer = window.dataLayer || []; * - function gtag(){dataLayer.push(arguments);} */ export declare class GTMTrackingDelegate implements TrackingDelegate { private gtag; constructor(); init(onInit: () => void): void; getInstance(): unknown; /** * Configures Google Tag Manager with a measurement ID. * Maps to: gtag('config', measurementId, params) */ config(measurementId: string, params?: Record): void; /** * Records an event in Google Tag Manager. * Maps to: gtag('event', eventName, params) */ event(eventName: string, params?: Record): void; /** * Sets global parameters for all subsequent events. * Maps to: gtag('set', params) */ set(params: Record): void; /** * Retrieves a configuration value from Google Tag Manager. * Maps to: gtag('get', measurementId, callback) */ get(measurementId: string, callback: (value: any) => void): void; /** * Manages user consent for data collection. * Maps to: gtag('consent', command, params) */ consent(command: string, params?: Record): void; } export default GTMTrackingDelegate;