import { IMessageServiceRs } from "../activities/activities.interface";
export interface RegisterNewAttendanceByEventRq {
    token: string;
    course_event: number;
    cod_code: number;
    is_attended: number;
    observation?: string;
}
export interface AddEventByCourseRq {
    token: string;
    course_code: number;
    date_event: Date;
    name_event: string;
    description_event: string;
}
export interface GetEventsByCourseCodeRq {
    token: string;
    course_code: number;
}
export interface GetEventByCodeRq {
    token: string;
    event_code: number;
}
export interface CourseAttendance {
    events: Event[] | null;
}
export interface Event {
    code: number;
    course_code: number;
    date_event: Date;
    name_event: string;
    description_event: string;
    attendances_report: AttendancesReport[] | null;
}
export interface AttendancesReport {
    cod_code: number;
    student_name: string;
    is_attended: number;
    observation: string;
}
export interface StudentAllData {
    code: number;
    name: string;
    last_name: string;
    nick_name?: string;
    email: string;
    email_ipt: string;
    role: number;
    service_hour: number;
    phone_indicative: number;
    phone_number: string;
    gender: number;
    birthdate?: Date;
    city: string;
    id_card_type: number;
    id_card: string;
    token: string;
    updated_at: Date;
}
export interface GetNotAttendancesByCodRq {
    token: string;
    cod_code: number;
}
export interface IServiceAllDataAttendanceRq {
    ip_applicant: string;
    status: number;
    message: MessageRq;
    data: IAllDataAttendanceRq[];
}
export interface IAllDataAttendanceRq {
    DataCourseEvent: DataCourseEventRq;
    Students: StudentElementRq[];
}
export interface DataCourseEventRq {
    code: number;
    course_code: number;
    date_event: Date;
    name_event: string;
    description_event: string;
    unit: string;
}
export interface StudentElementRq {
    Student: string;
    TotalAbsences: number;
    Attendance: AttendanceRq | null;
}
export interface AttendanceRq {
    code: number;
    course_event: number;
    cod_code: number;
    is_attended: number;
    observation: string;
}
export interface MessageRq {
    code: number;
    message: string;
}
export interface IRegisterNewAttendanceRq {
    token: string;
    attendance_taken: IAttendanceTakenRq[];
    course_code: number;
    course_event: number;
}
export interface IAttendanceTakenRq {
    student_code: string;
    attended: string;
    observation: string;
}
export interface IResponseAttendanceSaveRq {
    ip_applicant: string;
    status: number;
    message: MessageRq;
    data: IAttendanceSaveRq[];
}
export interface IAttendanceSaveRq {
    code: number;
    course_event: number;
    cod_code: number;
    is_attended: string;
    observation: string;
}
export interface IFullDataAttendanceRq {
    id_user: number;
    name: string;
    last_name: string;
    is_attended: number;
    observation: string;
}
export interface IUpdateAttendacenByCodeRq {
    token: string;
    code_attendance: number;
    new_attendance: number;
    new_observation: string;
}
export interface IAttendanceCodRq {
    token: string;
    cod_code: number;
}
export interface IGetAttendanceHistoryByStudentRs {
    ip_applicant: string;
    status: number;
    message: IMessageServiceRs;
    data: IGetDatumAttendanceHistoryByStudentRs[];
}
export interface IGetDatumAttendanceHistoryByStudentRs {
    code: number;
    course_event: CourseEvent;
    cod_code: number;
    is_attended: number;
    observation: string;
}
export interface CourseEvent {
    code: number;
    course_code: number;
    date_event: Date;
    name_event: string;
    description_event: string;
}
