Repository URL to install this package:
|
Version:
0.0.15 ▾
|
/// <reference types="gapi" />
/// <reference types="gapi.client" />
/// <reference types="gapi.client.tagmanager" />
import { DeleteFromBagInput as DeleteBagType, ProductLite as ProductLiteType, CartProductLiteType as CartProductType, ProductOptionItemLiteType } from '@skava/graphql-bindings';
import { TagManagerCustomEventType, VirtualPageViewArgsType, AnalyticsEvent, TagManagerEventType, AddToCartEventProductArgsType } 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: TagManagerCustomEventType): void;
pushToDataLayer(argumentsToTrack: TagManagerEventType): void;
trackPDPTagManager(item: ProductLiteType): void;
trackPLPTagManager(productList: ProductLiteType[]): void;
getProductVariantDetails(productOptions: ProductOptionItemLiteType[]): string;
trackVirtualPageView(pageViewDetails: VirtualPageViewArgsType): void;
cartProducts(checkoutProductDetails: CartProductType[]): {
name: string;
id: number;
price: any;
brand: string;
category: string;
variant: string;
quantity: number;
list: never[];
position: number;
}[];
trackPurchaseEcommerce(checkoutProductDetails: CartProductType[], orderId: string, orderDetails: any): void;
trackCheckoutEcommerce(checkoutProductDetails: {
index: number;
cartProducts: CartProductType[];
pageViewDetails: {
pageUrl: string;
pageTitle?: string;
};
}): void;
/**
* @todo @unused @typings
*/
trackAddToListGA(productDetails: any): void;
/**
* @todo wrong type
*/
trackRemoveFromCartGA(productDetails: DeleteBagType): void;
pushAddToCartEventLayer(productDetail: AddToCartEventProductArgsType): void;
trackAddToCartEventFromPdp(productDetail: ProductLiteType): void;
trackAddToCartEvent(productDetail: ProductLiteType): void;
}
declare const analyticsContainer: AnalyticsContainer;
export { AnalyticsContainer };
export { analyticsContainer };