import { type AnalyticsApiIntegrationOptions, type AnalyticsApiTrackData } from './types/types.js'; import { type EventData, integrations, type LoadIntegrationEventData, type StrippedDownAnalytics, type TrackTypesValues } from '@farfetch/blackout-analytics'; export default class AnalyticsAPI extends integrations.Integration { private debugMode; private whitelisted; /** * Method to check if the integration is ready to be loaded. * * @returns If the integration is ready to be loaded. */ static shouldLoad(): boolean; /** * Creates an instance of Analytics Api integration. * * @param options - User configured options. * @param loadData - Analytics's load event data. * @param strippedDownAnalytics - Analytics stripped down instance. */ constructor(options: AnalyticsApiIntegrationOptions, loadData: LoadIntegrationEventData, strippedDownAnalytics: StrippedDownAnalytics); /** * Track method that will call Analytics API with the necessary data per event. * If there's more than one pageType per event, it will call Analytics API with each page type at a time. * * @param data - Track event data. * * @returns Promise that will resolve when the method finishes. */ track(data: EventData): Promise; /** * Calls the Analytics API with the given payload. * * @param data - Analytics' event data. */ callAPI(data: AnalyticsApiTrackData): Promise; /** * Obtain options with additional common properties. * * @returns The options data. */ private getOptions; }