import type { Request, Response, NextFunction } from "express"; import { EducationModuleAdapter } from "../database/EducationModuleAdapter"; import type { IDatabaseAdapter } from "@elizaos/core"; import { StudentRepository } from "../repositories/StudentRepository"; import { QuizService } from "../services/QuizService"; import { QuizQuestionService } from "../services/QuizQuestionService"; import { QuizSubmissionService } from "../services/QuizSubmissionService"; /** * Student Controller - Handles student access, PROFILE management, and LOGIN */ export declare class StudentController { private quizService; private quizQuestionService; private quizSubmissionService; private educationModuleAdapter; private mainDatabaseAdapter; private studentRepository; path: string; constructor(mainDatabaseAdapter: IDatabaseAdapter, quizService: QuizService, quizQuestionService: QuizQuestionService, quizSubmissionService: QuizSubmissionService, studentRepository: StudentRepository); setEducationModuleAdapter(adapter: EducationModuleAdapter): void; initRoutes(): void; /** * Register a new student profile */ registerStudent(req: Request, res: Response, next: NextFunction): Promise; /** * Get published content for students */ getPublishedContent(req: Request, res: Response): Promise; /** * Get specific content by ID */ getContentById(req: Request, res: Response): Promise; /** * Submit assessment/quiz answers (Old endpoint - likely unused) */ submitAssessment(req: Request, res: Response): Promise; /** * Get feedback on submitted assessment */ getAssessmentFeedback(req: Request, res: Response): Promise; /** * Submit answers for a specific Quiz identified by quizId */ submitQuiz(req: Request, res: Response): Promise; /** * Get courses for a specific teacher * Requires student authentication */ getCoursesByTeacherId(req: Request, res: Response): Promise; /** * Login a student using email and password (Moved from AuthController) */ loginStudent(req: Request, res: Response, next: NextFunction): Promise; }