import { type AnalyticsProduct, type EventData, type EventProperties, type TrackTypesValues, type UserData, type UserTraits } from '@farfetch/blackout-analytics'; import type { GTMEventContext } from './types/index.js'; import type { User } from '@farfetch/blackout-client'; /** * Picks the user parameters of interest. * * @param data - Analytics event object. * * @returns Properties of the event. */ export declare const getEventProperties: (data: EventData) => EventProperties | Record; /** * Picks the user parameters of interest. * * @param user - Analytics user object. * * @returns The filtered user object. */ export declare const getUserParameters: (user: UserData) => { id: UserData['id']; localId: UserData['localId']; email: User['email']; name: User['name']; isGuest: UserTraits['isGuest']; }; /** * Picks the event context parameters of interest. * * @param context - Analytics event context object. * * @returns The filtered context object. */ export declare const getContextParameters: (context: EventData['context']) => GTMEventContext; /** * Picks the product categories. * * @param categories - Product categories. * * @returns The product categories. */ export declare const getProductCategory: (categories: AnalyticsProduct['category'] | Array) => Array; /** * Picks the product parameters of interest. * * @param product - Product event payload object. * * @returns The filtered product object. */ export declare const getProductData: (product: AnalyticsProduct) => AnalyticsProduct;