export interface PulseXConfig {
    apiEndpoint: string;
    interval: number;
    maxQueueSize?: number;
}
export interface EngagementTrackingTask {
    element: HTMLElement;
    threshold?: number;
}
export interface EventPayload {
    _id: string;
    sessionId: string;
    type: string;
    pageUrl: string;
    referrer: string;
    data: any;
    createdAt: string;
}
export interface SectionEngagement {
    sectionId: string;
    startTime: number;
    endTime: number;
    totalDuration: number;
}
export interface ClickEvent {
    elementId: string;
    textContent: string;
    timestamp: number;
    x: number;
    y: number;
    button: number;
}
export interface HoverEvent {
    elementId: string;
    startTime: number;
    endTime: number;
    hoverDuration: number;
    clicked: boolean;
    clickData: ClickEvent | null;
}
export interface FormSubmissionEvent {
    formId: string;
    timestamp: number;
    inputValues: Record<string, string | boolean | number>;
}
