import { EducationalContentResource } from "../models/EducationalContent";
import { LearningSessionResource, SessionMessage } from "../models/LearningSession";
import { UserProfileResource } from "../models/UserProfile";
import { LearningPathResource } from "../models/LearningPath";
import { EducationPlugin } from "./plugin-manager";
/**
 * Analytics Plugin for the Education Module
 * Tracks and analyzes user interactions, content usage, and learning patterns
 */
export declare class AnalyticsPlugin implements EducationPlugin {
    private isInitialized;
    private sessionEvents;
    private contentEvents;
    private profileEvents;
    private learningPathEvents;
    /**
     * Initialize the analytics plugin
     */
    initialize(): Promise<void>;
    /**
     * Track an analytics event
     */
    private trackEvent;
    /**
     * Get analytics data for a specific category
     */
    getAnalytics(category: string): Promise<any[]>;
    /**
     * Generate a summary of analytics data
     */
    generateSummary(): Promise<any>;
    onContentCreated(content: EducationalContentResource): Promise<void>;
    onContentUpdated(content: EducationalContentResource): Promise<void>;
    onContentDeleted(contentId: string): Promise<void>;
    onSessionStarted(session: LearningSessionResource): Promise<void>;
    onSessionEnded(session: LearningSessionResource): Promise<void>;
    onSessionMessageSent(session: LearningSessionResource, message: SessionMessage): Promise<void>;
    onProfileCreated(profile: UserProfileResource): Promise<void>;
    onProfileUpdated(profile: UserProfileResource): Promise<void>;
    onLearningPathGenerated(path: LearningPathResource): Promise<void>;
    onLearningPathCompleted(path: LearningPathResource): Promise<void>;
    /**
     * Track learning path step completion
     */
    trackStepCompletion(userId: string, pathId: string, stepIndex: number, timeSpent: number): Promise<void>;
}
