type UploadLogFunction = (action: string, type: 'duration' | 'endAction' | 'startAction' | 'track', data?: { duration: number; start: number | null; end: number | null; startOptions: any; endOptions: any; }) => void; interface TrackerOptions { uploadLog: UploadLogFunction; enabled?: boolean; } declare class UserInteractionTracker { private actions; private uploadLog; private enabled; constructor(options: TrackerOptions); track(action: string, options?: any): void; startAction(action: string, options?: any): void; endAction(action: string, options?: any): void; getPendingActions(action?: string): any; clearActions(actions?: Array): void; private calculateAndUploadIfNeeded; private uploadStartAction; private uploadEndAction; private safeUploadLog; } export default UserInteractionTracker; export type { UploadLogFunction };