import { Subject } from '@skolplattformen/curriculum' ; export interface Cookie { name : string ; value : string ; path ? : string ; domain ? : string ; version ? : string ; expires ? : string ; secure ? : boolean ; httpOnly ? : boolean ; } export interface CookieManager { setCookie : ( cookie : Cookie , url : string ) => Promise < void > ; getCookies : ( url : string ) => Promise < Cookie [ ] > ; setCookieString : ( cookieString : string , url : string ) => Promise < void > ; getCookieString : ( url : string ) => Promise < string > ; clearAll : ( ) => Promise < void > ; removeAllCookies ? : ( ) => Promise < void > ; } export interface Headers { get ( name ) : string | null ; } export interface Response { headers : Headers ; ok : boolean ; status : number ; statusText : string ; text : ( ) => Promise < string > ; json : ( ) => Promise < any > ; } export interface AuthTicket { order : string ; token : string ; } export interface export interface CalendarItem { id : number ; title : string ; description ? : string ; location ? : string ; startDate ? : string ; endDate ? : string ; allDay ? : boolean ; } export interface export interface EtjanstChild { id : string ; type { string } memberof sdsId : string ; name : string ; type { string } memberof status ? : string ; schoolId ? : string ; } export interface Child extends EtjanstChild , Skola24Child { } export interface export interface Classmate { sisId : string ; className ? : string ; firstname : string ; lastname : string ; guardians : Guardian [ ] ; } export interface Fetch { ( url , init ? ) : Promise < Response > ; } export interface export interface Guardian { email ? : string ; firstname : string ; lastname : string ; mobile ? : string ; address ? : string ; } export interface export interface NewsItem { id : string ; author ? : string ; header ? : string ; intro ? : string ; body ? : string ; published : string ; modified ? : string ; imageUrl ? : string ; fullImageUrl ? : string ; imageAltText ? : string ; } export interface export interface Notification { id : string ; sender : string ; dateCreated : string ; dateModified : string ; message : string ; url : string ; category : string | null ; type : string ; } export interface RequestInit { headers ? : any ; method ? : string ; body ? : string ; /**
     * Set to `manual` to extract redirect headers, `error` to reject redirect */ redirect ? : string ; } export interface export interface ScheduleItem { title : string ; description ? : string ; location ? : string ; startDate ? : string ; endDate ? : string ; oneDayEvent : boolean ; allDayEvent : boolean ; } export interface MenuItem { title : string ; description : string ; } export interface MenuList { selectedWeek : number ; menus : MenuListItem [ ] ; } export interface MenuListItem { week : string ; mon : string ; tue : string ; wed : string ; thu : string ; fri : string ; } export interface User { personalNumber ? : string ; isAuthenticated ? : boolean ; firstName ? : string ; lastName ? : string ; email ? : string | null ; notificationId ? : string ; } export interface Skola24Child { schoolGuid ? : string ; unitGuid ? : string ; schoolID ? : string ; timetableID ? : string ; personGuid ? : string ; firstName ? : string ; lastName ? : string ; } export type SSOSystem = 'TimetableViewer' ; export interface TimetableEntry extends Subject { id : string ; teacher : string ; location : string ; timeStart : string ; timeEnd : string ; dayOfWeek : number ; blockName : string ; dateStart : string ; dateEnd : string ; } export interface Teacher { id : number ; sisId : string ; firstname : string ; lastname : string ; email ? : string ; phoneWork ? : string ; active : boolean ; status : string ; timeTableAbbreviation : string ; } export interface SchoolContact { title ? : string ; name ? : string ; phone ? : string ; email ? : string ; schoolName : string ; className : string ; }