export interface EventRequest { event_type: string; event_value?: string; item_id?: string; event_properties?: Record; custom_event_properties?: Record; captured_at: string; } type BaseEvent = Omit< EventRequest, 'event_type' | 'event_value' | 'id' | 'captured_at' >; export interface IAddProductDetailViewEvent extends BaseEvent { item_id: string; } export interface IAddLikeEvent extends BaseEvent { item_id: string; } export interface IAddCartaddEvent extends BaseEvent { item_id: string; } export interface IAddRateEvent extends BaseEvent { item_id: string; rating: number; } export interface IAddOrderEventItem { id: string; price: number; quantity?: number; custom_event_properties?: Record; } export interface IAddOrderEvent extends Omit { order_id: string; paid_amount: number; order_amount: number; items: IAddOrderEventItem[]; custom_event_properties?: Record; } export interface IAddPurchaseEvent extends BaseEvent { item_id: string; price: number; } export interface IAddCustomEvent extends BaseEvent { event_type: string; event_value?: string; } export interface IAddRecommendationViewEvent extends Omit {} export interface IVisitEvent extends Omit {} export interface IAddPageViewEvent extends Omit { pageType: string; }