interface APIParams { offset?: number limit?: number sort?: string | "ASC" | "DESC" filter?: { [key: string]: any } count?: 1 } interface ContentBlock { layout: 1 | 2 | 3 | 4 title?: string subtitle?: string text?: string button_text?: string button_url?: string images?: ImageEntry[] } interface Content { id: string locale: string tags?: string[] path: string blocks: ContentBlock[] } interface GeneralInfo { id: string public: boolean meta: { metaTitle: string metaDescription: string metaTagRobots: string metaKeywords: string } person: { salutation: string firstname: string lastname: string additional: string street: string postcode: number city: string tel: string fax: string mobile: string email: string } media: { favicon: File brand: File mediaFiles: { title: string alternateText: string id: string file: File }[] } copyrightText: string insertTime: string updateTime: string } interface TibiArticle { id: string active: boolean content: string details: string image: File insertTime: string position: string subtitle: string title: string updateTime: string } interface File { lastModified?: number path: string size?: string src: string type: string } interface Gallery { id: string title: string variant: string items: { file: File title: string descrition: string alt: string }[] } interface Navigation { id: string ident: string locale: string items: NavigationItem[] insertTime: string updateTime: string } interface NavigationItem { settings: { title: string page: string items: NavigationItem[] url: { url: string target: string } } } interface Locale { key: string title?: string } interface GeneralImage { file: File[] id: string label: string }