interface Pages { [key: string]: Page } interface Page { path: string teaserHomepage: teaserHomepage sectionHomepage: Row rows: Row[] id: string } interface teaserHomepage { showTeaser: boolean subtitle: string title: string description: string } interface Row { topTitle: string subTitle: string title: string pageTitle: string columns: Column[] backgroundImage: FileField } interface Column { contentType: | "image" | "iconCycleSquare" | "iconCycleCircle" | "text" | "infoBoard" | "worldCard" | "nestedCard" | "topDown" | "personPreview" | "boxList" | "extendableBox" | "textLink" | "iconBlock" | "pageLinkBlocks" | "publication" image?: FileField iconCycleSquare?: IconCycleSquare iconCycleCircle?: IconCycleCircle text: string infoBoard: InfoBoard worldCard: WorldCard nestedCard: NestedCard topDown: TopDown personPreview: PersonPreview boxList: BoxList extendableBox: ExtendableBox iconBlocks: iconBlock[] pageLinkBlocks: pageLinkBlock[] networkEvents: NetworkEvent[] publication: Publication } interface Publication { file: FileField content: string } interface NetworkEvent { beginnDate: Date endDate: Date title: string file: FileField } interface iconBlock { icon: FileField bigText: string smallText: string } interface pageLinkBlock { name: string rowNr: number page: string } interface IconCycleSquare { boxes: Box[] } interface IconCycleCircle { boxes: Box[] innerText: string } interface Box { icon: FileField text: string circle: boolean } interface InfoBoard { title: string icon: FileField text: string } interface WorldCard { cards: Card[] } interface Card { image: FileField title: string properties: number[] } interface NestedCard { title: string description: string } interface TopDown { rows: TopDownRow[] } interface TopDownRow { initial: string rest: string description: string } interface PersonPreview { initalImage: FileField hoverImage: FileField name: string } interface BoxList { names: { name: string }[] } interface ExtendableBox { title: string text: string } interface FileField { path: string src: string type: string } interface TextLink { text: string link: string } interface Navigation { tree: number elemente: NavElement[] } interface NavElement { name: string page: string }