export interface Student { id: number name: string first_name: string last_name: string avatar_url: string display_behaviour: boolean display_parent_behaviour: boolean display_homework: boolean display_rewards: boolean display_detentions: boolean display_report_cards: boolean display_classes: boolean display_announcements: boolean display_attendance: boolean display_attendance_type: string display_attendance_percentage: boolean display_activity: boolean display_mental_health: boolean display_timetable: boolean is_disabled: boolean display_two_way_communications: boolean display_absences: boolean can_upload_attachments: string | null display_event_badges: boolean display_avatars: boolean display_concern_submission: boolean display_custom_fields: boolean pupil_concerns_help_text: string allow_pupils_add_timetable_notes: boolean announcements_count: number messages_count: number pusher_channel_name: string has_birthday: boolean has_new_survey: boolean survey_id: number | null detention_alias_plural_uc: string } export interface GetActivityOptions { from?: string to?: string } export interface ActivityTimelinePoint { positive: number negative: number name: string start: string end: string } export interface ActivityResponse { timeline: Array positiveReasons: Record negative_reasons: Record other_positive: Array other_negative: Array other_positive_count: Array other_negative_count: Array } export interface GetBehaviourOptions { from?: string to?: string last_id?: string } export interface BehaviourPoint { id: number type: string polarity: string reason: string score: number timestamp: string timestamp_custom_time: string | null style: { border_color: string | null custom_class: string | null } pupil_name: string lesson_name: string teacher_name: string room_name: string | null note: string _can_delete: string detention_date: string | null detention_time: string | null detention_location: string | null detention_type: string | null } export type BehaviourResponse = Array export type DisplayDate = 'due_date' | 'issue_date' export interface GetHomeworkOptions { displayDate?: DisplayDate fromDate?: string toDate?: string } export interface Homework { lesson: string subject: string teacher: string homework_type: string id: number title: string meta_title: string description: string issue_date: string due_date: string completion_time_unit: string completion_time_value: string publish_time: string status: { id: number state: null mark: null mark_relative: number ticked: 'yes' | 'no' allow_attachments: string first_seen_date: string last_seen_date: string attachments: Array has_feedback: boolean } validated_links: Array validated_attachments: Array } export type HomeworksResponse = Array export interface GetLessonsOptions { date: string } export interface Lesson { teacher_name: string lesson_name: string subject_name: string is_alternative_lesson: boolean period_name: string period_number: string room_name: string date: string start_time: string end_time: string key: number note_abstract: string note: string pupil_note_abstract: string pupil_note: string pupil_note_raw: string } export type LessonsResponse = Array