///
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;