import { Logger, ErrorProperties } from '../../utils/logger'; export interface EventCallbackOptions { /** Product identifier type that will be used to correlate published EC with products on your website * * This is often a standardized identifier such as a UPC (GTIN-12) or EAN (GTIN-13), or your website’s product SKU */ productIdType: string; /** Product identifier */ productId: string; /** Brand name */ brand?: string; /** Product category hierarchy (from least specific to most specific) * * Example: ['Baby', 'Car Seats', 'Convertible Car Seats'] */ category?: string | Array; } /** @internal */ export default abstract class BaseEventHandler { #private; abstract eventName: string; constructor(logger: Logger); handle(options: EventCallbackOptions, extraProperties?: Record): void; protected handleValidationError(errorMessage: ErrorProperties['errorMessage']): void; }