import type { ChainModifiers, Entry, EntryFieldTypes, EntrySkeletonType, LocaleCode } from 'contentful' import {Author, AuthorSkeleton} from "./author"; import {ContentImage} from "../lib/contentful/contentImage"; import {BlogPostCategorySkeleton} from "./blogPostCategory"; import {WidgetMedia, WidgetMediaSkeleton} from "./blogWidgets/widgetMedia"; import {WidgetParagraph, WidgetParagraphSkeleton} from "./blogWidgets/widgetParagraph"; export interface BlogPostFields { title?: EntryFieldTypes.Symbol slug: EntryFieldTypes.Symbol excerpt: EntryFieldTypes.Symbol listImage?: EntryFieldTypes.AssetLink author?: AuthorSkeleton category: BlogPostCategorySkeleton createdAt?: EntryFieldTypes.Date body?: Array } export interface BlogPostFields extends BlogPostFields{ body: Array } export interface BlogPost { title: string slug: string excerpt: string listImage: ContentImage | null author: Author | null category: string createdAt: string body: Array } export type BlogPostSkeleton = EntrySkeletonType export type BlogPostEntry = Entry< BlogPostSkeleton, Modifiers, Locales >