export interface ImageDerivatives { links: Links; } export interface Links { coh_small: CohSmall; coh_xx_small: CohSmall; } export interface CohSmall { href: string; title: string; type: string; meta: Meta; } export interface Meta { rel: string; width: number; height: number; } export interface MediaCenterData { pageHeader: PageHeader; pageComponents: PageComponent[]; } export interface Datum { type: string; id: string; links: PurpleLinks; status: boolean; title: string; path: Path; body: null; meta_tags: null; banner: PageHeader[]; components: Components; } export interface PageHeader { type: string; id: string; links: PurpleLinks; banner_link: any[]; description: null; title: string; meta: BannerMeta; banner_image: BannerImage; } export interface BannerImageMeta { drupal_internal__target_id: number; } export interface BannerImage { type: string; id: string; links: PurpleLinks; description?: Description | null; meta: BannerImageMeta; image?: Image; name?: string; logo?: BannerImage; weight?: number; } export interface Description { value: string; format: string; processed: string; summary?: string; } export interface Image { type: string; id: string; links: ImageLinks; filename: string; uri: URI; filemime: string; status: boolean; meta: ImageMeta; } export interface ImageLinks { coh_small?: CohXxSmall; coh_xx_small?: CohXxSmall; self: Self; } export interface CohXxSmall { href: string; meta: CohXxSmallMeta; } export interface CohXxSmallMeta { width: string; height: string; rel: string[]; } export interface Self { href: string; } export interface ImageMeta { alt: string; title: string; width: number; height: number; imageDerivatives: ImageDerivatives; drupal_internal__target_id: number; } export interface URI { value: string; url: string; } export interface PurpleLinks { self: Self; } export interface PurpleMeta { drupal_internal__target_id: number; } export interface BannerMeta { target_revision_id: number; drupal_internal__target_id: number; } export interface Components { type: string; id: string; links: PurpleLinks; title: string; body: null; meta: PurpleMeta; paragraphs: ComponentsParagraph[]; } export interface ComponentsParagraph { type: string; id: string; links: PurpleLinks; meta: BannerMeta; components: PageComponent[]; } export interface PageComponent { type: string; id: string; links: PurpleLinks; subtitle?: null; title: string; meta: BannerMeta; item?: Item; paragraph?: PurpleParagraph[]; tag: BannerImage; description?: null; } export interface Item { type: string; id: string; links: PurpleLinks; year_widget_label: string; meta: BannerMeta; tabs: Tab[]; } export interface Tab { type: string; id: string; links: PurpleLinks; tab_name: string; meta: BannerMeta; media_center_items: MediaCenterItem[]; tag: BannerImage; } export interface MediaCenterItem { type: string; id: string; links: PurpleLinks; title: string; read_minutes: string; path: Path; published_year: string; meta: BannerImageMeta; media_center_type: MediaCenterType; newsroom_source: MediaCenterType; } export interface MediaCenterType { type: string; id: string; links: PurpleLinks; name: string; meta: BannerImageMeta; } export interface Link { uri: string; title: string; options: Options; } export interface Options { attributes: Attributes; } export interface Attributes { class: string[]; } export interface Path { alias: null | string; pid: number | null; langcode: string; } export interface PurpleParagraph { type?: string; id?: string; links?: PurpleLinks; meta?: BannerMeta; components?: FluffyComponent[]; image?: BannerImage[]; } export interface FluffyComponent { type: string; id: string; links: PurpleLinks; info: string; body: Description | null; title: string; meta: PurpleMeta; image: BannerImage; tag: BannerImage; } export interface ParagraphLinks { related: Self; self: Self; } export interface Jsonapi { version: string; meta: JsonapiMeta; parsed: boolean; } export interface JsonapiMeta { links: PurpleLinks; } export interface MediaCenterDataMeta { count: string; }