/**
 * Educational content types
 */
export type ContentType = "explanation" | "tutorial" | "practice_problem" | "quiz" | "reference_material";
/**
 * Educational levels
 */
export type EducationalLevel = "beginner" | "elementary" | "middle_school" | "high_school" | "undergraduate" | "graduate" | "professional";
/**
 * Subject areas
 */
export type Subject = "mathematics" | "science" | "history" | "language_arts" | "computer_science" | "physics" | "chemistry" | "biology";
/**
 * Educational content resource interface
 */
export interface EducationalContentResource {
    id: string;
    title: string;
    content: string;
    type: ContentType;
    subject: Subject;
    level: EducationalLevel;
    keywords: string[];
    createdAt: Date;
    updatedAt?: Date;
}
/**
 * Types of user interactions within a learning session
 */
export type InteractionType = "question" | "answer" | "explanation_request" | "practice_request" | "quiz_attempt" | "feedback";
/**
 * Session message structure
 */
export interface SessionMessage {
    role: "user" | "assistant";
    content: string;
    timestamp: Date;
    interactionType: InteractionType;
    relatedContentIds?: string[];
}
/**
 * Learning session resource interface
 */
export interface LearningSessionResource {
    id: string;
    userId: string;
    subject: Subject;
    level: string;
    startTime: Date;
    endTime?: Date;
    active: boolean;
    messages: SessionMessage[];
    feedback?: string;
}
/**
 * Learning style preferences
 */
export type LearningStyle = "visual" | "auditory" | "reading_writing" | "kinesthetic" | "social" | "solitary";
/**
 * Progress level for a subject
 */
export interface SubjectProgress {
    level: number;
    topics: Record<string, number>;
    lastActivity?: Date;
    completedSessions: number;
    completedContent: string[];
}
/**
 * Recommendation for learning content
 */
export interface LearningRecommendation {
    contentId: string;
    relevanceScore: number;
    reason: string;
    timestamp: Date;
}
/**
 * User profile resource interface
 */
export interface UserProfileResource {
    id: string;
    name: string;
    email?: string;
    createdAt: Date;
    learningStyles: LearningStyle[];
    subjectProgress: Record<Subject, SubjectProgress>;
    recommendations: LearningRecommendation[];
    goals: string[];
    streak: number;
    lastActive?: Date;
    badges: string[];
    totalLearningTime: number;
}
/**
 * Resource type for learning resources
 */
export declare enum ResourceType {
    ARTICLE = "article",
    VIDEO = "video",
    EXERCISE = "exercise",
    BOOK = "book",
    COURSE = "course"
}
/**
 * Resource interface for learning paths
 */
export interface Resource {
    title: string;
    type: ResourceType;
    url?: string;
    description: string;
}
/**
 * Learning step interface
 */
export interface LearningStep {
    title: string;
    description: string;
    timeEstimate: string;
    resources: Resource[];
    concepts: string[];
}
/**
 * Learning path resource interface
 */
export interface LearningPathResource {
    id: string;
    userId: string;
    subject: string;
    topic: string;
    overview: string;
    difficultyLevel: string;
    estimatedCompletionTime: string;
    prerequisites: string[];
    steps: LearningStep[];
    createdAt: Date;
    updatedAt: Date;
}
