import { EventCategory, EventProperties } from '../../models/event.js'; import { InternalException } from '../../models/exception.js'; import { Interactor } from '../../models/interactor.js'; import { IEventRepository } from '../../repositories/event.repository.js'; declare class CouldNotSaveEventException extends InternalException { constructor(error?: unknown); } interface AttributionData { utmSource?: string; utmMedium?: string; utmCampaign?: string; utmTerm?: string; utmContent?: string; fbClid?: string; gClid?: string; ttClid?: string; referrer?: string; referrerDomain?: string; } interface StoreEventProps { eventCategory: EventCategory; eventType?: string; eventTime?: number; eventProperties?: EventProperties; attributionData?: AttributionData; } declare class StoreEventInteractor implements Interactor<[input: StoreEventProps], Promise> { private readonly repository; constructor(repository: IEventRepository); execute({ eventCategory, eventProperties, eventType, eventTime, attributionData, }: StoreEventProps): Promise; } export { CouldNotSaveEventException, StoreEventInteractor, type StoreEventProps };