import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { IPTGeneralService } from '../service-enviroments';
import { GetCourseByTypeRq, GetStudentByCourse, GetLastStudentCodRq, GetStudentByTeacherRq, GetAllStudentByTeacherRq, ClassRoomRQI, IManageCreatedScherduleEventsRq, IParamsObtainCoursesByTypeCourseInCreatedCoursesRs, IgetAvailableCoursesByLevStaModalRq, IGetCoursesAvailableForExchangeRq } from '../../models/academic/academic.component';
import { UserTokenRq } from '../../models/user/user-rq.model';
import { GetStudentsByCourseRq } from '../../models/student/student.interface';
import { GetCodByStudentCourseRq } from '../../models/cod/cod-rq.model';
import { IChangeOfStudentGroupRq, IgetCodBcourseByModalityAndDisponibilityRq, IgetCodBcourseByModalityAndLevelAndCourseTypeRq } from '../../models/course/course-rq.model';
import { IObtainCoursesByDifferentParametersRq, IObtainCoursesStatusByAreaRq, IObtainCoursesStatusByDifferentParametersRq, IgetCodBcourseByModalityAndStatusAndLevelInglishRq } from '../../models/course/courses.model';
import { INotesStudentRq, NotesStudents } from '../../models/notes/INotesTemplate';
import { IAttendanceCodRq } from '../../models/attendance/attendance.interface';
import * as i0 from "@angular/core";
export declare class AcademicService extends IPTGeneralService {
    private http;
    private SERVICE_URL;
    constructor(http: HttpClient);
    getCourseByType(params: GetCourseByTypeRq): Observable<any>;
    getStudentByCourse(params: GetStudentByCourse): Observable<any>;
    obtainLastStudentCod(params: GetLastStudentCodRq): Observable<any>;
    getCodGenDataStudent(codeStudent: number): Observable<any>;
    getAllCoursesInitialized(params: UserTokenRq): Observable<any>;
    getStudentByTeacher(params: GetStudentByTeacherRq): Observable<any>;
    getAllStudentByTeacher(params: GetAllStudentByTeacherRq): Observable<any>;
    getAllStudentByCourse(params: GetStudentsByCourseRq): Observable<any>;
    obtainStudentsByTeacher(params: GetStudentByTeacherRq): Observable<any>;
    getAllCodActiveByCourse(params: GetStudentsByCourseRq): Observable<any>;
    createClassroom(params: ClassRoomRQI): Observable<any>;
    getCodByStudentAndCourse(params: GetCodByStudentCourseRq): Observable<any>;
    getCodBcourseByModalityAndDisponibility(params: IgetCodBcourseByModalityAndDisponibilityRq): Observable<any>;
    getCodBcourseByModalityAndStatusAndLevelInglish(params: IgetCodBcourseByModalityAndStatusAndLevelInglishRq): Observable<any>;
    manageCreatedScherduleEvents(params: IManageCreatedScherduleEventsRq): Observable<any>;
    obtainCoursesByDifferentParameters(params: IObtainCoursesByDifferentParametersRq): Observable<any>;
    getCodBcourseByModalityAndlevelEnglishAndCourseType(params: IgetCodBcourseByModalityAndLevelAndCourseTypeRq): Observable<any>;
    obtainCoursesTheoryByDifferentParameters(params: IObtainCoursesByDifferentParametersRq): Observable<any>;
    obtainCourseTheoryByCode(courseCode: number): Observable<any>;
    obtainCoursesTheoryByDiffParametersForNotes(params: IObtainCoursesByDifferentParametersRq): Observable<any>;
    obtainCoursesByTypeCoursesInCreatdCourseRs(params: IParamsObtainCoursesByTypeCourseInCreatedCoursesRs): Observable<any>;
    obtainAllCodAirByCourse(params: GetStudentsByCourseRq): Observable<any>;
    obtainCourseStatusByParameters(params: IObtainCoursesStatusByDifferentParametersRq): Observable<any>;
    obtainCourseStatusByArea(params: IObtainCoursesStatusByAreaRq): Observable<any>;
    getEventsByCourseCode(coudeCourse: number): Observable<any>;
    obtainPlansCourseAvalaibleForPosibleStudentByAgeAndGrade(params: any): Observable<any>;
    ObtainGradesByStudent(param: INotesStudentRq): Observable<any>;
    ObtainLevelsCodsByStudent(param: NotesStudents): Observable<any>;
    getAttendanceByCod(param: IAttendanceCodRq): Observable<any>;
    getInfoStudentCourseByCod(param: IAttendanceCodRq): Observable<any>;
    getCourseTypeByAcademicPlan(codeAcademic: number): Observable<any>;
    getAvailableCoursesByModalityStatusAndLevel(param: IgetAvailableCoursesByLevStaModalRq): Observable<any>;
    obtainCoursesAvailableSpacesAndClassesViewed(param: IgetAvailableCoursesByLevStaModalRq): Observable<any>;
    getCoursesAvailableForStudentChange(param: IGetCoursesAvailableForExchangeRq): Observable<any>;
    changeOfStudentGroup(param: IChangeOfStudentGroupRq): Observable<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AcademicService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AcademicService>;
}
