/** * Backend entry point for the Education Module * Exports all backend components for use in external systems */ import { Express } from "express"; import cors from "cors"; export * from "./models/index"; export * from "./repositories/index"; export * from "./services/index"; export * from "./controllers/index"; export { CourseService } from "./services/CourseService"; export { CategoryService } from "./services/CategoryService"; export { SectionService } from "./services/SectionService"; export { LectureService } from "./services/LectureService"; export { QuizService } from "./services/QuizService"; export { QuizQuestionService } from "./services/QuizQuestionService"; export { QuizSubmissionService } from "./services/QuizSubmissionService"; export { AiContentService } from "./services/AiContentService"; export { EnrollmentService } from "./services/EnrollmentService"; export { TeacherService } from "./services/TeacherService"; export { TeacherRepository } from "./repositories/TeacherRepository"; export { TeacherController } from "./controllers/TeacherController"; export { authenticateStudent } from "./middleware/auth"; export { SqliteAdapter } from "./database/SqliteAdapter"; export { createAiContentRoutes } from "./routes/aiContentRoutes"; export { createUserRoutes } from "./routes/userRoutes"; export { createH5PRoutes } from "./routes/h5pRoutes"; export { createAuthRoutes } from "./routes/authRoutes"; export { errorHandler } from "./middleware/errorHandler"; export { registerControllers } from "./utils/controller-registry"; export { createTestStudentAccounts, createTestTeacherAccounts } from "./utils/createTestAccounts"; /** * Configuration interface for the Education Module API */ export interface EducationModuleConfig { port?: number; apiPrefix?: string; dbPath?: string; jwtSecret?: string; corsOptions?: cors.CorsOptions; enableStaticFiles?: boolean; staticFilesPath?: string; aiApiKey?: string; } /** * Initialize the Education Module API with optional configuration * This is a simplified implementation - in a real scenario, you would: * 1. Import and initialize all repositories * 2. Create service instances with repositories * 3. Create controllers with services * 4. Set up routes with controllers * * @param config - Optional configuration object * @returns An Express application instance */ export declare function initializeEducationAPI(customConfig?: Partial): Promise; /** * Helper function to mount the Education Module API in an existing Express application * * @param app - The parent Express application * @param path - The path where the Education Module API will be mounted * @param config - Optional configuration object * @returns The parent Express application with the Education Module API mounted */ export declare function mountEducationAPI(app: Express, mountPath?: string, config?: Partial): Promise; export default initializeEducationAPI;