courseApi: {    checkCourseCode: (code: string, token: string) => Promise<any>;    checkIfCourseExists: (inputs: checkIfCourseExists) => Promise<any>;    checkIfTopicGroupWithEmailExists: (        token: string,        email: string,        topicGroup: string,    ) => Promise<any>;    closeLectureByLectureId: (lectureid: string, token: string) => Promise<any>;    createCourse: (        courseData: CreateCourseInputs,        token: string,    ) => Promise<any>;    CreateLecture: (        topicname: string,        course: { code: string },        start_date: Date,        end_date: Date,        timeofday: string,        state: string,        token: string,    ) => Promise<any>;    deleteCourse: (courseId: number, token: string) => Promise<any>;    deleteLectureByLectureId: (        lectureid: string,        token: string,    ) => Promise<any>;    deleteStudentFromCourse: (        token: string,        usercourseid: undefined | number,    ) => Promise<any>;    deleteTopicGroupAndTopicsByUserid: (        selectedGroup: any,        token: string,    ) => Promise<any>;    excelInput: (inputs: CreateCourseFile, token: string) => Promise<any>;    fetchStudentsPaginationByInstructorId: (        userId: number,        token: string,        limit?: number,        page?: number,    ) => Promise<any>;    fetchTeacherOwnLectures: (teacherId: string, token: string) => Promise<any>;    getAllCourseInfoByUserEmail: (token: string) => Promise<any>;    getAllCourses: (token: string) => Promise<any>;    getAllCoursesByInstructorEmail: (        email: string,        token: string,    ) => Promise<any>;    getAllTopicGroupsAndTopicsInsideThem: (token: string) => Promise<any>;    getAllTopicGroupsAndTopicsInsideThemByUserid: (        email: string,        token: string,    ) => Promise<any>;    getAttendanceInfoByUsercourseid: (        usercourseid: number,        token: string,    ) => Promise<any>;    getCourseDetailByCourseId: (        courseId: string,        token: string,    ) => Promise<any>;    getCourseReservations: (        inputs: getCourseReservations,        token: string,    ) => Promise<any>;    getDetailsByCourseId: (courseId: string, token: string) => Promise<any>;    getLectureInfo: (lectureid: string, token: string) => Promise<any>;    getLecturesAndAttendances: (        courseId: undefined | string,        token: string,    ) => Promise<any>;    getOpenLecturesByCourseid: (        courseid: undefined | string | () => string,        token: string,    ) => Promise<any>;    getOpenLecturesByTeacher: (        teacherId: number,        token: string,    ) => Promise<any>;    getStudentAndTopicsByUsercourseid: (        token: string,        usercourseid: number,    ) => Promise<any>;    getStudentsByCourseId: (courseId: string, token: string) => Promise<any>;    getStudentsByInstructorId: (        instructorId: number,        token: string,    ) => Promise<any>;    modifyCourse: (        token: null | string,        courseId: undefined | string,        modifiedData: { [key: string]: any },    ) => Promise<any>;    updateAttendanceStatus: (        attendanceid: number,        status: number,        token: null | string,    ) => Promise<any>;    updateOwnedTopicgroupandtheirtopics: (        topicGroup: any,        topics: any,        email: string,        token: string,    ) => Promise<any>;    updateStudentCourses: (        token: string,        userid: undefined | number,        courseid: undefined | number,    ) => Promise<any>;    updateUserCourseTopics: (        token: string,        usercourseid: number,        modifiedTopics: any,    ) => Promise<any>;} = ... Type declaration
- checkCourseCode: (code: string, token: string) => Promise<any>
- checkIfCourseExists: (inputs: checkIfCourseExists) => Promise<any>
- checkIfTopicGroupWithEmailExists: (token: string, email: string, topicGroup: string) => Promise<any>
- closeLectureByLectureId: (lectureid: string, token: string) => Promise<any>
- createCourse: (courseData: CreateCourseInputs, token: string) => Promise<any>
- CreateLecture: (
 topicname: string,
 course: { code: string },
 start_date: Date,
 end_date: Date,
 timeofday: string,
 state: string,
 token: string,
 ) => Promise<any>
- deleteCourse: (courseId: number, token: string) => Promise<any>
- deleteLectureByLectureId: (lectureid: string, token: string) => Promise<any>
- deleteStudentFromCourse: (token: string, usercourseid: undefined | number) => Promise<any>
- deleteTopicGroupAndTopicsByUserid: (selectedGroup: any, token: string) => Promise<any>
- excelInput: (inputs: CreateCourseFile, token: string) => Promise<any>
- fetchStudentsPaginationByInstructorId: (userId: number, token: string, limit?: number, page?: number) => Promise<any>
- fetchTeacherOwnLectures: (teacherId: string, token: string) => Promise<any>
- getAllCourseInfoByUserEmail: (token: string) => Promise<any>
- getAllCourses: (token: string) => Promise<any>
- getAllCoursesByInstructorEmail: (email: string, token: string) => Promise<any>
- getAllTopicGroupsAndTopicsInsideThem: (token: string) => Promise<any>
- getAllTopicGroupsAndTopicsInsideThemByUserid: (email: string, token: string) => Promise<any>
- getAttendanceInfoByUsercourseid: (usercourseid: number, token: string) => Promise<any>
- getCourseDetailByCourseId: (courseId: string, token: string) => Promise<any>
- getCourseReservations: (inputs: getCourseReservations, token: string) => Promise<any>
- getDetailsByCourseId: (courseId: string, token: string) => Promise<any>
- getLectureInfo: (lectureid: string, token: string) => Promise<any>
- getLecturesAndAttendances: (courseId: undefined | string, token: string) => Promise<any>
- getOpenLecturesByCourseid: (courseid: undefined | string | () => string, token: string) => Promise<any>
- getOpenLecturesByTeacher: (teacherId: number, token: string) => Promise<any>
- getStudentAndTopicsByUsercourseid: (token: string, usercourseid: number) => Promise<any>
- getStudentsByCourseId: (courseId: string, token: string) => Promise<any>
- getStudentsByInstructorId: (instructorId: number, token: string) => Promise<any>
- modifyCourse: (
 token: null | string,
 courseId: undefined | string,
 modifiedData: { [key: string]: any },
 ) => Promise<any>
- updateAttendanceStatus: (attendanceid: number, status: number, token: null | string) => Promise<any>
- updateOwnedTopicgroupandtheirtopics: (topicGroup: any, topics: any, email: string, token: string) => Promise<any>
- updateStudentCourses: (
 token: string,
 userid: undefined | number,
 courseid: undefined | number,
 ) => Promise<any>
- updateUserCourseTopics: (token: string, usercourseid: number, modifiedTopics: any) => Promise<any>