UNPKG

armor-editor

Version:

Advanced rich text editor with premium armor-grade security, real-time collaboration, spell checking, track changes, and framework-agnostic design for React, Vue, Angular, Next.js, Nuxt.js

64 lines (63 loc) 1.82 kB
export interface AnalyticsEvent { id: string; type: EventType; timestamp: Date; userId?: string; sessionId: string; data: Record<string, any>; metadata?: { userAgent?: string; viewport?: { width: number; height: number; }; location?: string; }; } export type EventType = 'editor_load' | 'content_change' | 'format_apply' | 'ai_usage' | 'export_document' | 'share_document' | 'collaboration_join' | 'plugin_use' | 'shortcut_use' | 'theme_change' | 'error_occurred' | 'session_end'; export interface AnalyticsMetrics { totalSessions: number; activeUsers: number; documentsCreated: number; wordsWritten: number; aiInteractions: number; exportCount: number; averageSessionDuration: number; popularFeatures: { feature: string; usage: number; }[]; userEngagement: { dailyActiveUsers: number; weeklyActiveUsers: number; monthlyActiveUsers: number; }; performance: { averageLoadTime: number; averageResponseTime: number; errorRate: number; }; } export declare class AnalyticsSystem { private events; private sessionId; private startTime; private editor; private isEnabled; constructor(editor: any); private setupEventTracking; trackEvent(type: EventType, data?: Record<string, any>): void; getMetrics(): AnalyticsMetrics; generateReport(): string; showDashboard(): void; private getTotalWordsWritten; private getAverageLoadTime; private getAverageResponseTime; private getErrorRate; private generateSessionId; private generateEventId; private persistEvents; private loadPersistedEvents; setEnabled(enabled: boolean): void; clearData(): void; }