import { Language } from '@skolplattformen/curriculum' import { EventEmitter } from 'events' import { DateTime } from 'luxon' import { LoginStatusChecker } from './loginStatus' import { CalendarItem, Classmate, MenuItem, NewsItem, Notification, User, Skola24Child, EtjanstChild, TimetableEntry, ScheduleItem, } from './types' export interface Api extends EventEmitter { isFake: boolean isLoggedIn: boolean getPersonalNumber(): string | undefined login(personalNumber?: string): Promise setSessionCookie(sessionCookie: string): Promise getSessionHeaders(url: string): Promise<{ [index: string]: string }> getUser(): Promise getChildren(): Promise getCalendar(child: EtjanstChild): Promise getClassmates(child: EtjanstChild): Promise getNews(child: EtjanstChild): Promise getNewsDetails(child: EtjanstChild, item: NewsItem): Promise getMenu(child: EtjanstChild): Promise getNotifications(child: EtjanstChild): Promise getSchedule(child: EtjanstChild, from: DateTime, to: DateTime): Promise getSkola24Children(): Promise getTimetable(child: Skola24Child, week: number, year: number, lang: Language): Promise logout(): Promise }