/**
 * A service to push Google Tag Manager custom events\tags to the datalayer shared by Google Analytics
 *
 * @author Robert Parker <robert.parker@alertlogic.com>
 *
 */
import { AlSubscriptionGroup, AlSessionStartedEvent } from '@al/core';
import * as i0 from "@angular/core";
export declare class AlGoogleTagManagerService {
    protected subscriptions: AlSubscriptionGroup;
    private containerId;
    private isLoaded;
    private currentEnvironment;
    private entitlements;
    private browserGlobals;
    private pendingDataLayerItems;
    constructor();
    getDataLayer(): any;
    addGtmToDom(): void;
    trackPageViewEvent(pageTitle: string, pagePath: string): void;
    trackCustomEvent(eventName: string, eventProps: {
        [k: string]: any;
    }): void;
    pushTag(item: object): void;
    protected onActingAccountResolved: (event: AlSessionStartedEvent) => void;
    protected getCurrentUserMeta(): {
        userId: string;
        actingAccountId: string;
        actingAccountName: string;
        primaryAccountId: string;
        primaryAccountName: string;
        isMDR: boolean;
    };
    private pushOnDataLayer;
    private getQueryParamsForEnvironment;
    static ɵfac: i0.ɵɵFactoryDef<AlGoogleTagManagerService, never>;
    static ɵprov: i0.ɵɵInjectableDef<AlGoogleTagManagerService>;
}
