export enum BrowserEventType { Click = 'click', Input = 'input', KeyPress = 'key-press', OpenPage = 'open-page', } export interface BaseBrowserEvent { eventId: string; dom: string; windowUrl: string; } export interface ClickBrowserEvent extends BaseBrowserEvent { type: BrowserEventType.Click; elementUUID: string; selectors: string[]; elementName?: string; elementType?: string; } export interface InputBrowserEvent extends BaseBrowserEvent { type: BrowserEventType.Input; elementUUID: string; typedText: string; selectors: string[]; elementName?: string; elementType?: string; } export interface KeyPressBrowserEvent extends BaseBrowserEvent { type: BrowserEventType.KeyPress; keys: string[]; } export interface OpenPageBrowserEvent extends BaseBrowserEvent { type: BrowserEventType.OpenPage; title: string; } export type BrowserEvent = | ClickBrowserEvent | InputBrowserEvent | KeyPressBrowserEvent | OpenPageBrowserEvent;