import { StudentsService } from './students.service';
export declare class StudentsController {
    private readonly studentsService;
    constructor(studentsService: StudentsService);
    getDashboard(req: any): Promise<{
        welcomeMessage: string;
        subtitle: string;
        liveSession: any;
        progress: {
            currentHours: number;
            totalHours: number;
            percentage: number;
        };
        timetable: any;
        announcements: any;
        nextDeadlines: {
            id: number;
            title: string;
            timeLeft: string;
        }[];
    }>;
    getCourses(req: any): Promise<({
        assignments: {
            id: number;
            status: string;
            type: import("@prisma/client").$Enums.AssignmentType;
            description: string | null;
            title: string;
            courseId: number;
            dueDate: Date;
            maxPoints: number;
        }[];
    } & {
        id: number;
        level: string | null;
        createdAt: Date;
        updatedAt: Date;
        description: string | null;
        title: string;
        code: string;
        instructor: string | null;
        category: string;
        credits: number;
        semester: number | null;
        academicYear: string | null;
        language: string | null;
        learningOutcomes: string[];
        capacity: number | null;
        isPublished: boolean;
    })[]>;
    enroll(req: any, id: number): Promise<any>;
    getCourse(id: number): Promise<{
        assignments: {
            id: number;
            status: string;
            type: import("@prisma/client").$Enums.AssignmentType;
            description: string | null;
            title: string;
            courseId: number;
            dueDate: Date;
            maxPoints: number;
        }[];
    } & {
        id: number;
        level: string | null;
        createdAt: Date;
        updatedAt: Date;
        description: string | null;
        title: string;
        code: string;
        instructor: string | null;
        category: string;
        credits: number;
        semester: number | null;
        academicYear: string | null;
        language: string | null;
        learningOutcomes: string[];
        capacity: number | null;
        isPublished: boolean;
    }>;
    getAssignments(req: any): Promise<({
        course: {
            id: number;
            level: string | null;
            createdAt: Date;
            updatedAt: Date;
            description: string | null;
            title: string;
            code: string;
            instructor: string | null;
            category: string;
            credits: number;
            semester: number | null;
            academicYear: string | null;
            language: string | null;
            learningOutcomes: string[];
            capacity: number | null;
            isPublished: boolean;
        };
    } & {
        id: number;
        status: string;
        type: import("@prisma/client").$Enums.AssignmentType;
        description: string | null;
        title: string;
        courseId: number;
        dueDate: Date;
        maxPoints: number;
    })[]>;
    getProfile(req: any): Promise<{
        id: number;
        fullName: string;
        email: string;
        phone: string;
        academicProgram: string;
        gender: string | null;
        academicId: string | null;
        dob: Date | null;
        avatar: string | null;
        level: string | null;
        role: import("@prisma/client").$Enums.Role;
        status: import("@prisma/client").$Enums.Status;
        emailVerified: boolean;
        otp: string | null;
        otpExpires: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    updateProfile(req: any, updateData: any): Promise<{
        id: number;
        fullName: string;
        email: string;
        phone: string;
        academicProgram: string;
        gender: string | null;
        academicId: string | null;
        dob: Date | null;
        avatar: string | null;
        level: string | null;
        role: import("@prisma/client").$Enums.Role;
        status: import("@prisma/client").$Enums.Status;
        emailVerified: boolean;
        otp: string | null;
        otpExpires: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    getSchedule(req: any): Promise<any>;
}
