Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/packages / core / analytics / container.d.ts
Size: Mime:
/// <reference types="gapi" />
/// <reference types="gapi.client" />
/// <reference types="gapi.client.tagmanager" />
import { DeleteFromBagInput as DeleteBagType, ProductLite as ProductLiteType, CartProductLiteType as CartProductType } from '@skava/graphql-bindings';
import { VirtualPageViewType, AnalyticsEvent } from './typings';
declare class AnalyticsContainer {
    queue: AnalyticsEvent[];
    timeoutId: unknown;
    googleAnalytics: Function;
    readonly tracker: typeof gapi.client;
    readonly pageName: string;
    trackPageEvent(): void;
    initializeAnalytics(): void;
    getCommonCustomDimensions(): {
        SK_UserType: string;
        SK_Region: any;
        SK_Language: any;
    };
    trackCustomEvent(eventDetails: any): void;
    pushToDataLayer(argumentsToTrack: AnalyticsEvent): void;
    trackPDPTagManager(item: ProductLiteType): void;
    trackPLPTagManager(productLists: any): void;
    getProductVariantDetails(productOptions: any): any;
    trackVirtualPageView(pageViewDetails: VirtualPageViewType): void;
    cartProducts(checkoutProductDetails: CartProductType[]): {
        name: string;
        id: number;
        price: any;
        brand: string;
        category: string;
        variant: any;
        quantity: number;
        list: never[];
        position: number;
    }[];
    trackPurchaseEcommerce(checkoutProductDetails: CartProductType[], orderId: string, orderDetails: any): void;
    trackCheckoutEcommerce(checkoutProductDetails: any): void;
    trackAddToListGA(productDetails: any): void;
    trackRemoveFromCartGA(productDetails: DeleteBagType): void;
    pushAddToCartEventLayer(ProductDetail: any): void;
    trackAddToCartEventFromPdp(productDetail: any): void;
    trackAddToCartEvent(productDetail: any): void;
}
declare const analyticsContainer: AnalyticsContainer;
export { AnalyticsContainer };
export { analyticsContainer };