interface EdgeePageData { title?: string; properties?: Record; } interface EdgeeTrackData { name: string; properties?: Record; } export interface EdgeeUserData { user_id?: string; properties?: Record; } export interface EdgeeEvent { type: 'page' | 'track' | 'user'; data?: EdgeePageData | EdgeeTrackData | EdgeeUserData; components?: { all?: boolean; [componentName: string]: boolean | undefined; }; } interface EdgeeContext { page?: EdgeePageData; user?: EdgeeUserData; } export interface EdgeeDataLayer { data_collection: { events: EdgeeEvent[]; context?: EdgeeContext; components?: { all?: boolean; [componentName: string]: boolean | undefined; }; }; } export interface EdgeeProps { page_title_html: string; page: string; 'b:is_edgee': boolean; is_edgee: boolean; } export {};