import { Narrow, SortBy } from "../models/fullTextSearch"; import { LookAlikeEventType } from "../models/lookAlikeProductRecommendation"; import { PromotileEvent } from "../models/events"; import { Channel } from "../models/common"; interface RequestKey { uuid: string; storeID: number; userToken: string; sessionStart: number; cartToken: string; } type source = "autocomplete" | "search" | "category" | "quick view" | "look a like" | "direct" | "related"; interface ProductVisitedProps extends RequestKey { type: source; productId: string; originId?: string; term?: string; recommended?: boolean; position?: number; reference?: string; originProduct?: string; categoryName?: string; categoryID?: string; imageID?: string; sourceProduct?: string; rec_src?: number | undefined; widget_id?: string; channel?: Channel; } interface PromotileVisitedProps extends ProductVisitedProps { link: string; thumbnail: string; } interface CategorySearchSeenProps extends Omit { categoryID: string; } interface SearchPreformedProps extends RequestKey { query: string; narrow?: Narrow[]; sortBy?: SortBy; products?: string[]; pagenum?: string; rescount?: string; promoTiles?: PromotileEvent[]; personalizedProducts?: string | undefined; channel?: Channel; spv?: string; spc?: string; productsPerPage?: number; } interface collectionPreformedProps extends RequestKey { collectionID: string; query: string; narrow?: Narrow[]; sortBy?: SortBy; products?: string[]; pagenum?: string; rescount?: string; promoTiles?: PromotileEvent[]; personalizedProducts?: string | undefined; channel?: Channel; spv?: string; spc?: string; productsPerPage?: number; } interface PopUpUsedProps extends RequestKey { type: LookAlikeEventType; position: number; productId: string; query?: string; categoryID?: string; categoryName?: string; widget_id?: string; channel?: Channel; } interface AddToCartProps extends RequestKey { productID?: string; channel?: Channel; } export declare const Reporting: { productSeen: ({ type, categoryID, categoryName, cartToken, originId, originProduct, productId, reference, term, sessionStart, storeID, userToken, uuid, position, recommended, imageID, sourceProduct, rec_src, widget_id, channel }: ProductVisitedProps) => Promise; promotileClicked: ({ type, categoryID, categoryName, cartToken, originId, originProduct, productId, reference, term, sessionStart, storeID, userToken, uuid, position, recommended, imageID, sourceProduct, rec_src, link, thumbnail, channel }: PromotileVisitedProps) => Promise; popularSearchSeen: ({ originId, userToken, storeID, sessionStart, cartToken, uuid, term, channel }: Omit) => Promise; categorySearchSeen: ({ uuid, storeID, term, categoryID, sessionStart, userToken, cartToken, channel }: CategorySearchSeenProps) => Promise; searchPerformed: ({ storeID, uuid, query, sortBy, narrow, sessionStart, userToken, cartToken, products, pagenum, rescount, promoTiles, personalizedProducts, channel, spv, spc, productsPerPage }: SearchPreformedProps) => Promise; collectionPerformed: ({ sortBy, query, narrow, sessionStart, userToken, uuid, storeID, collectionID, cartToken, products, pagenum, rescount, promoTiles, personalizedProducts, channel, spv, spc, productsPerPage }: collectionPreformedProps, fromTurboLink?: boolean) => Promise; popUpUsed: ({ cartToken, sessionStart, userToken, uuid, storeID, position, productId, categoryID, categoryName, query, type, widget_id, channel }: PopUpUsedProps) => Promise; addToCart: ({ storeID, uuid, cartToken, sessionStart, userToken, productID, channel }: AddToCartProps) => Promise; }; export {};