import * as i0 from '@angular/core'; import { InjectionToken, ModuleWithProviders, EnvironmentProviders } from '@angular/core'; interface GoogleTagManagerConfig { id: string | null; gtm_auth?: string; gtm_preview?: string; [key: string]: string | null | undefined; } declare const GoogleTagManagerConfigService: InjectionToken; declare class GoogleTagManagerConfiguration { private _googleTagManagerConfig; constructor(googleTagManagerConfig?: GoogleTagManagerConfig); set(googleTagManagerConfig: GoogleTagManagerConfig): void; get(): GoogleTagManagerConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class GoogleTagManagerModule { static forRoot(config?: GoogleTagManagerConfig): ModuleWithProviders; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare function provideGoogleTagManager(config: GoogleTagManagerConfig): EnvironmentProviders; declare class GoogleTagManagerService { googleTagManagerConfiguration: GoogleTagManagerConfiguration; googleTagManagerId: string; googleTagManagerMode: "silent" | "noisy"; googleTagManagerAuth: string; googleTagManagerPreview: string; googleTagManagerResourcePath: string; googleTagManagerCSPNonce: string; private isLoaded; private config; private browserGlobals; constructor(googleTagManagerConfiguration: GoogleTagManagerConfiguration, googleTagManagerId: string, googleTagManagerMode: "silent" | "noisy", googleTagManagerAuth: string, googleTagManagerPreview: string, googleTagManagerResourcePath: string, googleTagManagerCSPNonce: string); private checkForId; getDataLayer(): any[]; private pushOnDataLayer; addGtmToDom(): Promise; pushTag(item: object): Promise; private applyGtmQueryParams; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { GoogleTagManagerConfigService, GoogleTagManagerConfiguration, GoogleTagManagerModule, GoogleTagManagerService, provideGoogleTagManager }; export type { GoogleTagManagerConfig };