import { ResourceController } from "@defikitdotnet/agent-framework-backend";
import type { Request, Response } from "express";
import { LearningSessionResource } from "../models/LearningSession";
import { EducationModuleAdapter } from "../database/EducationModuleAdapter";
/**
 * Learning Session API controller
 */
export declare class LearningSessionController extends ResourceController<LearningSessionResource> {
    private educationModuleAdapter;
    constructor();
    setEducationModuleAdapter(adapter: EducationModuleAdapter): void;
    /**
     * Get learning sessions for a user using the database adapter
     */
    getUserLearningSessions(req: Request, res: Response): Promise<void>;
    /**
     * Get a learning session by ID using the database adapter
     */
    getLearningSession(req: Request, res: Response): Promise<void>;
    /**
     * Create a new learning session using the database adapter
     */
    createLearningSession(req: Request, res: Response): Promise<void>;
    /**
    * Update a learning session using the database adapter
    */
    updateLearningSession(req: Request, res: Response): Promise<void>;
    /**
     * Get learning path by ID using the database adapter
     */
    getDbLearningPath(req: Request, res: Response): Promise<void>;
    /**
    * Get learning paths for a user using the database adapter
    */
    getDbLearningPathsForUser(req: Request, res: Response): Promise<void>;
    /**
     * Create a new learning path using the database adapter
     */
    createDbLearningPath(req: Request, res: Response): Promise<void>;
    /**
     * Update a learning path using the database adapter
     */
    updateDbLearningPath(req: Request, res: Response): Promise<void>;
    /**
     * Start a new learning session
     */
    startSession(req: Request, res: Response): Promise<void>;
    /**
     * End an active learning session
     */
    endSession(req: Request, res: Response): Promise<void>;
    /**
     * Send a message in a learning session
     */
    sendMessage(req: Request, res: Response): Promise<void>;
    /**
     * Generate a learning path
     */
    generateLearningPath(req: Request, res: Response): Promise<void>;
    /**
     * Get all learning paths for a user
     */
    getUserLearningPaths(req: Request, res: Response): Promise<void>;
    /**
     * Get a specific learning path
     */
    getLearningPath(req: Request, res: Response): Promise<void>;
    /**
     * Get all sessions for a user
     */
    getUserSessions(req: Request, res: Response): Promise<void>;
    /**
     * Get active session for a user
     */
    getActiveSession(req: Request, res: Response): Promise<void>;
}
