import { Router } from '@angular/router';
import { AnalyticEventKey } from '../../interfaces/analytics/event-key.model';
import { GoogleTagManagerConfig } from '../../interfaces/analytics/gtm-config';
export declare class GTMService {
    private router;
    private isLoaded;
    private enabled;
    private config;
    private browserGlobals;
    constructor(router: Router);
    getDataLayer(): any[];
    private pushOnDataLayer;
    addGtmToDom(): Promise<boolean>;
    initialize: (config: GoogleTagManagerConfig) => void;
    pushTag(item: object): Promise<void>;
    private applyGtmQueryParams;
    callEvent: (event_name: AnalyticEventKey, data?: {}) => void;
    translateEventName: (event_name: AnalyticEventKey) => "view_item_gtm" | "view_item_list_gtm" | "begin_checkout_gtm" | "add_shipping_info_gtm" | "add_payment_info_gtm" | "purchase_gtm" | "add_to_cart_gtm" | "remove_from_cart_gtm" | "sign_up_gtm";
    evalEvent: (event_name: any, data: any) => any;
    private toPurchase;
    private toCheckoutInit;
    private toCartDiscount;
    private toAddToCart;
    disable: () => boolean;
    private toViewItem;
    private toViewItemList;
    private toRemoveToCart;
    private toItem;
    private toPaymentInfo;
    private toShippingInfo;
    private toSignUp;
}
